1 year ago
#66543
sith
ctosstool-ng build fails on cygwin for armv8-rpi3-linux-gnueabihf
I am trying to build a arm RPI4 crosscompiler and toolchain on cygwin on windows 10 with ctosstool-ng-1.24.0
The process works fine generating a arm RPI4 toolchain from ubuntu 20.4 host but fails on windows 10
The Prebuilt Windows Toolchain for Raspberry Pi have gold linker issue that fails to resolve gtk-3 and gdk-3 dependencies libs on windows. so I am trying to see if a newly generated one will resolve the problem.
ctosstool-ng build fails on cygwin for armv8-rpi3-linux-gnueabihf consistently with a flurry of
[ERROR] /usr/include/sys/features.h:322:5: error: "_FORTIFY_SOURCE" is not defined, evaluates to 0 [-Werror=undef]
followed by
[EXTRA] Installing C library start files
[ERROR] ../include/link.h:43:57: error: unknown type name 'Lmid_t'; did you mean 'pid_t'?
[ERROR] ../sysdeps/posix/dl-fileid.h:27:5: error: unknown type name 'ino64_t'
[ERROR] ../sysdeps/posix/dl-fileid.h:35:17: error: storage size of 'st' isn't known
[ERROR] ../sysdeps/posix/dl-fileid.h:37:37: error: '_STAT_VER' undeclared (first use in this function)
[ERROR] /usr/include/cygwin/core_dump.h:19:10: fatal error: windows.h: No such file or directory
[ERROR] /usr/include/cygwin/core_dump.h:19:10: fatal error: windows.h: No such file or directory
[ERROR] make[3]: *** [../Makerules:287: /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.h] Error 1
[ERROR] make[3]: *** Waiting for unfinished jobs....
[ERROR] make[3]: *** [../Makerules:287: /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tcb-offsets.h] Error 1
[ERROR] /usr/include/cygwin/core_dump.h:19:10: fatal error: windows.h: No such file or directory
[ERROR] make[3]: *** [../Makerules:287: /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/rtld-global-offsets.h] Error 1
[ERROR] make[2]: *** [Makefile:258: csu/subdir_lib] Error 2
[ERROR] make[1]: *** [Makefile:9: csu/subdir_lib] Error 2
[ERROR] /
[ERROR] >>
[ERROR] >> Build failed in step 'Building for multilib 1/1: '''
[ERROR] >> called in step 'Installing C library headers & start files'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@376]
[ERROR] >> called from: glibc_backend_once[scripts/build/libc/glibc.sh@374]
[ERROR] >> called from: CT_IterateMultilibs[scripts/functions@1586]
[ERROR] >> called from: glibc_backend[scripts/build/libc/glibc.sh@74]
[ERROR] >> called from: glibc_start_files[scripts/build/libc/glibc.sh@38]
[ERROR] >> called from: do_libc_start_files[scripts/build/libc.sh@28]
[ERROR] >> called from: main[scripts/crosstool-NG.sh@696]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> https://crosstool-ng.github.io/docs/known-issues/
[ERROR] >>
[ERROR] >> If you feel this is a bug in crosstool-NG, report it at:
[ERROR] >> https://github.com/crosstool-ng/crosstool-ng/issues/
[ERROR] >>
[ERROR] >> Make sure your report includes all the information pertinent to this issue.
[ERROR] >> Read the bug reporting guidelines here:
[ERROR] >> http://crosstool-ng.github.io/support/
[ERROR] /
[ERROR] (elapsed: 130:50.55)
[131:02] / make: *** [ct-ng:261: build] Error 2
I have tried cygwin gcc version 9.3 and 11.3 and also, under menuconfig, glib2.28 and glib2.24. All of them fail at the "libc_start_files" step after installing kernel_headers.
Steps followed from :
$ ../configure --prefix=<install-dir>
$ make
$ make install
$ ./ct-ng armv8-rpi3-linux-gnueabihf
$ ./ct-ng menuconfig (choose glib 2.28)
$ ./ct-ng build
Link to : build logs .config make and make-install logs
If anyone has else succeeded on building this on windows host please share your steps/configuration.
===[UPDATE 1] ===
It looks like c:/cygwin64//usr/include
cygwin env is being included in the compiler options. I located ac_cv_env_CPPFLAGS_value=-Ic:/cygwin64//usr/include
in build/build-libc-startfiles/multilib/config.cache
. But not sure if thats the one causing linux files into cygwin64 includes.
gawk -f ../scripts/gen-as-const.awk ../sysdeps/arm/tlsdesc.sym |
arm-unknown-linux-gnueabihf-gcc -O2 -D_FORTIFY_SOURCE=0
-mlittle-endian -mcpu=cortex-a53 -mfpu=neon-vfpv4 -mhard-float
-S -o /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.hT3
-std=gnu11 -fgnu89-inline -O2 -Wall -Wundef -Wwrite-strings
-fmerge-all-constants -fno-stack-protector -frounding-math -g
-Wstrict-prototypes -Wold-style-definition -fno-math-errno
-ftls-model=initial-exec
-U_FORTIFY_SOURCE -Ic:/cygwin64//usr/include
< rest pf of the includes are from under the .build dir >
... -I.. -I../libio -I. -nostdinc -isystem ....
-DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS -x c -
-MD -MP -MF /cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.h.dT
-MT '/cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.h.d
/cygdrive/c/repo/ctng124/bld/.build/arm-unknown-linux-gnueabihf/build/build-libc-startfiles/multilib/tlsdesc.h'
Also its not clear how these propagate from the root build directory into the component build/compiler options.
Any suggestion to track/debug the compiler options will be most helpful.
===
Has anyone encountered these errors?
What could be causing them?
Please share any experience you have on the above.
cygwin
cross-compiling
raspberry-pi4
crosstool-ng
0 Answers
Your Answer