Bug 1071782

Summary: Build fails after using "make clean": lxc/lxc_monitor_protocol.x, line 18: expected ';'
Product: [Community] Virtualization Tools Reporter: redhat
Component: libvirtAssignee: Eric Blake <eblake>
Status: CLOSED DEFERRED QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: crobinso, eblake, rbalakri
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-10 14:15:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
difference in src/lxc/lxc_monitor_protocol.h none

Description redhat 2014-03-03 07:26:26 UTC
Description of problem:
Build fails on OS X after "make clean" has been used

Version-Release number of selected component (if applicable):
1.2.2

How reproducible:
Always

Steps to Reproduce:
1. ./configure
2. make clean
3. make

Actual results:
Making all in src
  GEN      lxc/lxc_monitor_protocol.h
    unsigned hyper initpid;
^^^^^^^^^^^^^^^^^^^^^^^^^^
lxc/lxc_monitor_protocol.x, line 18: expected ';'
cannot shutdown /usr/bin/rpcgen:  at ./rpc/genprotocol.pl line 136.
make[2]: *** [lxc/lxc_monitor_protocol.h] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Expected results:
Successful build

Additional info:
While attempting to reduce a different bug, I started encountering a different error, which turned out to be because I had introduced "make clean" into my testing regime. I'm used to "make clean" removing things created by "make" but retaining things created by "./configure" or contained in the tarball; with libvirt, that does not seem to be the case.

Comment 1 redhat 2014-03-03 07:38:56 UTC
Created attachment 869810 [details]
difference in src/lxc/lxc_monitor_protocol.h

Attached is the difference in src/lxc/lxc_monitor_protocol.h: the original version in the tarball, vs. the version that got generated after running "make clean".

Comment 2 Eric Blake 2014-03-04 21:30:54 UTC
It is already known that rpcgen on non-glibc systems tends to produce broken files.  It's a bit unfortunate that 'make clean' is removing files from the tarball, even though those files cannot be reliably regenerated.  We definitely have some cleanup work to do here; meanwhile, it would be nice if we could fix the protocol file generation to work with non-glibc rpcgen tools.

Comment 3 Cole Robinson 2016-04-10 14:15:36 UTC
Fixing libvirt to work on non-glibc rpcgen hasn't happened yet, and it will probably take a motivated person with a different dev platform to show up and do the work. I don't think there's much utility in keeping this bug open. If people continue to have issues here I suggest mailing libvir-list