Re: Current build world failed: bsdxml is missing?

From: Arseny Nasokin <eirnym_at_gmail.com>
Date: Fri, 27 Feb 2015 15:51:49 +0400
On 17 February 2015 at 01:10, Arseny Nasokin <eirnym_at_gmail.com> wrote:

> On 16 February 2015 at 17:04, Arseny Nasokin <eirnym_at_gmail.com> wrote:
>
>> On 16 February 2015 at 15:34, Garrett Cooper <yaneurabeya_at_gmail.com>
>> wrote:
>>
>>> On Feb 16, 2015, at 4:28, Arseny Nasokin <eirnym_at_gmail.com> wrote:
>>>
>>> > Geom XML output is failed to build.
>>> >
>>> > Build box SVN version is: CURRENT-r265265.
>>> >
>>> > Related log output is:
>>> >
>>> > --- sbin.all__D ---
>>> > /usr/obj/usr/src/tmp/usr/lib/libgeom.a(geom_xml2tree.o): In function
>>> > `geom_xml2tree':
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x5e): undefined reference
>>> to
>>> > `XML_ParserCreate'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xa2): undefined reference
>>> to
>>> > `XML_SetUserData'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xb4): undefined reference
>>> to
>>> > `XML_SetElementHandler'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xc1): undefined reference
>>> to
>>> > `XML_SetCharacterDataHandler'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xdb): undefined reference
>>> to
>>> > `XML_Parse'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xfd): undefined reference
>>> to
>>> > `XML_ParserFree'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x373): undefined
>>> reference to
>>> > `XML_ParserFree'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x37d): undefined
>>> reference to
>>> > `XML_GetErrorCode'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x397): undefined
>>> reference to
>>> > `XML_ParserFree'
>>> > /usr/obj/usr/src/tmp/usr/lib/libgeom.a(geom_xml2tree.o): In function
>>> > `StartElement':
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x3eb): undefined
>>> reference to
>>> > `sbuf_new'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x735): undefined
>>> reference to
>>> > `XML_StopParser'
>>> > /usr/obj/usr/src/tmp/usr/lib/libgeom.a(geom_xml2tree.o): In function
>>> > `EndElement':
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x7bb): undefined
>>> reference to
>>> > `sbuf_finish'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x7d0): undefined
>>> reference to
>>> > `sbuf_data'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x7e9): undefined
>>> reference to
>>> > `sbuf_delete'
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xa25): undefined
>>> reference to
>>> > `XML_StopParser'
>>> > /usr/obj/usr/src/tmp/usr/lib/libgeom.a(geom_xml2tree.o): In function
>>> > `CharData':
>>> > /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xc62): undefined
>>> reference to
>>> > `sbuf_bcat’
>>>
>>> I think the fact that it’s missing sbuf* is the underlying cause for the
>>> failures seen here. Can you please post more context in a pastebin or
>>> something (what phase did buildworld fail, what options did you pass to
>>> make, i.e. -DNO_CLEAN, etc?)?
>>>
>>> Thanks!
>>>
>>
>> Thank you for fast reply,
>>
>> I remove /usr/obj/usr and $TMPDIR explicitly with rm(1) and
>> chflags(1) and only then build world. (I use separate $TMPDIR for that
>> process)
>>
>> # make toolchain 'SRCCONF=/path/to/src.conf' -DNO_CLEAN
>> '__MAKE_CONF=/dev/null' 'TARGET=amd64'
>> # make buildworld 'SRCCONF=/path/to/src.conf' -DNO_CLEAN
>> '__MAKE_CONF=/dev/null' 'TARGET=amd64'
>> ...
>>
>> The stage is: 4.4 (building everything)
>>
>> Build script is here:
>> https://bitbucket.org/eirnym/bsd/src/9822ba9b1ed54414a79d5a632b3857f8b671c769/builder/mkw.sh?at=default
>>
>> -- Eir Nym
>>
>
>
> Full log is here http://eroese.org/_/_/pub/bsd/world.amd64.278844.log
> (~23 Mb)
>
> Recent part is:
>
> gzip -cn /usr/src/sbin/atm/atmconfig/atmconfig.8 > atmconfig.8.gz
> ===> sbin/badsect (all)
> cc  -O2 -pipe   -DNDEBUG -std=gnu99 -fstack-protector -Wsystem-headers
> -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
> -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare
> -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function
> -Wno-enum-conversion -Wno-switch -Wno-switch-enum
> -Wno-knr-promoted-parameter -Qunused-arguments -c
> /usr/src/sbin/badsect/badsect.c
> ctfconvert -L VERSION badsect.o
> ERROR: ctfconvert: badsect.o doesn't have type data to convert
> cc  -O2 -pipe   -DNDEBUG -std=gnu99 -fstack-protector -Wsystem-headers
> -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
> -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare
> -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function
> -Wno-enum-conversion -Wno-switch -Wno-switch-enum
> -Wno-knr-promoted-parameter -Qunused-arguments  -static -o badsect
> badsect.o  -lufs
> ctfmerge -L VERSION -o badsect badsect.o
> ERROR: ctfmerge: No ctf sections found to merge
> gzip -cn /usr/src/sbin/badsect/badsect.8 > badsect.8.gz
> ===> sbin/bsdlabel (all)
> cc  -O2 -pipe   -DNDEBUG -std=gnu99 -fstack-protector -Wsystem-headers
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int
> -Wno-unused-const-variable -Qunused-arguments -c
> /usr/src/sbin/bsdlabel/bsdlabel.c
> ctfconvert -L VERSION bsdlabel.o
> ERROR: ctfconvert: bsdlabel.o doesn't have type data to convert
> cc  -O2 -pipe   -DNDEBUG -std=gnu99 -fstack-protector -Wsystem-headers
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int
> -Wno-unused-const-variable -Qunused-arguments -c
> /usr/src/sbin/bsdlabel/../../sys/geom/geom_bsd_enc.c
> ctfconvert -L VERSION geom_bsd_enc.o
> ERROR: ctfconvert: geom_bsd_enc.o doesn't have type data to convert
> cc  -O2 -pipe   -DNDEBUG -std=gnu99 -fstack-protector -Wsystem-headers
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int
> -Wno-unused-const-variable -Qunused-arguments  -static -o bsdlabel
> bsdlabel.o geom_bsd_enc.o  -lgeom
> /usr/obj/usr/src/tmp/usr/lib/libgeom.a(geom_xml2tree.o): In function
> `geom_xml2tree':
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x5e): undefined reference to
> `XML_ParserCreate'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xa2): undefined reference to
> `XML_SetUserData'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xb4): undefined reference to
> `XML_SetElementHandler'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xc1): undefined reference to
> `XML_SetCharacterDataHandler'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xdb): undefined reference to
> `XML_Parse'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xfd): undefined reference to
> `XML_ParserFree'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x373): undefined reference to
> `XML_ParserFree'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x37d): undefined reference to
> `XML_GetErrorCode'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x397): undefined reference to
> `XML_ParserFree'
> /usr/obj/usr/src/tmp/usr/lib/libgeom.a(geom_xml2tree.o): In function
> `StartElement':
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x3eb): undefined reference to
> `sbuf_new'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x735): undefined reference to
> `XML_StopParser'
> /usr/obj/usr/src/tmp/usr/lib/libgeom.a(geom_xml2tree.o): In function
> `EndElement':
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x7bb): undefined reference to
> `sbuf_finish'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x7d0): undefined reference to
> `sbuf_data'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0x7e9): undefined reference to
> `sbuf_delete'
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xa25): undefined reference to
> `XML_StopParser'
> /usr/obj/usr/src/tmp/usr/lib/libgeom.a(geom_xml2tree.o): In function
> `CharData':
> /usr/src/lib/libgeom/geom_xml2tree.c:(.text+0xc62): undefined reference to
> `sbuf_bcat'
> cc: error: linker command failed with exit code 1 (use -v to see
> invocation)
> *** Error code 1
>
> Stop.
> make[4]: stopped in /usr/src/sbin/bsdlabel
> *** Error code 1
>
>
> -- Eir Nym
>

Hi guys,

I've found the reason and I've fixed it.

The reason is I build world with WITHOUT_DYNAMIC_ROOT option. The library
libgeom depends on libbsdxml and libsbuf which will not linked to target
program in this case.

I have the patch for several programs in sbin and usr.sbin to fix this
problem.


-- Eir Nym
Received on Fri Feb 27 2015 - 10:52:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:56 UTC