[Gluster-devel] Build on FreeBSD and gcc version
Michael Scherer
mscherer at redhat.com
Wed Sep 6 16:13:37 UTC 2017
Le mercredi 06 septembre 2017 à 12:39 +0200, Michael Scherer a écrit :
> Hi,
>
> so I have been trying to make the internal freebsd builder usable,
> sinc
> eit was freshly installed and not building anything.
>
> Over the course of the day, I found a few missing deps, found a ton
> of
> warnings (I started to fix the easy one, not sure what to do for the
> more complicated one around gf_log formating), but yesterday, I
> stumbled on a more puzzling issue:
>
> CCLD glusterfsd
> ../../contrib/argp-standalone/libargp.a(argp-help.o): In function
> `_help':
> /tmp/glusterfs/contrib/argp-standalone/argp-help.c:1608: undefined
> reference to `argp_fmtstream_set_wmargin'
> /tmp/glusterfs/contrib/argp-standalone/argp-help.c:1622: undefined
> reference to `argp_fmtstream_set_lmargin'
>
>
> I also see message like this:
> libtool: warning: relinking 'libgfapi.la'
> *** Warning: Linking the shared library libgfapi.la against the
> *** static library ../../contrib/argp-standalone/libargp.a is not
> portable!
>
>
> After looking at the old builder, I found a few differences:
> - old one is FreeBSD 10.1, new one is 10.3
> - old one is using gcc 4.8, new one was on clang.
>
> So I did install gcc, turn out that this was the version 5 by default
> on FreeBSD and it still do not work with it.
>
> Then I forced gcc4.8 and now it build fine.
> Even better, once I forced the version, it also build (but I suspect
> that's just some bad cleanup on my side, more tests are needed)
>
> Any reason on why this would fail on gcc 5, and not 4.8, and what we
> should do for that ?
>
> I also found that what fail is to build only in Jenkins, most likely
> due to the setup where we build with a out of source tree directory
> for
> binary. It work fine if doing ./configure ; make ; make install
So digging more, I suspect the problem is somewhere with our bundled
version of argp-standalone in contribs/, who do not include some symbol
when compiling with build.sh
$ objdump -t argp-fmtstream.o |grep .text
0000000000000fb0 l F .text 0000000000000076
__getCurrentRuneLocale
0000000000000b00 l F .text 0000000000000035 __sbistype
0000000000000f40 l F .text 000000000000006b __sbmaskrune
0000000000000a70 l F .text 0000000000000090 __sputc
0000000000000000 l d .text 0000000000000000 .text
0000000000000b40 g F .text 00000000000001d3
_argp_fmtstream_ensure
0000000000000190 g F .text 00000000000008de
_argp_fmtstream_update
0000000000000100 g F .text 0000000000000082
argp_fmtstream_free
0000000000000d20 g F .text 0000000000000216
argp_fmtstream_printf
0000000000000000 g F .text 00000000000000fa
argp_make_fmtstream
So I started to dig, and dig so deep that I am basically near New
Zealand.
And so far, I found that build.sh redefinition of CFLAGS is likely the
problem, as it likely erase something.
I am gonna dig in details tomorrow, posting my research so far if
someone is interested into fixing that in the night :)
--
Michael Scherer
Sysadmin, Community Infrastructure and Platform, OSAS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20170906/08e6dda7/attachment.sig>
More information about the Gluster-devel
mailing list