On Thursday 26 June 2008 03:32:26 am Jussi Hakala wrote:
> 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

I'm creeping along here but this one is beyond me. I'm not familiar with 
fakeroot code. I check the include files (wrapfunc.inp) but not sure how to 
treat it. Are these errors relatively simple to fix? 

In file included from libfakeroot.c:25:
communicate.h:157: warning: 'struct stat64' declared inside parameter list
communicate.h:157: warning: its scope is only this definition or declaration, 
which is probably not what you want
communicate.h:158: warning: 'struct stat64' declared inside parameter list
communicate.h:163: warning: 'struct stat64' declared inside parameter list
communicate.h:164: warning: 'struct stat64' declared inside parameter list
In file included from libfakeroot.c:96:
wrapped.h:14: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'LSTAT64_ARG'
wrapped.h:15: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'STAT64_ARG'
wrapped.h:16: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'FSTAT64_ARG'
In file included from libfakeroot.c:97:
wraptmpf.h:38: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'LSTAT64_ARG'
wraptmpf.h:43: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'STAT64_ARG'
wraptmpf.h:48: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'FSTAT64_ARG'
In file included from libfakeroot.c:98:
wrapdef.h:14: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'LSTAT64_ARG'
wrapdef.h:15: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'STAT64_ARG'
wrapdef.h:16: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'FSTAT64_ARG'
In file included from libfakeroot.c:99:
wrapstruct.h:15: error: 'next___astat64' undeclared here (not in a function)
wrapstruct.h:15: error: '__astat64' undeclared here (not in a function)
libfakeroot.c:531: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'LSTAT64_ARG'
libfakeroot.c:551: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'STAT64_ARG'
libfakeroot.c:568: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'FSTAT64_ARG'
libfakeroot.c: In function 'unlink':
libfakeroot.c:855: error: storage size of 'st' isn't known
libfakeroot.c:871: warning: passing argument 1 of 'send_stat64' from 
incompatible pointer type
In file included from communicate.c:13:
communicate.h:157: warning: 'struct stat64' declared inside parameter list
communicate.h:157: warning: its scope is only this definition or declaration, 
which is probably not what you want
communicate.h:158: warning: 'struct stat64' declared inside parameter list
communicate.h:163: warning: 'struct stat64' declared inside parameter list
communicate.h:164: warning: 'struct stat64' declared inside parameter list
communicate.c:208: warning: 'struct stat64' declared inside parameter list
communicate.c: In function 'cpyfakemstat64':
communicate.c:210: error: dereferencing pointer to incomplete type
communicate.c:211: error: dereferencing pointer to incomplete type
communicate.c:212: error: dereferencing pointer to incomplete type
communicate.c:213: error: dereferencing pointer to incomplete type
communicate.c:214: error: dereferencing pointer to incomplete type
communicate.c:215: error: dereferencing pointer to incomplete type
communicate.c:225: error: dereferencing pointer to incomplete type
communicate.c: At top level:
communicate.c:272: warning: 'struct stat64' declared inside parameter list
communicate.c: In function 'cpystat64fakem':
communicate.c:274: error: dereferencing pointer to incomplete type
communicate.c:275: error: dereferencing pointer to incomplete type
communicate.c:276: error: dereferencing pointer to incomplete type
communicate.c:277: error: dereferencing pointer to incomplete type
communicate.c:278: error: dereferencing pointer to incomplete type
communicate.c:279: error: dereferencing pointer to incomplete type
communicate.c: At top level:
communicate.c:339: warning: 'struct stat64' declared inside parameter list
communicate.c:340: error: conflicting types for 'stat64from32'
communicate.h:163: error: previous declaration of 'stat64from32' was here
communicate.c: In function 'stat64from32':
communicate.c:343: error: dereferencing pointer to incomplete type
communicate.c:344: error: dereferencing pointer to incomplete type
communicate.c:345: error: dereferencing pointer to incomplete type
communicate.c:346: error: dereferencing pointer to incomplete type
communicate.c:347: error: dereferencing pointer to incomplete type
communicate.c:348: error: dereferencing pointer to incomplete type
communicate.c:349: error: dereferencing pointer to incomplete type
communicate.c:350: error: dereferencing pointer to incomplete type
communicate.c:351: error: dereferencing pointer to incomplete type
communicate.c:352: error: dereferencing pointer to incomplete type
communicate.c:353: error: dereferencing pointer to incomplete type
communicate.c:354: error: dereferencing pointer to incomplete type
communicate.c:355: error: dereferencing pointer to incomplete type
communicate.c: At top level:
communicate.c:360: warning: 'struct stat64' declared inside parameter list
communicate.c:361: error: conflicting types for 'stat32from64'
communicate.h:164: error: previous declaration of 'stat32from64' was here
communicate.c: In function 'stat32from64':
communicate.c:362: error: dereferencing pointer to incomplete type
communicate.c:363: error: dereferencing pointer to incomplete type
communicate.c:364: error: dereferencing pointer to incomplete type
communicate.c:365: error: dereferencing pointer to incomplete type
communicate.c:366: error: dereferencing pointer to incomplete type
communicate.c:367: error: dereferencing pointer to incomplete type
communicate.c:368: error: dereferencing pointer to incomplete type
communicate.c:369: error: dereferencing pointer to incomplete type
communicate.c:370: error: dereferencing pointer to incomplete type
communicate.c:371: error: dereferencing pointer to incomplete type
communicate.c:372: error: dereferencing pointer to incomplete type
communicate.c:373: error: dereferencing pointer to incomplete type
communicate.c:374: error: dereferencing pointer to incomplete type
communicate.c: At top level:
communicate.c:692: warning: 'struct stat64' declared inside parameter list
communicate.c:692: error: conflicting types for 'send_stat64'
communicate.h:157: error: previous declaration of 'send_stat64' was here
communicate.c: In function 'send_stat64':
communicate.c:700: warning: passing argument 2 of 'cpyfakemstat64' from 
incompatible pointer type
communicate.c: At top level:
communicate.c:742: warning: 'struct stat64' declared inside parameter list
communicate.c:743: error: conflicting types for 'send_get_stat64'
communicate.h:158: error: previous declaration of 'send_get_stat64' was here
communicate.c: In function 'send_get_stat64':
communicate.c:751: warning: passing argument 2 of 'cpyfakemstat64' from 
incompatible pointer type
communicate.c:759: warning: passing argument 1 of 'cpystat64fakem' from 
incompatible pointer type
make[2]: *** [build-library] Error 1
make[2]: Leaving directory 
`/home/erobertson/sb-toolchain-extras/device_tools/fakeroot'
make[1]: *** [build-fakeroot] Error 2
make[1]: Leaving directory 
`/home/erobertson/sb-toolchain-extras/meta/device_tools'
make: *** [build-devicetools] Error 2
make: Leaving directory `/home/erobertson/sb-toolchain-extras/meta/alien-tc'


> 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-g
> >cc --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


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

Reply via email to