[libvirt] libvirt-glib fails to compile with CLANG compiler

When compiling libvirt-glib with CLANG, I get the following error. 16 warnings generated. CCLD libvirt-glib-1.0.la GEN LibvirtGLib-1.0.gir /usr/local/lib/libvirt.so: undefined reference to `__stack_chk_fail_local' clang: error: linker command failed with exit code 1 (use -v to see invocation) linking of temporary binary failed: Command '['/usr/local/bin/libtool', '--mode=link', '--tag=CC', '--silent', 'clang', '-o', '/usr/home/helfman/workspace/ports/devel/libvirt-glib/work/libvirt-glib-0.1.7/libvirt-glib/tmp-introspectOO6vqG/LibvirtGLib-1.0', '-export-dynamic', '-O2', '-pipe', '-fno-strict-aliasing', '-L/usr/local/lib', '-fstack-protector', '/usr/home/helfman/workspace/ports/devel/libvirt-glib/work/libvirt-glib-0.1.7/libvirt-glib/tmp-introspectOO6vqG/LibvirtGLib-1.0.o', '-L.', './libvirt-glib-1.0.la', '-lgio-2.0', '-lgobject-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0', '-lgthread-2.0', '-pthread', '-L/usr/local/lib', '-lglib-2.0', '-lintl']' returned non-zero exit status 1 gmake[2]: *** [LibvirtGLib-1.0.gir] Error 1 gmake[2]: Leaving directory `/usr/home/helfman/workspace/ports/devel/libvirt-glib/work/libvirt-glib-0.1.7/libvirt-glib' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr/home/helfman/workspace/ports/devel/libvirt-glib/work/libvirt-glib-0.1.7' gmake: *** [all] Error 2 *** [do-build] Error code 1 -jgh -- Jason Helfman | FreeBSD Committer jgh@FreeBSD.org | http://people.freebsd.org/~jgh | The Power to Serve

Hey, On Wed, Sep 25, 2013 at 09:31:52AM -0700, Jason Helfman wrote:
When compiling libvirt-glib with CLANG, I get the following error.
16 warnings generated. CCLD libvirt-glib-1.0.la GEN LibvirtGLib-1.0.gir /usr/local/lib/libvirt.so: undefined reference to `__stack_chk_fail_local' clang: error: linker command failed with exit code 1 (use -v to see invocation)
make V=1 would show more details about what it's attempting to do. I tried a compilation with clang-3.3-0.6.rc3.fc19.x86_64 here, using CC=clang ./autogen.sh --disable-introspection and hit some issues related to -fxxx -Wxxx flags clang did not like, but after disabling these (manually for now), compilation worked properly. I had errors with the .gir generation, hence the --disable-introspection, but the errors were not related to undefined __stack_chk_fail_local symbols. Can you give more details about your setup? Also, I assume the build tree was clean (ie there was no stray .o generated with gcc in it?) Christophe

On Thu, Sep 26, 2013 at 6:06 AM, Christophe Fergeau <cfergeau@redhat.com>wrote:
Hey,
On Wed, Sep 25, 2013 at 09:31:52AM -0700, Jason Helfman wrote:
When compiling libvirt-glib with CLANG, I get the following error.
16 warnings generated. CCLD libvirt-glib-1.0.la GEN LibvirtGLib-1.0.gir /usr/local/lib/libvirt.so: undefined reference to `__stack_chk_fail_local' clang: error: linker command failed with exit code 1 (use -v to see invocation)
make V=1 would show more details about what it's attempting to do. I tried a compilation with clang-3.3-0.6.rc3.fc19.x86_64 here, using CC=clang ./autogen.sh --disable-introspection and hit some issues related to -fxxx -Wxxx flags clang did not like, but after disabling these (manually for now), compilation worked properly. I had errors with the .gir generation, hence the --disable-introspection, but the errors were not related to undefined __stack_chk_fail_local symbols.
Can you give more details about your setup? Also, I assume the build tree was clean (ie there was no stray .o generated with gcc in it?)
Christophe
http://people.freebsd.org/~jgh/files/libvirt-glib-make.log It was clean, yes. -jgh -- Jason Helfman | FreeBSD Committer jgh@FreeBSD.org | http://people.freebsd.org/~jgh | The Power to Serve

