[Gluster-devel] Adventures in building GlusterFS

Krishnan Parthasarathi kparthas at redhat.com
Thu Apr 2 03:50:52 UTC 2015


Apologies for breaking the build. I am out of office. Please revert
review #9492.

----- Original Message -----
> As many of you have undoubtedly noticed, we're now in a situation where
> *all* regression builds are now failing, with something like this:
> 
> -----
> cc1: warnings being treated as errors
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c:
> In function ‘glusterd_snap_quorum_check_for_create’:
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c:2615:
> error: passing argument 2 of ‘does_gd_meet_server_quorum’ from
> incompatible pointer type
> /home/jenkins/root/workspace/rackspace-regression-2GB-triggered/xlators/mgmt/glusterd/src/glusterd-server-quorum.h:56:
> note: expected ‘struct list_head *’ but argument is of type ‘struct
> cds_list_head *’
> -----
> 
> The reason is that -Werror was turned on earlier today.  I'm not quite
> sure how or where, because the version of build.sh that I thought builds
> would use doesn't seem to have changed since September 8, but then
> there's a lot about this system I don't understand.  Vijay (who I
> believe made the change) knows it better than I ever will.  In any case,
> this started me on a little journey of exploration.
> 
> I actually do builds a bit differently than Jenkins does, and as far as
> I know differently than any other developer.  I do a complete RPM build
> for every change, precisely to catch problems in that pipeline, but that
> means some of the things I do might not be applicable or even safe when
> "make install" is issued directly instead.
> 
> The first thing I had to do was add a couple of exceptions to -Werror
> because of warnings that have been with us for ages.  Specifically:
> 
>         -Wno-error=cpp because multiple things generate warnings about
>         _BSD_SOURCE and _SVID_SOURCE being deprecated
> 
>         -Wno-error=maybe-uninitialized because some of the qemu code is
>         bad that way
> 
> That got me to the point where I could see - and hopefully debug -
> today's issue.  As far as I can tell, the types changed with this patch:
> 
>         http://review.gluster.org/#/c/9492/
>         glusterd: group server-quorum related code together
> 
> There's also a patch to fix the type mismatch that leads to the build
> error:
> 
>         http://review.gluster.org/#/c/10105/
>         mgmt/glusterd: set right definition of does_gd_meet_server_quorum()
> 
> Unfortunately, applying the later patch to my tree didn't solve the
> problem.  I got similar errors in another related set of functions,
> indicating that the type mismatch had just been pushed to a different
> level.  However, by *reverting* the first patch, along with the flag
> changes mentioned above, I was able to get a successful build.
> 
> My recommendations:
> 
>         (1) Apply the -Wno-error=cpp and -Wno-error=maybe-uninitialized
>         changes wherever they need to be applied so that they're
>         effective during normal regression builds
> 
>         (2) Revert patch 9492
> 
>         (3) Once regressions are running again, figure out how to make
>         the necessary code changes so that (1) and (2) are no longer
>         necessary
> 
> I'm unable to do either of these things myself.  Would anyone else like
> to do so, or suggest an alternative remedy?
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel
> 


More information about the Gluster-devel mailing list