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