You can try something like [1] to figure out what's exactly happening when gcc is executed.

That should reveal at least some of the potential pitfalls and help adjust your toolchain...

Regards,

  Jussi


[1] echo '' | gcc -v -x c - 2>&1 | less

E Robertson wrote:
On Wednesday 25 June 2008 08:26:24 am Jussi Hakala wrote:
E Robertson wrote:
I get this when I run that comand:

sb-conf: No fakeroot versions found for compiler: host-gcc
Ah, yes.

I don't know what I was thinking when I wrote that, sorry :)

Is the error message the same if you try to run anything else under
fakeroot, for example:

$ fakeroot ls -l

If it is, the fakeroot in your current environment is broken. You can
try recreating the target to see if it's a problem with your target, say

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

and retry. Above command should provide you with a clean host target, in
which you should be able to compile toolchain-extras on top of your
precompiled toolchain just fine.

The error message is about fakeroot being unable to preload the library
containing the wrapper functions and thus failing to provide you with
the fake root environment.

There can be a number of reasons why this is happening.

For further digging in the subject, you can also try

$ which -a fakeroot

in your current target to verify which fakeroot is actually run (and
check also the hash to see what's in there).


Hi Jussi,
This perhaps makes more sense to you but I think I know what's happening but I can't explain why. I decided to make clean and start over and I for the same fakeroot error. So I deleted everything in my toolchain directory and re-populate it. Now at this point I only have bin, lib, include and usr directories at the root of my compiler.
when I ran the make again, it build some files. At least no fakeroot errors.
Now it's time to build some deb files and that worked to a point when building fakeroot from source. This is what config.log looks like for that error (I explain more further):

Thread model: posix
gcc version 4.2.4
configure:2558: $? = 0
configure:2560: /scratchbox/compilers/arm-gcc4.2.4-uclibc0.9.29/bin/arm-linux-uclibc-gcc -V </dev/null >&5
arm-linux-uclibc-gcc: '-V' option must have argument
configure:2563: $? = 1
configure:2586: checking for C compiler default output file name
configure:2589: /scratchbox/compilers/arm-gcc4.2.4-uclibc0.9.29/bin/arm-linux-uclibc-gcc -O2 conftest.c >&5 arm-linux-uclibc-gcc: error trying to exec 'cc1': execvp: No such file or directory
configure:2592: $? = 1
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME "fakeroot"
| #define PACKAGE_TARNAME "fakeroot"
| #define PACKAGE_VERSION "1.4.2"
| #define PACKAGE_STRING "fakeroot 1.4.2"
| #define PACKAGE_BUGREPORT "[EMAIL PROTECTED]"
| #define PACKAGE "fakeroot"
| #define VERSION "1.4.2"
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:2631: error: C compiler cannot create executables


OK. so now I added libexec to my toolchain root and took care of that error, but got another sort-of related error:

Thread model: posix
gcc version 4.2.4
configure:2558: $? = 0
configure:2560: /scratchbox/compilers/arm-gcc4.2.4-uclibc0.9.29/bin/arm-linux-uclibc-gcc -V </dev/null >&5
arm-linux-uclibc-gcc: '-V' option must have argument
configure:2563: $? = 1
configure:2586: checking for C compiler default output file name
configure:2589: /scratchbox/compilers/arm-gcc4.2.4-uclibc0.9.29/bin/arm-linux-uclibc-gcc -O2 conftest.c >&5 /scratchbox/compilers/arm-gcc4.2.4-uclibc0.9.29/bin/../lib/gcc/arm-linux-uclibc/4.2.4/../../../../arm-linux-uclibc/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
configure:2592: $? = 1
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME "fakeroot"
| #define PACKAGE_TARNAME "fakeroot"
| #define PACKAGE_VERSION "1.4.2"
| #define PACKAGE_STRING "fakeroot 1.4.2"
| #define PACKAGE_BUGREPORT "[EMAIL PROTECTED]"
| #define PACKAGE "fakeroot"
| #define VERSION "1.4.2"
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:2631: error: C compiler cannot create executables

all these files (crtX.o) are in my lib directory and for some reason it seem to be looking somewhere else for it. One of my paths seems to be off but I haven't been able to find it, or maybe it's looking in a specific place.
Do you have any clues?


The point I was making earlier is, if I now did a make clean and remake the toolchain extras, I will get the fakeroot error. It apprears that once one of the needed files has been created by the package (don't know which ones yet), it will fail. The quickest way is to delete and re-populate. Make any sense?

Thanks.
E!

by the way, this is my config arguments(if that helps):

$ ./configure --with-ipc=tcp --program-suffix=-tcp --libdir=/usr/lib/libfakeroot CC=/scratchbox/compilers/arm-gcc4.2.4-uclibc0.9.29/bin/arm-linux-uclibc-gcc --target=arm-linux-uclibc --host=arm-linux-uclibc




dpkg-architecture: warning: Unknown gcc system type arm-linux-uclibc,
falling back to default (native compilation)
dpkg-architecture: warning: Unknown gcc system type arm-linux-uclibc,
falling back to default (native compilation)
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 4.2.4-sb1
dpkg-checkbuilddeps: Using Scratchbox tools to satisfy builddeps
 fakeroot debian/rules clean
fakeroot: preload library not found, aborting.
make[1]: *** [build-packages] Error 1
make[1]: Leaving directory
`/home/erobertson/sb-toolchain-extras/cc/gcc-3.4-debian'
make: *** [dep-../../cc/gcc-3.4-debian] Error 2
make: Leaving directory
`/home/erobertson/sb-toolchain-extras/meta/alien-tc'
[sbox-HOST: ~/sb-toolchain-extras] >





_______________________________________________
Scratchbox-users mailing list
Scratchbox-users@lists.scratchbox.org
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users

Reply via email to