Hi, On Fri, Sep 27, 2013 at 12:09:43PM -0700, Jason Helfman wrote:
On Thu, Sep 26, 2013 at 6:06 AM, Christophe Fergeau <cfergeau@redhat.com>wrote:
On Wed, Sep 25, 2013 at 09:31:52AM -0700, Jason Helfman wrote:
When compiling libvirt-glib with CLANG, I get the following error.
16 warnings generated. CCLD libvirt-glib-1.0.la GEN LibvirtGLib-1.0.gir /usr/local/lib/libvirt.so: undefined reference to `__stack_chk_fail_local' clang: error: linker command failed with exit code 1 (use -v to see invocation)
http://people.freebsd.org/~jgh/files/libvirt-glib-make.log
It was clean, yes.
Rereading that log more carefully, it's complaining about a missing symbol in the installed libvirt.so, not in one of the .so that was just built. Are other applications able to link against libvirt? Was libvirt compiled with clang or gcc? Christophe

On Tue, Oct 1, 2013 at 3:17 AM, Christophe Fergeau <cfergeau@redhat.com>wrote:
Hi,
On Fri, Sep 27, 2013 at 12:09:43PM -0700, Jason Helfman wrote:
On Thu, Sep 26, 2013 at 6:06 AM, Christophe Fergeau <cfergeau@redhat.com wrote:
On Wed, Sep 25, 2013 at 09:31:52AM -0700, Jason Helfman wrote:
When compiling libvirt-glib with CLANG, I get the following error.
16 warnings generated. CCLD libvirt-glib-1.0.la GEN LibvirtGLib-1.0.gir /usr/local/lib/libvirt.so: undefined reference to `__stack_chk_fail_local' clang: error: linker command failed with exit code 1 (use -v to see invocation)
http://people.freebsd.org/~jgh/files/libvirt-glib-make.log
It was clean, yes.
Rereading that log more carefully, it's complaining about a missing symbol in the installed libvirt.so, not in one of the .so that was just built. Are other applications able to link against libvirt? Was libvirt compiled with clang or gcc?
Christophe
That is odd. I de-installed libvirt, and re-installed it. After this libvirt-glib compiled with CLANG, and didn't result in any failure. Many warnings, but good to know it does compile. Thanks! -jgh -- Jason Helfman | FreeBSD Committer jgh@FreeBSD.org | http://people.freebsd.org/~jgh | The Power to Serve

On Tue, Oct 01, 2013 at 08:35:41AM -0700, Jason Helfman wrote:
On Tue, Oct 1, 2013 at 3:17 AM, Christophe Fergeau <cfergeau@redhat.com>wrote:
Hi,
On Fri, Sep 27, 2013 at 12:09:43PM -0700, Jason Helfman wrote:
On Thu, Sep 26, 2013 at 6:06 AM, Christophe Fergeau <cfergeau@redhat.com wrote:
On Wed, Sep 25, 2013 at 09:31:52AM -0700, Jason Helfman wrote:
When compiling libvirt-glib with CLANG, I get the following error.
16 warnings generated. CCLD libvirt-glib-1.0.la GEN LibvirtGLib-1.0.gir /usr/local/lib/libvirt.so: undefined reference to `__stack_chk_fail_local' clang: error: linker command failed with exit code 1 (use -v to see invocation)
http://people.freebsd.org/~jgh/files/libvirt-glib-make.log
It was clean, yes.
Rereading that log more carefully, it's complaining about a missing symbol in the installed libvirt.so, not in one of the .so that was just built. Are other applications able to link against libvirt? Was libvirt compiled with clang or gcc?
Christophe
That is odd. I de-installed libvirt, and re-installed it. After this libvirt-glib compiled with CLANG, and didn't result in any failure. Many warnings, but good to know it does compile.
Hmm, I don't see any warnings at all, compiling with CLang on Linux. Please let us know what you're seeing on BSD ? Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On Tue, Oct 1, 2013 at 8:46 AM, Daniel P. Berrange <berrange@redhat.com>wrote:
On Tue, Oct 01, 2013 at 08:35:41AM -0700, Jason Helfman wrote:
On Tue, Oct 1, 2013 at 3:17 AM, Christophe Fergeau <cfergeau@redhat.com wrote:
Hi,
On Fri, Sep 27, 2013 at 12:09:43PM -0700, Jason Helfman wrote:
On Thu, Sep 26, 2013 at 6:06 AM, Christophe Fergeau < cfergeau@redhat.com wrote:
On Wed, Sep 25, 2013 at 09:31:52AM -0700, Jason Helfman wrote:
When compiling libvirt-glib with CLANG, I get the following error.
16 warnings generated. CCLD libvirt-glib-1.0.la GEN LibvirtGLib-1.0.gir /usr/local/lib/libvirt.so: undefined reference to `__stack_chk_fail_local' clang: error: linker command failed with exit code 1 (use -v to see invocation)
http://people.freebsd.org/~jgh/files/libvirt-glib-make.log
It was clean, yes.
Rereading that log more carefully, it's complaining about a missing symbol in the installed libvirt.so, not in one of the .so that was just built. Are other applications able to link against libvirt? Was libvirt compiled with clang or gcc?
Christophe
That is odd. I de-installed libvirt, and re-installed it. After this libvirt-glib compiled with CLANG, and didn't result in any failure. Many warnings, but good to know it does compile.
Hmm, I don't see any warnings at all, compiling with CLang on Linux. Please let us know what you're seeing on BSD ?
Daniel
Here are some build logs. The first is for amd64, and the latter is for i386. https://redports.org/~jgh/20131001181900-6317-149023/libvirt-glib-0.1.7.log https://redports.org/~jgh/20131001181900-6317-149026/libvirt-glib-0.1.7.log -jgh -- Jason Helfman | FreeBSD Committer jgh@FreeBSD.org | http://people.freebsd.org/~jgh | The Power to Serve

Hey, On Tue, Oct 01, 2013 at 01:05:33PM -0700, Jason Helfman wrote:
Here are some build logs. The first is for amd64, and the latter is for i386.
https://redports.org/~jgh/20131001181900-6317-149023/libvirt-glib-0.1.7.log https://redports.org/~jgh/20131001181900-6317-149026/libvirt-glib-0.1.7.log
Most (all?) warnings are "unknown warning option" which should be addressed by http://libvirt.org/git/?p=libvirt-glib.git;a=commit;h=2dcdd52679ba85b7aca739... Christophe
participants (3)
-
Christophe Fergeau
-
Daniel P. Berrange
-
Jason Helfman