[Gluster-devel] Build on FreeBSD and gcc version

Niels de Vos ndevos at redhat.com
Thu Sep 7 09:17:13 UTC 2017


On Wed, Sep 06, 2017 at 12:39:42PM +0200, Michael Scherer wrote:
> 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'

FreeBSD seems to provide argp-standalone as a port. It would be better
to use that instead of our bundled version.
  https://www.freebsd.org/ports/devel.html#argp-standalone-1.3_2


> 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!

libgfapi should not need to link with libargp. This probably is an error
in LDFLAGS or something.
 
> 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 don't know of any reason, but we should fix it somehow.

> 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  

Yeah, this is one of the things that people want to see supported
(although I don't remember the reason). It breaks every now and then :-/

HTH,
Niels


More information about the Gluster-devel mailing list