need to point the bootstrap process ( all stages ? ) to slightly non-standard include location

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





All:

    Is there a method to indicate to the bootstrap process that there
are includes ( such as sys/cdefs.h ) in a slightly non-standard
location? I have a Debian system on arm7 and for reasons yet obscure
there are no symlinks in /usr/include/sys that point to /usr/include/arm-linux-gnueabihf/sys/ which is what I would expect for the libc6-dev
package on Debian. Certainly such symlinks do exist on x86_64 thus :

root@nix:~# ls -lapb  /usr/include/sys/cdefs.h
lrwxrwxrwx 1 root root 31 Dec 5 18:50 /usr/include/sys/cdefs.h -> ../x86_64-linux-gnu/sys/cdefs.h


However the arm7 pkgs do not exist for such a thing :

arm7$ uname -a
Linux arm7 4.4.132+ #1 SMP Tue Oct 23 18:03:49 CST 2018 armv7l GNU/Linux
arm7$ ls /usr/include/sys/
capability.h
arm7$
arm7$ ls -lapb /usr/include/arm-linux-gnueabihf/sys/cdefs.h
-rw-r--r-- 1 root root 15651 Jan 14 2018 /usr/include/arm-linux-gnueabihf/sys/cdefs.h
arm7$

Great.

Doing something like CPPFLAGS=-I/usr/local/include -I/usr/include/arm-linux-gnueabihf doesn't work and the process blows up fast like so :

/bin/bash ./libtool --tag=CC --mode=compile /usr/bin/gcc -DHAVE_CONFIG_H -I. -I../../gcc-8.2.0/gmp -D__GMP_WITHIN_GMP -I/opt/bw/include -I/usr/include/arm-linux-gnueabihf/sys -DNO_ASM -g -c -o invalid.lo ../../gcc-8.2.0/gmp/invalid.c libtool: compile: /usr/bin/gcc -DHAVE_CONFIG_H -I. -I../../gcc-8.2.0/gmp -D__GMP_WITHIN_GMP -I/opt/bw/include -I/usr/include/arm-linux-gnueabihf/sys -DNO_ASM -g -c ../../gcc-8.2.0/gmp/invalid.c -o invalid.o
In file included from /usr/include/arm-linux-gnueabihf/sys/signal.h:1:0,
                 from /usr/include/arm-linux-gnueabihf/sys/signal.h:1,
.
.
.
                 from ../../gcc-8.2.0/gmp/invalid.c:37:
/usr/include/arm-linux-gnueabihf/sys/signal.h:1:20: error: #include nested too deeply
 #include <signal.h>
                    ^
../../gcc-8.2.0/gmp/invalid.c: In function '__gmp_invalid_operation':
../../gcc-8.2.0/gmp/invalid.c:81:3: warning: implicit declaration of function 'raise' [-Wimplicit-function-declaration]
   raise (SIGFPE);
   ^~~~~
../../gcc-8.2.0/gmp/invalid.c:81:10: error: 'SIGFPE' undeclared (first use in this function)
   raise (SIGFPE);
          ^~~~~~
../../gcc-8.2.0/gmp/invalid.c:81:10: note: each undeclared identifier is reported only once for each function it appears in
gmake[5]: *** [Makefile:884: invalid.lo] Error 1
gmake[5]: Leaving directory '/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.002/gmp'
gmake[4]: *** [Makefile:956: all-recursive] Error 1
gmake[4]: Leaving directory '/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.002/gmp'
gmake[3]: *** [Makefile:775: all] Error 2
gmake[3]: Leaving directory '/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.002/gmp'
gmake[2]: *** [Makefile:5662: all-stage1-gmp] Error 2
gmake[2]: Leaving directory '/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.002'
gmake[1]: *** [Makefile:27678: stage1-bubble] Error 2
gmake[1]: Leaving directory '/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.002'
gmake: *** [Makefile:28063: bootstrap] Error 2
Command exited with non-zero status 2


So that is annoying.


If I do nothing special at all then I get sys/cdefs.h not being found :



/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.001/./gcc/xgcc -B/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.001/./gcc/ -B/opt/intermediate/gcc8/armv7l-unknown-linux-gnueabihf/bin/ -B/opt/intermediate/gcc8/armv7l-unknown-linux-gnueabihf/lib/ -isystem /opt/intermediate/gcc8/armv7l-unknown-linux-gnueabihf/include -isystem /opt/intermediate/gcc8/armv7l-unknown-linux-gnueabihf/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -fno-inline -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fPIC -fno-inline -I. -I. -I../.././gcc -I../../../gcc-8.2.0/libgcc -I../../../gcc-8.2.0/libgcc/. -I../../../gcc-8.2.0/libgcc/../gcc -I../../../gcc-8.2.0/libgcc/../include -DHAVE_CC_TLS -o _muldi3.o -MT _muldi3.o -MD -MP -MF _muldi3.dep -DL_muldi3 -c ../../../gcc-8.2.0/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS
In file included from /usr/include/stdio.h:27,
                 from ../../../gcc-8.2.0/libgcc/../gcc/tsystem.h:87,
                 from ../../../gcc-8.2.0/libgcc/libgcc2.c:27:
/usr/include/features.h:364:12: fatal error: sys/cdefs.h: No such file or directory
 #  include <sys/cdefs.h>
            ^~~~~~~~~~~~~
compilation terminated.
gmake[3]: *** [Makefile:494: _muldi3.o] Error 1
gmake[3]: Leaving directory '/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.001/armv7l-unknown-linux-gnueabihf/libgcc'
gmake[2]: *** [Makefile:21746: all-stage1-target-libgcc] Error 2
gmake[2]: Leaving directory '/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.001'
gmake[1]: *** [Makefile:27678: stage1-bubble] Error 2
gmake[1]: Leaving directory '/opt/bw/build/gcc-8.2.0_4.4.132+_armv7l.001'
gmake: *** [Makefile:28063: bootstrap] Error 2
Command exited with non-zero status 2


So then ... manually make the symlinks one at a time and watch for failures? Curious if anyone else has seen this sort of thing.

Dennis





















[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux