[Scratchbox-users] prebuilt mips compiler on scratchbox 1.0.7

Jussi Hakala jussi.hakala at movial.fi
Wed May 7 12:43:42 EEST 2008


COMPILER_PACKAGE is the final name of the package to contain your 
toolchain. We have mostly been using:

scratchbox-toolchain-$(COMPILER_NAME)

COMPILER_NAME is the name of your compiler, usually the same with the 
directory name it resides under /scratchbox/compilers.

VENDOR is the name used in the architecture triplet, for example in 
"arm-none-linux-gnu" the VENDOR part is "none-".

For your issue 2, you need to make a host target (target using host 
compiler) to compile the sb-toolchain-extras with [1].

You can use the configuration files of the prepackaged toolchains at 
scratchbox.org as an example. They can be found at 
/scratchbox/compilers/compiler-name/build-config.

Regards,

   Jussi

[1]
$ sb-conf st host -c host-gcc -d perl:debian-etch -t none
$ sb-conf in host -c -d -e
$ sb-conf se host


L A wrote:
> Jussi,
> 
> Thanks for the prompt reply. My compiler did work when called directly 
> from the command line.
> 
> These are my issues:
> 
> - The .conf file. I have no idea about what my COMPILER_PACKAGE and 
> VENDOR are . And I dont know where to look either.
> 
> COMPILER_NAME = uclibc-mipsel
> COMPILER_PACKAGE = <you have to fill in this one>
> ALIEN_TC = yes
> 
> CC_VER = 3.4
> CC_GCCVER = 3.4.6
> CC_FULLVER = 3:$(CC_GCCVER)
> CC_DEBIAN_DIR = gcc-3.4-debian
> 
> ARCH = mipsel
> SUB_ARCH = $(ARCH)
> VENDOR = Unknown
> TOOLCHAIN_PREFIX_END = uclibc-
> TARGET_END = -uclibc
> 
> BINUTILS_FULLVER = 2.17.50.0.12-sb1
> 
> HEADERS_DIR = $(COMPILER_DIR)/mipsel-linux-uclibc/include
> LINUX_HEADERS_SUBDIRS = linux asm
> LINUX_HEADERS_VER = 2.6.12
> 
> LIBC_FILES_BINS = lib/gcc/mipsel-linux-uclibc/3.4.6 
> mipsel-linux-uclibc/lib mipsel-linux-uclibc/target-apps/sbin 
> mipsel-linux-uclibc/target-apps/usr/bin
> LIBC_FILES_LIBS = mipsel-linux-uclibc/lib
> CHECKSUM_FILE    = ../../$(CONFIG:.conf=.checksums)
> 
> 
> 
> 
> - Issue number 2:
>  Make CONFIG fails:
> 
> [sbox-97405: ~/sb-toolchain-extras] > make 
> CONFIG=meta/alien-tc/uclibc-mipsel.conf -C meta/alien-tc
> make: Entering directory `/home/levent/sb-toolchain-extras/meta/alien-tc'
> [===== NOW BUILDING:    alien-tc-1    =====]
>     [fetch] complete for alien-tc.
>     [checksum] complete for alien-tc.
>     [extract] complete for alien-tc.
>     [patch] complete for alien-tc.
>  ==> Building toolchain/post-install as a dependency
>  ==> Building binutils/binutils-debian as a dependency
>  ==> Building cc/gcc-3.4-debian as a dependency
> make[1]: Entering directory 
> `/home/levent/sb-toolchain-extras/cc/gcc-3.4-debian'
> [===== NOW BUILDING:    gcc-3.4    =====]
>     [fetch] complete for gcc.
>     [checksum] complete for gcc.
>     [extract] complete for gcc.
>     [patch] complete for gcc.
>     [configure] complete for gcc.
> cd work/gcc-3.4 && env COMPILER_DIR=/scratchbox/compilers/uclibc-mipsel 
> TARGET=mipsel-none-linux-uclibc VERSION=3.4.6 
> SBOX_REDIRECT_BINARIES=/scratchbox/compilers/bin/gcc:/scratchbox/compilers/uclibc-mipsel/bin/mipsel-none-linux-uclibc-gcc 
> LIBC_FILES_LIBS="mipsel-linux-uclibc/lib " dpkg-buildpackage -rfakeroot 
> -b -uc
> dpkg-buildpackage: source package is gcc-3.4
> dpkg-buildpackage: source version is 3:3.4.6-sb1
> dpkg-buildpackage: source changed by Scratchbox Developers 
> <scratchbox-devel at lists.scratchbox.org 
> <mailto:scratchbox-devel at lists.scratchbox.org>>
> /scratchbox/tools/bin/sh: line 1: /scratchbox/compilers/bin/gcc: No such 
> file or directory
> dpkg-architecture: warning: Couldn't determine gcc system type, falling 
> back to default (native compilation)
> /scratchbox/tools/bin/sh: line 1: /scratchbox/compilers/bin/gcc: No such 
> file or directory
> dpkg-architecture: warning: Couldn't determine gcc system type, falling 
> back to default (native compilation)
> dpkg-buildpackage: host architecture i386
> dpkg-buildpackage: source version without epoch 3.4.6-sb1
> /var/lib/dpkg/status: No such file or directory
> dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
> dpkg-buildpackage: (Use -d flag to override.)
> make[1]: *** [build-packages] Error 3
> make[1]: Leaving directory 
> `/home/levent/sb-toolchain-extras/cc/gcc-3.4-debian'
> make: *** [dep-../../cc/gcc-3.4-debian] Error 2
> make: Leaving directory `/home/levent/sb-toolchain-extras/meta/alien-tc'
> 
> 
> - Issue number 3:
> When I try to call gcc, this is what I get:
> [sbox-97405: ~/sb-toolchain-extras] > gcc
> sbox-mipsel-unknown-linux-uclibc-gcc: No such file or directory
> 
> 
> 
> My compiler tree is something like this:
> 
> \ bin  -> mipsel-linux-uclibc-gcc .... (the executables)
> \include\c++\3.4.6\ -> cctype, cfloat ... (standard c++ headers)
> \include\c++\3.4.6\mipsel-linux-uclibc\bits\ -> c++io.h ... (some header 
> files)
> \info -> some gz files like gccinstall.info.gz
> \lib\gcc\mipsel-linux-uclibc\3.4.6\ -> some binaries : libgcc.a etc
> \libexec\gcc\mipsel-linux-uclibc\3.4.6\  -> some binaries like: cc1
> \mipsel-linux-uclibc\bin -> gcc, g++ ..
> \mipsel-linux-uclibc\include -> header files
> \mipsel-linux-uclibc\lib -> libraries like ldUclibc.so
> \mipsel-linux-uclibc\sys-include -> header files
> \mipsel-linux-uclibc\target-apps\sbin   -> ldconfig
> \mipsel-linux-uclibc\target-apps\usr   -> ldd, gdbserver
> 
> Thanks for the help,
> Levent
> 
> 
> 
> On Tue, May 6, 2008 at 8:17 AM, Jussi Hakala <jussi.hakala at movial.fi 
> <mailto:jussi.hakala at movial.fi>> wrote:
> 
>     It should be, yes.
> 
>     At least I have a vague memory of packaging one (mips or mipsel) at
>     some point in time and it worked correctly then :)
> 
>     The compiler is seen by sb-conf/sb-menu if there's a directory for
>     the compiler under /scratchbox/compilers and there exists a file
>     called compiler-name which contains information on the compiler. See
>     other toolchain packages for various examples. This file is
>     generated by sb-toolchain-extras.
> 
>     Anyway, given your toolchain works outside scratchbox, the process
>     should be somewhat straightforward. The possible problems are mostly
>     files in some unusual locations, but that can be solved with proper
>     build-time configuration (the .conf file in meta/alien-tc) and/or
>     creative symlinking...
> 
>     You can also test your compiler using an explicit path, even if you
>     have no target, ie.
>     /scratchbox/compilers/my-compiler/bin/arch-foo-linux-bar-gcc
>     /scratchbox/packages/hello.c and see what happens.
> 
>     And if you can provide more detailed error message, then probably me
>     (or someone else here) would be more likely to come up with a more
>     detailed answer :)
> 
>     Regards,
> 
>      Jussi
> 
>     L A wrote:
> 
>         Hi,
> 
>         Is it possible to use a prebuilt mips compiler on scratchbox? I
>         have walked through the steps in ForeignToolchains wiki, but no
>         joy. My compiler did not even show up in the compilers list (the
>         one in the setup menu). Any ideas?
> 
>         Thanks,
>         Levent
> 
> 
> 
>         ------------------------------------------------------------------------
> 
>         _______________________________________________
>         Scratchbox-users mailing list
>         Scratchbox-users at lists.scratchbox.org
>         <mailto:Scratchbox-users at lists.scratchbox.org>
>         http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users
> 
> 
>     _______________________________________________
>     Scratchbox-users mailing list
>     Scratchbox-users at lists.scratchbox.org
>     <mailto:Scratchbox-users at lists.scratchbox.org>
>     http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Scratchbox-users mailing list
> Scratchbox-users at lists.scratchbox.org
> http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users



More information about the Scratchbox-users mailing list