Date: Thu, 31 Mar 2016 15:02:29 -0700 From: Mark Millard <markmi@dsl-only.net> To: Bryan Drewery <bdrewery@FreeBSD.org> Cc: FreeBSD Current <freebsd-current@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: svn commit: r297435 - head: still problems for stage 3 when gcc 4.2.1 is avoided (powerpc64 self-hosted build) Message-ID: <9E3033D5-F416-4B78-97C2-0A0AABF5A49E@dsl-only.net> In-Reply-To: <56FD9757.6040709@FreeBSD.org> References: <5A0ACA76-6F1D-4975-9E59-2A64BB8EFC77@dsl-only.net> <56FD9757.6040709@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 2016-Mar-31, at 2:32 PM, Bryan Drewery <bdrewery at FreeBSD.org> = wrote: >=20 > On 3/31/16 2:23 PM, Mark Millard wrote: >> I use the likes of: >>=20 >>>> # diff -rq /usr/include /usr/local/include | grep "^Files " >> to find what to rename for the duration of the system builds. >>=20 >> An example of what happens without the renames is below but I first = note the use of the name dwarf_errmsg in /usr/include vs. in = /usr/local/include (shown after the .h file rename but the build was = with the normal file name): >>=20 >=20 > Except for legacy, build-tools, bootstrap-tools, and cross-tools, none > of /usr/include or /usr/local/include is supposed to be included. In > those phases though it is intended that /usr/include is used. Not > /usr/local/include though. >=20 > What package is providing /usr/local/include/libdwarf.h? 'pkg which > /usr/local/include/libdwarf.h' I ask so I can install it and recreate > the issue and fix it. Here is the list for the things I renamed, including for dwarf.h : > # pkg which /usr/local/include/dwarf.h /usr/local/include/libdwarf.h = /usr/local/include/atf-c/defs.h /usr/local/include/iconv.h = /usr/local/include/histedit.h > /usr/local/include/dwarf.h was installed by package libdwarf-20130207 > /usr/local/include/libdwarf.h was installed by package = libdwarf-20130207 > /usr/local/include/atf-c/defs.h was installed by package atf-0.21 > /usr/local/include/iconv.h was not found in the database > /usr/local/include/histedit.h was installed by package = libedit-3.1.20150325_1 It looks like iconv.h is from something later removed but was not = cleaned out at the time. I have /usr/local/include/readline/ material = from the same time frame: > # ls -lt /usr/local/include/ > .. . . > -rw-r--r-- 1 root wheel 12733 Apr 22 2015 mpc.h > -rw-r--r-- 1 root wheel 9348 Mar 12 2015 renamed_iconv.h > drwxr-xr-x 2 root wheel 512 Mar 12 2015 readline > # ls -lt /usr/local/include/readline > total 80 > -rw-r--r-- 1 root wheel 3193 Mar 12 2015 rltypedefs.h > -rw-r--r-- 1 root wheel 2438 Mar 12 2015 rlconf.h > -rw-r--r-- 1 root wheel 1835 Mar 12 2015 rlstdc.h > -rw-r--r-- 1 root wheel 3046 Mar 12 2015 tilde.h > -rw-r--r-- 1 root wheel 10079 Mar 12 2015 history.h > -rw-r--r-- 1 root wheel 3163 Mar 12 2015 keymaps.h > -rw-r--r-- 1 root wheel 4577 Mar 12 2015 chardefs.h > -rw-r--r-- 1 root wheel 37802 Mar 12 2015 readline.h but "pkg which" reports those files as being from readline-6.3.8 . I guess I can just delete would would normally have been = /usr/local/include/iconv.h . Back to quoting the earlier message: > We likely just need to prioritize /usr/include over /usr/local/include > for these phases, which gcc49 may have backwards since it has its = prefix > set to /usr/local from the ports build. >=20 >>>> # find /usr/include/ -exec grep dwarf_errmsg {} \; -print >>>> #define dwarf_errmsg(error) dwarf_errmsg_(&error) >>>> const char *dwarf_errmsg_(Dwarf_Error *); >>>> /usr/include/libdwarf.h >>>> # find /usr/local/include/ -exec grep dwarf_errmsg {} \; -print >>>> char* dwarf_errmsg(Dwarf_Error /*error*/); >>>> /usr/local/include/renamed_libdwarf.h >>>> # >> So dwarf_errmsg is from /usr/local/include and dwarf_errmsg_ is from = /usr/include . >>=20 >> The failure shows references to dwarf_errmsg instead of dwarf_errmsg_ = --and dwarf_errmsg being undefined (dwarf_errno has similar issues): >>=20 >>>> -------------------------------------------------------------- >>>>>>>>>> stage 3: cross tools >>>> -------------------------------------------------------------- >>>> . . . >>>> --- ctfconvert.full --- >>>> /usr/local/bin/gcc49 -O2 -pipe = -I/usr/src/cddl/usr.bin/ctfconvert/../../../sys/cddl/compat/opensolaris = -I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/compat/opensolaris/includ= e -I/usr/src/cddl/usr.b >>>> in/ctfconvert/../../../cddl/contrib/opensolaris = -I/usr/src/cddl/usr.bin/ctfconvert/../../../sys/cddl/contrib/opensolaris = -I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/head = -I/us >>>> = r/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/= common >>> = -I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools= /ctf/cvt >>> -I/usr/src/cddl/usr.bin/ctfconvert/. >>>> ./../../sys/cddl/contrib/opensolaris/uts/common = -DNEED_SOLARIS_BOOLEAN -g -std=3Dgnu99 = -I/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/legacy/usr/include = -static -L/usr/obj/xtoolchain/powerpc.power >>>> pc64/usr/src/tmp/legacy/usr/lib -o ctfconvert.full alist.o ctf.o = ctfconvert.o dwarf.o fixup_tdescs.o hash.o iidesc.o input.o list.o = memory.o merge.o output.o st_parse.o stabs.o stack.o strtab.o symbol >>>> .o tdata.o traverse.o util.o -ldwarf -lelf -lelf -lz = -lpthread -legacy >>>> dwarf.o: In function `die_off': >>>> = /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/c= tf/cvt/dwarf.c:270: undefined reference to `dwarf_errmsg' >>>> dwarf.o: In function `die_sibling': >>>> = /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/c= tf/cvt/dwarf.c:288: undefined reference to `dwarf_errmsg' >>>> dwarf.o: In function `die_child': >>>> = /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/c= tf/cvt/dwarf.c:305: undefined reference to `dwarf_errmsg' >>>> dwarf.o: In function `die_tag': >>>> = /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/c= tf/cvt/dwarf.c:319: undefined reference to `dwarf_errmsg' >>>> dwarf.o: In function `die_unsigned': >>>> = /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/c= tf/cvt/dwarf.c:370: undefined reference to `dwarf_errmsg' >>>> = dwarf.o:/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris= /tools/ctf/cvt/dwarf.c:418: more undefined references to `dwarf_errmsg' = follow >>>> dwarf.o: In function `dw_read': >>>> = /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/c= tf/cvt/dwarf.c:1963: undefined reference to `dwarf_errno' >>>> = /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/c= tf/cvt/dwarf.c:1971: undefined reference to `dwarf_errmsg' >>>> = /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/c= tf/cvt/dwarf.c:1977: undefined reference to `dwarf_errmsg' >>>> collect2: error: ld returned 1 exit status >>>> *** [ctfconvert.full] Error code 1 >>=20 >=20 >=20 > --=20 > Regards, > Bryan Drewery =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9E3033D5-F416-4B78-97C2-0A0AABF5A49E>