svn commit: r297435 - head: still problems for stage 3 when gcc 4.2.1 is avoided (powerpc64 self-hosted build)
Mark Millard
markmi at dsl-only.net
Thu Mar 31 22:02:33 UTC 2016
> On 2016-Mar-31, at 2:32 PM, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
>
> On 3/31/16 2:23 PM, Mark Millard wrote:
>> I use the likes of:
>>
>>>> # diff -rq /usr/include /usr/local/include | grep "^Files "
>> to find what to rename for the duration of the system builds.
>>
>> 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):
>>
>
> 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.
>
> 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.
>
>>>> # 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 .
>>
>> The failure shows references to dwarf_errmsg instead of dwarf_errmsg_ --and dwarf_errmsg being undefined (dwarf_errno has similar issues):
>>
>>>> --------------------------------------------------------------
>>>>>>>>>> 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/include -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=gnu99 -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/ctf/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/ctf/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/ctf/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/ctf/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/ctf/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/ctf/cvt/dwarf.c:1963: undefined reference to `dwarf_errno'
>>>> /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c:1971: undefined reference to `dwarf_errmsg'
>>>> /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c:1977: undefined reference to `dwarf_errmsg'
>>>> collect2: error: ld returned 1 exit status
>>>> *** [ctfconvert.full] Error code 1
>>
>
>
> --
> Regards,
> Bryan Drewery
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-current
mailing list