well, I guess it''s time to grab the cow at the horns (dutch say)
I mean, things that aren''t clear are just rubbish, just like the wireless amp
I mean open source, should be open, most real developments I''ve seen so far are in russian or german (wich I speak a little). that''s not really open.
why not share importand things in english
anyway, you got my word on the how-to
hi people,
i have problems compiling the toolchain. here is what i do and what problems i encounter
my setup
* distro MiniMe2008 (a minimal PcLinuxOs)
* make (GNU Make 3.81)
* gcc (gcc (GCC) 4.1.1 20060724 (prerelease) (4.1.1-4pclos2007))
* ld 4.1.1 ( GNU ld version 2.16.91.0.7 20060317 )
* bash (GNU bash, version 3.1.17(1)-release (i586-mandriva-linux-gnu))
this is reported during the build
I try to cross-compile the toolchain for OPTWARE_TARGET=olegCode:Checking build system dependencies: CC clean: Ok CXX clean: Ok CPP clean: Ok CFLAGS clean: Ok CXXFLAGS clean: Ok sed works: Ok which installed: Ok GNU make version '3.81': Ok C compiler '/usr/bin/gcc' C compiler version '4.1.1': Ok bison installed: Ok flex installed: Ok gettext installed: Ok Build system dependencies: Ok
when making oleg-target i see the following message printed to standard outCode:mkdir -p /opt/slug cd /opt/slug svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware cd optware make oleg-target cd oleg make directories make ipkg-utils make toolchain
this may not be a problem as everything else goes well and i can proceed with making directories and ipkg-utils without problems. when I make this two targets i get a similar warning from make, but this time for the mipsel gcc versionCode:make: /opt/slug/optware/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/bin/armv5b-softfloat-linux-gcc: Command not found
the printed path is constructed in the root MakefileCode:make: /opt/slug/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc: Command not found
TARGET_CROSS is defined in make/toolchain-oleg.mkCode:TARGET_CC=$(TARGET_CROSS)gcc
when building a target, all makefiles in the make directory are included in the root Makefile and one of them seems to use TARGET_CC variable even it is not used to build the corresponding package and complains about the non-existence of the directory and binary.Code:TARGET_CROSS = $(TOOL_BUILD_DIR)/$(TARGET_ARCH)-$(TARGET_OS)/$(CROSS_CONFIGURATION)/bin/$(TARGET_ARCH)-$(TARGET_OS)-
ok, this is not a problem now but just polutes the log output a bit. the first serious problem occurs when making the toolchain. while building, the kernel headers for the oleg-kernel are downloaded from the wrong location http://www.uclibc.org/downloads/toolchain/
i temporary work around this by inserting the following line in the kernel-headers.mk file which is located in oleg/toolchain/buildroot/toolchain/kernel-headers/Code:wget --passive-ftp -nd -P /opt/slug/optware/oleg/toolchain/buildroot/dl http://www.uclibc.org/downloads/toolchain/linux-libc-headers-oleg.tar.bz2 --2008-06-02 17:37:49-- http://www.uclibc.org/downloads/toolchain/linux-libc-headers-oleg.tar.bz2 Resolving www.uclibc.org... 140.211.166.42 Connecting to www.uclibc.org|140.211.166.42|:80... connected. HTTP request sent, awaiting response... 404 Not Found
i specified the server where the oleg-headers can be found . now i can proceed with right(?) headersCode:include toolchain/kernel-headers/kernel-headers-new.makefile include toolchain/kernel-headers/kernel-headers-old.makefile # the correct download location LINUX_HEADERS_SITE=http://www.wlan-sat.com/boleo/optware
but in the next step, the patching of uclibc failsCode:... wget --passive-ftp -nd -P /opt/slug/optware/oleg/toolchain/buildroot/dl http://www.wlan-sat.com/boleo/optware/linux-libc-headers-oleg.tar.bz2 --2008-06-02 17:47:51-- http://www.wlan-sat.com/boleo/optware/linux-libc-headers-oleg.tar.bz2 Resolving www.wlan-sat.com... 212.18.63.81 Connecting to www.wlan-sat.com|212.18.63.81|:80... connected. ...
this comes due to the fact that the latest snapshot version of uclibc gets downloded. the snapshot seems to be version 0.9.29(?) but the patches are for version 0.9.28. while configuring the kernel, there was no possibility to select another uclibc version as the snapshot was pre-selected.Code:... wget --passive-ftp -nd -P /opt/slug/optware/oleg/toolchain/buildroot/dl http://www.uclibc.org/downloads/snapshots/uClibc-snapshot.tar.bz2 --2008-06-02 17:48:21-- http://www.uclibc.org/downloads/snapshots/uClibc-snapshot.tar.bz2 Resolving www.uclibc.org... 140.211.166.42 Connecting to www.uclibc.org|140.211.166.42|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3534786 (3.4M) [application/x-tar] Saving to: `/opt/slug/optware/oleg/toolchain/buildroot/dl/uClibc-snapshot.tar.bz2' 100%[=======================================================================================================================================>] 3,534,786 11.0K/s in 6m 20s 2008-06-02 17:54:42 (9.09 KB/s) - `/opt/slug/optware/oleg/toolchain/buildroot/dl/uClibc-snapshot.tar.bz2' saved [3534786/3534786] mkdir -p /opt/slug/optware/oleg/toolchain/buildroot/toolchain_build_mipsel bzcat /opt/slug/optware/oleg/toolchain/buildroot/dl/uClibc-snapshot.tar.bz2 | tar -C /opt/slug/optware/oleg/toolchain/buildroot/toolchain_build_mipsel -xf - toolchain/patch-kernel.sh /opt/slug/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/uClibc toolchain/uClibc/ uClibc-0.9.29\*.patch cat ../../sources/buildroot/uClibc-patches/*.patch | patch -d /opt/slug/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/uClibc -p1 patching file Makefile Hunk #1 FAILED at 163. 1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej patching file libc/sysdeps/linux/mips/sigaction.c Hunk #1 FAILED at 49. 1 out of 1 hunk FAILED -- saving rejects to file libc/sysdeps/linux/mips/sigaction.c.rej patching file libc/sysdeps/linux/mips/pipe.S Hunk #1 FAILED at 10. ...
i also worked around that problem by inserting the following line in buildroot.mk which is located in oleg/make/Code:uClibc C library Version 1. uClibc 0.9.28 (BR2_UCLIBC_VERSION_0_9_28) > 2. daily snapshot (BR2_UCLIBC_VERSION_SNAPSHOT) choice[1-2?]: 2 Date (yyyymmdd) of snapshot or 'snapshot' for latest (BR2_USE_UCLIBC_SNAPSHOT) [snapshot] (NEW)
now uclibc 0.9.28 is used and the build comes pretty far until uclibc++ has to be build. this fails with the following errorsCode:247 ... 247 # change uclibc version from snapshot to 0.9.28 248 sed -i -e 's|^# BR2_UCLIBC_VERSION_0_9_28 is not set|BR2_UCLIBC_VERSION_0_9_28=y|' $(BUILDROOT_BUILD_DIR)/.config 249 sed -i -e 's|^BR2_UCLIBC_VERSION_SNAPSHOT=.*|# BR2_UCLIBC_VERSION_SNAPSHOT is not set|' $(BUILDROOT_BUILD_DIR)/.config 250 #endif 251 # change toolchain staging dir
now one can see that the non existence of the path defined in TARGET_CC causes serious build failures. all the binaries like gcc, ld and ar were build along uclibc but just exist in the staging dir of uclibcCode:... make -C abi/libgcc_eh all make[3]: /opt/slug/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc: Command not found make[3]: Entering directory `/opt/slug/optware/oleg/builds/libuclibc++/src/abi/libgcc_eh' /bin/sh: /opt/slug/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc: No such file or directory /bin/sh: /opt/slug/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-ld: No such file or directory /bin/sh: /opt/slug/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc: No such file or directory ../../../scripts/find_libgcc_eh.sh: line 8: /opt/slug/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc: No such file or directory /opt/slug/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-ar x make[3]: /opt/slug/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-ar: Command not found make[3]: *** [unwind-c.o] Error 127 make[3]: Leaving directory `/opt/slug/optware/oleg/builds/libuclibc++/src/abi/libgcc_eh' make[2]: *** [libgcc_eh] Error 2 make[2]: Leaving directory `/opt/slug/optware/oleg/builds/libuclibc++/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/opt/slug/optware/oleg/builds/libuclibc++'
now i give up at this point as i have no idea why all this errors occur. maybe some of u people can help me further in getting the toolchain to compile as i would like to add some packages for the asus wl550g router.Code:$ cd /opt/slug/optware/oleg/toolchain/buildroot/build_mipsel/staging_dir/mipsel-linux-uclibc/bin $ la > ./ ../ ar* as* cc@ gcc* ld* nm* objdump* ranlib* strip*
txs in advance and sorry for the long post.
peace olo
Hi all,
I have wl500gp v2 running the latest oleg firmware (1.9.2.7-10), everything works great (thanks oleg), except i don't have the correct driver for my web cameras.
I have a sony eyetoy (Vendor:054c, ProdID:0155) and a creative web im vista (VF0330), this hacked driver (http://www.rastageeks.org/ov51x-jpeg....php/Main_Page) works great for these 2 cameras, I downloaded the driver and compiled & installed to my ubuntu desktop.
However when i try to cross compile the driver for the wl500gp, I failed, I downloaded the GPL source, toolchain and everything, but I still cannot figure out how to cross-compile the driver, I just don't have enough linux knowledge to cross-compile the kernel module.
Can anyone help me with a howto cross compile kernel module? Or can anyone please compile the latest hacked ov51x driver for me? Thank you!
This is a known problem on Debian and Ubuntu, and just now someone said that it's same on Arch Linux. When checking for intltool, the file intltool-update.in is checked.
So we get this error :
Normally it could be fixed by symlinksCode:checking for intltool >= 0.23... awk: cmd. line:1: fatal: cannot open file `./intltool-update.in' for reading (No such file or directory)
but not in optware as the directory is emptied at every make. I'm trying to build transmission. Someone have some advice?Code:ln -s /usr/share/intltool/intltool-update.in intltool-update.in ln -s /usr/share/intltool/intltool-extract.in intltool-extract.in ln -s /usr/share/intltool/intltool-merge.in intltool-merge.in
Last edited by andersos; 21-06-2008 at 11:11. Reason: adding stuff
It happened that the version I wanted now became available in optware. But it would still be nice to get a solution for this problem.
use inltool 0.35 instead of 0.40.
Similar problem reported here.
I'm on Lenny (testing) where only 0.40 is available. I'll try to install it from Etch repo. The issue is reported to Debian package maintainers btw. It breaks many things.
I am having trouble doing this. Anyone out there get one setup? Oleo do you want to drop me on some input on how to do this? The main goal here is to create new ipkg files. Right now I am using the instructions at nslu2-linux.org however it gets stuck while trying to build crosstools somewhere in the binutils part of things.
WL500g Premium R1.14 with 128MB mod and serial port mod
Oleg 1.9.2.7-10 - Lighttpd w/ PHP using eAccelerator - multi-user ready - dropbear secured setup
Debian based arch:
EDIT: There is a bug in binutils. One of the regex statements in the configure script for it is messed up. In particular it is the one to detect makeinfo. For some reason it messes up the compile. I corrected the line after the compile broke then had it restart and it went past that part so I'll start over and post the error along with the diff for the file.
Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453216
Looks like buildroot could use a patch file for that in their repository.
Relevant Error Segment:Ok. I got the diff attached now. When the compile breaks you have to go to <optware>/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8/ or if you are building inside a target folder <optware>/<target>/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8/Code:WARNING: `makeinfo' is missing on your system. You should only need it if you modified a `.texi' or `.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy `make' (AIX, DU, IRIX). You might want to install the `Texinfo' package or the `GNU make' package. Grab either from any GNU archive site. make[5]: *** [/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8/bfd/doc/bfd.info] Error 1 make[5]: Leaving directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/bfd/doc' Making info in po make[5]: Entering directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/bfd/po' ( if test 'x/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8/bfd/po' != 'x.'; then \ posrcprefix='/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8/bfd/'; \ else \ posrcprefix="../"; \ fi; \ rm -f SRC-POTFILES-t SRC-POTFILES \ && (sed -e '/^#/d' \ -e '/^[ ]*$/d' \ -e "s@.*@ $posrcprefix& \\\\@" < /home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8/bfd/po/SRC-POTFILES.in \ | sed -e '$s/\\$//') > SRC-POTFILES-t \ && chmod a-w SRC-POTFILES-t \ && mv SRC-POTFILES-t SRC-POTFILES ) ( rm -f BLD-POTFILES-t BLD-POTFILES \ && (sed -e '/^#/d' \ -e '/^[ ]*$/d' \ -e "s@.*@ ../& \\\\@" < /home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8/bfd/po/BLD-POTFILES.in \ | sed -e '$s/\\$//') > BLD-POTFILES-t \ && chmod a-w BLD-POTFILES-t \ && mv BLD-POTFILES-t BLD-POTFILES ) cd .. \ && CONFIG_FILES=po/Makefile.in:po/Make-in \ CONFIG_HEADERS= /bin/sh ./config.status config.status: creating po/Makefile.in config.status: executing depfiles commands config.status: executing default-1 commands config.status: executing default commands make[5]: Leaving directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/bfd/po' make[5]: Entering directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/bfd/po' make[5]: Nothing to be done for `info'. make[5]: Leaving directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/bfd/po' make[5]: Entering directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/bfd' make[5]: Nothing to be done for `info-am'. make[5]: Leaving directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/bfd' make[4]: *** [info-recursive] Error 1 make[4]: Leaving directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/bfd' make[3]: *** [all-bfd] Error 2 make[3]: Leaving directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build' make[1]: *** [/home/shinji/optware/oleg/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8-build/binutils/objdump] Error 2 make[1]: Leaving directory `/home/shinji/optware/oleg/toolchain/buildroot' make: *** [/home/shinji/optware/oleg/toolchain/buildroot/.built] Error 2
Save configure.diff to that folder then apply it to the configure script by running "patch configure configure.diff".
Replace <optware> with the root location that you placed the optware folder at. For me it is /home/shinji/optware. Replace <target> with the target folder if you chose to go that way. For me it is oleg.
Configure.diff:Once that is done you can go back to the folder where you started the build process and re-run it again. It should pickup a little earlier by re-running configure and then building all of the items for you. Please note that you must have the flex package installed before letting it re-run configure. If it still fails then go back and simply run `touch configure` after installing the flex package and it will continue. I just found this out when trying to build it on xubuntu 8.04 (i386).Code:--- configure.bak 2008-07-02 10:15:24.000000000 -0400 +++ configure 2008-07-02 10:21:39.000000000 -0400 @@ -3679,7 +3679,7 @@ # For an installed makeinfo, we require it to be from texinfo 4.4 or # higher, else we use the "missing" dummy. if ${MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then + | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.([1-3][0-9]|[4-9])|[5-9])' >/dev/null 2>&1; then : else MAKEINFO="$MISSING makeinfo"
The build was successful on Ubuntu 8.04 64-bit.
Last edited by shinji257; 23-07-2008 at 18:09. Reason: Fix and additional notes
WL500g Premium R1.14 with 128MB mod and serial port mod
Oleg 1.9.2.7-10 - Lighttpd w/ PHP using eAccelerator - multi-user ready - dropbear secured setup
This is now solved in Transmission trunk. So I can keep on compiling these "betas"
Btw, are you maybe planning to remove transmissiond when transmission 1.3 is released? I don't see what use it will be when transmission-daemon is so good as it will be in 1.3 with json communication. No offense, just wondering.
now that Charles Kerr took over http://recurser.com/trac/transmission/timeline
It surely will be a advanced solution. Maybe clutch will be merged into mainline. I am just hoping that someday Clutch will have queuing and inactive torrents repository. Untill then I will stick to my daemon.
I am suggesting you that you stick with an old stable release of Debian or Ubuntu 6 if you plan to build toolchain.
Anyway I will be glad if someone can spent a few days and upgrade buildroot to uclibc 0.9.29 and port my patches tor toolchain so that it will work on oleg, ddwrt, and other brcm platforms , isolated from system uClibc.