tech-toolchain archive

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

Re: Cross compiling Kernel with all options enabled and compiler wrapper



On 10/07/2025 11:22, Jörg Sonnenberger wrote:
Would the compilation database be good enough?

https://www.netbsd.org/~joerg/json.diff

is an old patch to automatically create fragments during compilation. A full compilation db file can be obtained from that with minimal post-processing.

Thank you for the answer, yes, this looks definitely promising.

I've been away for the past few weeks and wanted to continue my work, but I am not even able anymore to compile the toolchain on my linux host. Somehow, the header files on my system aren't compatible (anymore?) with the NetBSD source. What am I doing wrong? I try to compile NetBSD 10.1 using build.sh on my Arch Linux machine with the following command:
./build.sh -U -m amd64 -c clang tools

The build process repeatedly fails when compiling texinfo, and without the toolchain I of course can't compile the kernel. This is the (relevant part) of the build process:


In file included from /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../../external/gpl2/texinfo/dist/lib/substring.c:22: /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../../external/gpl2/texinfo/dist/lib/system.h:123:12: error: conflicting types for 'strcasecmp'; have 'int(void)'
  123 | extern int strcasecmp ();
      |            ^~~~~~~~~~
In file included from /usr/include/string.h:462,
                 from /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../../external/gpl2/texinfo/dist/lib/system.h:76: /usr/include/strings.h:116:12: note: previous declaration of 'strcasecmp' with type 'int(const char *, const char *)'
  116 | extern int strcasecmp (const char *__s1, const char *__s2)
      |            ^~~~~~~~~~
/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../../external/gpl2/texinfo/dist/lib/system.h:127:12: error: conflicting types for 'strncasecmp'; have 'int(void)'
  127 | extern int strncasecmp ();
      |            ^~~~~~~~~~~
/usr/include/strings.h:120:12: note: previous declaration of 'strncasecmp' with type 'int(const char *, const char *, long unsigned int)'   120 | extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
      |            ^~~~~~~~~~~

*** Failed target:  substring.o
*** Failed command: source='/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../../external/gpl2/texinfo/dist/lib/substring.c' object='substring.o' libtool=no DEPDIR=.deps depmode=none /usr/bin/sh /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../../external/gpl2/texinfo/dist/depcomp cc -DHAVE_CONFIG_H -I. -I/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../../external/gpl2/texinfo/dist/lib -I.. -I../intl -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O -c /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../../external/gpl2/texinfo/dist/lib/substring.c
*** Error code 1

Stop.
nbmake[6]: stopped in /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/obj/build/lib

*** Failed target:  all-recursive
*** Failed command: set fnord $MAKEFLAGS; amf=$2; dot_seen=no; target=`echo all-recursive | sed s/-recursive//`; list=' intl m4 lib makeinfo po util doc'; for subdir in $list; do echo "Making $target in $subdir"; if test "$subdir" = "."; then dot_seen=yes; local_target="$target-am"; else local_target="$target"; fi; (cd $subdir && /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbmake -f /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../Makefile.gnuwrap $local_target) || case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; done; if test "$dot_seen" = "no"; then /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbmake -f /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../Makefile.gnuwrap "$target-am" || exit 1; fi; test -z "$fail"
*** Error code 1

Stop.
nbmake[5]: stopped in /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/obj/build

*** Failed target:  all
*** Failed command: /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbmake -f /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../Makefile.gnuwrap all-recursive
*** Error code 1

Stop.
nbmake[4]: stopped in /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/obj/build

*** Failed target:  .build_done
*** Failed command: (cd build && AR=ar AWK=/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbawk CC=cc CFLAGS=-O CONFIG_SHELL=/usr/bin/sh CPPFLAGS=\ -D_LARGEFILE_SOURCE\ -D_LARGEFILE64_SOURCE\ -D_FILE_OFFSET_BITS=64 CXX=c++ CXXFLAGS=-O INSTALL=/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/x86_64--netbsd-install\ -c\ \ -r LDFLAGS= LEX=/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nblex FLEX=/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nblex M4=/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbm4 MAKE=/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbmake PATH="/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin:$PATH" RANLIB=ranlib YACC=/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbyacc /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbmake -f /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo/../Makefile.gnuwrap BISON=true DESTDIR= INSTALL=/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/x86_64--netbsd-install\ -c\ \ -r all)
*** Error code 1

Stop.
nbmake[3]: stopped in /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo

*** Failed target:  dependall
*** Failed command: cd "/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo"; /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbmake realall
*** Error code 1

Stop.
nbmake[2]: stopped in /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/texinfo

*** Failed target:  dependall-texinfo
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools" ;; *) this="${dir}/"; real="/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget texinfo dependall
*** Error code 1

Stop.
nbmake[1]: stopped in /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools

*** Failed target:  build_install
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools" ;; *) this="${dir}/"; real="/home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/obj/tooldir.Linux-6.16.1-arch1-1-x86_64/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget . dependall-texinfo
*** Error code 1

Stop.
nbmake: stopped in /home/nando/Documents/Schule/Maturitaetsarbeit/neu/netbsd-src-ftp/src/tools

ERROR: Failed to make build_install in "tools"

*** BUILD ABORTED ***



I tried modifying the Makefiles to just skip texinfo, but this resulted in simmilar errors in different parts of the code.

Nando



Home | Main Index | Thread Index | Old Index