Package: open-vm-tools
Version: 2:9.4.0-1280544-8
Severity: wishlist
Usertags: goto-cc

During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder
and pbuilder) the build failed with the following error. Please note that we
use our research compiler tool-chain (using tools from the cbmc package), which
permits extended reporting on type inconsistencies at link time.

[...]
libtool: link: gcc -shared  -fPIC -DPIC  .libs/libvmtools_la-i18n.o 
.libs/libvmtools_la-monotonicTimer.o .libs/libvmtools_la-signalSource.o 
.libs/libvmtools_la-vmtools.o .libs/libvmtools_la-vmtoolsConfig.o 
.libs/libvmtools_la-vmtoolsLog.o .libs/libvmtools_la-vmxLogger.o 
.libs/libvmtools_la-stub-log.o  -Wl,--whole-archive ../lib/lock/.libs/libLock.a 
../lib/backdoor/.libs/libBackdoor.a ../lib/dict/.libs/libDict.a 
../lib/dynxdr/.libs/libDynxdr.a ../lib/err/.libs/libErr.a 
../lib/file/.libs/libFile.a ../lib/glibUtils/.libs/libGlibUtils.a 
../lib/guestApp/.libs/libGuestApp.a ../lib/guestRpc/.libs/libGuestRpc.a 
../lib/message/.libs/libMessage.a ../lib/netUtil/.libs/libNetUtil.a 
../lib/panic/.libs/libPanic.a ../lib/procMgr/.libs/libProcMgr.a 
../lib/rpcChannel/.libs/libRpcChannel.a ../lib/rpcIn/.libs/libRpcIn.a 
../lib/rpcOut/.libs/libRpcOut.a ../lib/rpcVmx/.libs/libRpcVmx.a 
../lib/string/.libs/libString.a ../lib/syncDriver/.libs/libSyncDriver.a 
../lib/system/.libs/libSystem.a ../lib/stubs/.libs/libStubsCS.a 
../lib/unicode/.libs/libUnicode.a ../lib/user/.libs/libUser.a 
../lib/vmCheck/.libs/libVmCheck.a ../lib/vmSignal/.libs/libVmSignal.a 
../lib/wiper/.libs/libWiper.a ../lib/misc/.libs/libMisc.a 
-Wl,--no-whole-archive  -lrt -lcrypt -lpthread -lglib-2.0 
-L/usr/lib/x86_64-linux-gnu -licui18n -licuuc -licudata -ldl -lm  -O2 -Wl,-z 
-Wl,defs -Wl,-lc -Wl,-z -Wl,relro -Wl,-z -Wl,relro   -Wl,-soname 
-Wl,libvmtools.so.0 -o .libs/libvmtools.so.0.0.0

error: conflicting function declarations "getrlimit"
old definition in module vmtoolsLog file 
/usr/include/x86_64-linux-gnu/sys/resource.h line 54
signed int (signed int, struct rlimit *)
new definition in module hostinfoPosix file 
/usr/include/x86_64-linux-gnu/sys/resource.h line 54
signed int (enum __rlimit_resource, struct rlimit *)
Makefile:517: recipe for target 'libvmtools.la' failed
make[2]: *** [libvmtools.la] Error 64
make[2]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-open-vm-tools/open-vm-tools-9.4.0-1280544/libvmtools'
Makefile:483: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1

This is likely safe in practice, but may point out a maintenance issue as
_GNU_SOURCE should rather be set on the compiler command line or in a common
header file than on a per-file basis. The latter, however, is the case here:

http://sources.debian.net/src/open-vm-tools/2:9.4.0-1280544-8/lib/misc/hostinfoPosix.c

does define _GNU_SOURCE, while

http://sources.debian.net/src/open-vm-tools/2:9.4.0-1280544-8/libvmtools/vmtoolsLog.c

doesn't.

Best,
Michael

Attachment: pgpTbaCL01haw.pgp
Description: PGP signature

Reply via email to