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
<[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
/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 <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> 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
[email protected]
<mailto:[email protected]>
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users
_______________________________________________
Scratchbox-users mailing list
[email protected]
<mailto:[email protected]>
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users
------------------------------------------------------------------------
_______________________________________________
Scratchbox-users mailing list
[email protected]
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users
_______________________________________________
Scratchbox-users mailing list
[email protected]
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users