Page 2 of 4 FirstFirst 1234 LastLast
Results 16 to 30 of 49

Thread: cross compiling with the toolchain

  1. #16
    Join Date
    Dec 2007
    Location
    The Netherlands - Eindhoven
    Posts
    1,767
    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

  2. #17
    Quote Originally Posted by wpte View Post
    I do want to try to get wine to work, maybe some windows programs will work with it
    Don't waste your time... Wine needs a x86 or x64 processor.
    (and i think it would otherwise be way to heavy)

  3. #18
    Quote Originally Posted by wpte View Post
    I also still wonder why ppl write a readme without any [enters], so you get one big line
    Try opening that readme in Wordpad (instead of notepad) or better Notepad++

  4. #19
    Join Date
    Dec 2007
    Location
    The Netherlands - Eindhoven
    Posts
    1,767
    Quote Originally Posted by DrChair View Post
    Don't waste your time... Wine needs a x86 or x64 processor.
    (and i think it would otherwise be way to heavy)
    yeh for running the programs... so it might be possible, some pocket pc applications will work, you got them in mips too

    I''m also going to try dosbox... might be a bit weird, but I still got loads of nice dos programs

  5. #20

    Question cannot cross compile toolchain

    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

    Code:
    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
    I try to cross-compile the toolchain for OPTWARE_TARGET=oleg

    Code:
    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
    when making oleg-target i see the following message printed to standard out

    Code:
    make: /opt/slug/optware/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/bin/armv5b-softfloat-linux-gcc: Command not found
    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 version

    Code:
    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
    the printed path is constructed in the root Makefile

    Code:
    TARGET_CC=$(TARGET_CROSS)gcc
    TARGET_CROSS is defined in make/toolchain-oleg.mk

    Code:
    TARGET_CROSS = $(TOOL_BUILD_DIR)/$(TARGET_ARCH)-$(TARGET_OS)/$(CROSS_CONFIGURATION)/bin/$(TARGET_ARCH)-$(TARGET_OS)-
    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.

    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/

    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 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:
    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
    i specified the server where the oleg-headers can be found . now i can proceed with right(?) headers

    Code:
    ...
    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.
    ...
    but in the next step, the patching of uclibc fails

    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.
    ...
    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:
    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)
    i also worked around that problem by inserting the following line in buildroot.mk which is located in oleg/make/

    Code:
    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 uclibc 0.9.28 is used and the build comes pretty far until uclibc++ has to be build. this fails with the following errors

    Code:
    ...
    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 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 uclibc

    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*
    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.

    txs in advance and sorry for the long post.
    peace olo

  6. #21

    Unhappy Can anyone help me with cross-compiling a kernel module

    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!

  7. #22
    Join Date
    Jun 2008
    Location
    Södra Vallgrund
    Posts
    21

    crosscompile intltool error

    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 :

    Code:
    checking for intltool >= 0.23... awk: cmd. line:1: fatal: cannot open file `./intltool-update.in' for reading (No such file or directory)
    Normally it could be fixed by symlinks

    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
    but not in optware as the directory is emptied at every make. I'm trying to build transmission. Someone have some advice?
    Last edited by andersos; 21-06-2008 at 12:11. Reason: adding stuff

  8. #23
    Join Date
    Jun 2008
    Location
    Södra Vallgrund
    Posts
    21
    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.

  9. #24
    Join Date
    Jun 2005
    Location
    Slovenia
    Posts
    736
    use inltool 0.35 instead of 0.40.
    Similar problem reported here.

  10. #25
    Join Date
    Jun 2008
    Location
    Södra Vallgrund
    Posts
    21
    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.

  11. #26

    Creating a cross compile environment

    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

  12. #27
    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:
    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
    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/

    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:
    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"
    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).

    The build was successful on Ubuntu 8.04 64-bit.
    Attached Files Attached Files
    Last edited by shinji257; 23-07-2008 at 19: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

  13. #28
    Join Date
    Jun 2008
    Location
    Södra Vallgrund
    Posts
    21
    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.

  14. #29
    Join Date
    Jun 2005
    Location
    Slovenia
    Posts
    736
    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.

  15. #30
    Join Date
    Jun 2005
    Location
    Slovenia
    Posts
    736
    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.

Page 2 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. Replies: 3
    Last Post: 05-02-2008, 09:59
  2. Compiling imageMagick with Magick++ support
    By neil in forum WL-500g Q&A
    Replies: 0
    Last Post: 04-02-2008, 13:14
  3. compiling the 1972 firmware sources
    By neweb in forum WL-500gP Firmware Discussion
    Replies: 1
    Last Post: 06-02-2007, 17:52
  4. compiling toolchain based on the latest uClibc
    By ja.ro in forum WL-500g Custom Development
    Replies: 4
    Last Post: 11-04-2005, 15:36

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •