Current-Users archive

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

Re: Building PCC for "tools" is broken (missing symbol __USE)- PCC bug or NetBSD source tree error?

I should probably split this email up into two issues, but since they are both PCC-related...

-----Original Message----- From: Iain Hibbert
Sent: Monday, August 11, 2014 2:52 AM
To: William D. Jones
Subject: Re: Building PCC for "tools" is broken (missing symbol __USE)- PCC bug or NetBSD source tree error?

No, I've been away sailing amongst the islands :)
Fair enough. I need a vacation at some point.

PCC is getting better all the time
Well, it's doing alright so far. Just would be nice to have a choice in compiler for NetBSD 7.0. I'll just apply patches to my tree directly and not mess with the dev scripts.

I have two things to report:
1. The problem with __restrict has been fixed thanks to Ragge's patch. However, there are now a two other issues that happen later in the build. See the email I sent at August 10th, 1:17 AM EDT. In summary: when building a kernel, the preprocessor complains about an invalid command line for a specific target. I believe the preprocessor may be buggy, as I demonstrate a sample command line with the same "issue" that the preprocessor accepts with out complaint. Additionally, when building userland, PCC attempts to build a C++ tool (libatfc++). Of course, PCC being a C compiler, PCC chokes on it. I'll probably just modify the relevant Makefile to have PCC skip it, but before I go ahead and do that- is libatfc++ essential for a functioning userland or POSIX compliance?

2. When attempting to build userland with the following mk.conf, I receive an error regarding a missing libgcc: COPTS=-Os -Wno-error=uninitialized -Wno-error=maybe-uninitialized #This is irrelevant, more than likely
HAVE_GCC=4 #Define if MKGCC=no

Essentially, I want to use GCC to build a userland with PCC only for my 486 machine to save space and compiling time.I think this is a dependency error that the build system misses; it seems as if MKGCC isn't honored for certain Makefiles. Does anyone familiar with internals have any idea on how to fix this?

dependall-libc ===> lib
dependall ===> lib/libc
--- dependall ---
--- ---
#     build  libc/
rm -f
/mnt/lfs/NetBSD-CVS/src/../tools/bin/i486--netbsdelf-gcc -nodefaultlibs -Wl,-x -shared -Wl,-soname, -Wl,--warn-shared-textrel -Wl, -Wl,-z,initfirst --sysroot=/mnt/lfs/NetBSD-CVS/src/../destdir/i386-pb -o -Wl,-rpath,/lib -L=/lib -Wl,--whole-archive ibc_pic.a -Wl,--no-whole-archive -lgcc /mnt/lfs/NetBSD-CVS/tools/bin/../lib/gcc/i486--netbsdelf/4.8.3/../../../../i486--netbsdelf/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
*** [] Error code 1

nbmake[7]: stopped in /mnt/lfs/NetBSD-CVS/src/lib/libc
1 error

nbmake[7]: stopped in /mnt/lfs/NetBSD-CVS/src/lib/libc
*** [dependall] Error code 2

nbmake[6]: stopped in /mnt/lfs/NetBSD-CVS/src/lib/libc
1 error

nbmake[6]: stopped in /mnt/lfs/NetBSD-CVS/src/lib/libc

*** Failed target:  dependall-libc
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="lib/"; real="/mnt/lfs/NetBSD-CVS/src/lib" ;; *) this="lib/${dir}/"; real="/mnt/lfs/NetBSD-CVS/src/lib/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /mnt/lfs/NetBSD-CVS/src/../tools/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget libc dependall
*** Error code 2

nbmake[5]: stopped in /mnt/lfs/NetBSD-CVS/src/lib
*** [build_install] Error code 1

nbmake[4]: stopped in /mnt/lfs/NetBSD-CVS/src/lib
1 error

nbmake[4]: stopped in /mnt/lfs/NetBSD-CVS/src/lib
*** [do-lib] Error code 2

nbmake[3]: stopped in /mnt/lfs/NetBSD-CVS/src
1 error

nbmake[3]: stopped in /mnt/lfs/NetBSD-CVS/src
*** [build] Error code 2

nbmake[2]: stopped in /mnt/lfs/NetBSD-CVS/src
1 error

nbmake[2]: stopped in /mnt/lfs/NetBSD-CVS/src
*** [distribution] Error code 2

nbmake[1]: stopped in /mnt/lfs/NetBSD-CVS/src
1 error

nbmake[1]: stopped in /mnt/lfs/NetBSD-CVS/src
*** [release] Error code 2

nbmake: stopped in /mnt/lfs/NetBSD-CVS/src
1 error

nbmake: stopped in /mnt/lfs/NetBSD-CVS/src

ERROR: Failed to make release

I'll be on standby and attempting to make changes of my own to get PCC to compile userland... it seems that the kernel will have to wait for now.


William D. Jones
Rowan University | ECE | 2012
Member IEEE
Member Tau Beta Pi
Message sent using 'Windows Live Mail' client.

Home | Main Index | Thread Index | Old Index