bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

compilation failure of gstreamer with libtool 2.2.6a on Mac OS


From: Andy Wingo
Subject: compilation failure of gstreamer with libtool 2.2.6a on Mac OS
Date: Wed, 05 Nov 2008 17:08:10 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

Hello all,

I wanted to see if the new libtool would work on Mac OS, so I ran a
rebuild of my jhbuild. I got an error, one that seems pretty clear. I've
reflowed the text for legibility but I didn't add trailing backslashes.

/bin/sh ../../../libtool --tag=CC --mode=link gcc -I../../../libs
    -I../../.. -I../../.. -D_REENTRANT -I/opt/yobuild/include/glib-2.0
    -I/opt/yobuild/lib/glib-2.0/include -I/opt/yobuild/include/libxml2
    -Wall -Wdeclaration-after-statement -Werror -fno-strict-aliasing -g
    -DGST_DISABLE_DEPRECATED -I/opt/yobuild/include -O -g -gstabs+3
    -std=gnu89 -export-symbols-regex \^_*\(gst_\|Gst\|GST_\).*
    -no-undefined -version-info 18:0:18 -L/opt/yobuild/lib
    -L/opt/yobuild/lib -Wl,-headerpad_max_install_names -o
    libgstbase-0.10.la -rpath /opt/yobuild/lib
    libgstbase_0.10_la-gstadapter.lo libgstbase_0.10_la-gstbasesink.lo
    libgstbase_0.10_la-gstbasesrc.lo
    libgstbase_0.10_la-gstbasetransform.lo
    libgstbase_0.10_la-gstbitreader.lo
    libgstbase_0.10_la-gstbytereader.lo
    libgstbase_0.10_la-gstcollectpads.lo
    libgstbase_0.10_la-gstpushsrc.lo
    libgstbase_0.10_la-gsttypefindhelper.lo
    libgstbase_0.10_la-gstdataqueue.lo ../../../gst/libgstreamer-0.10.la
    -L/opt/yobuild/lib -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0
    -lglib-2.0 -lintl -L/opt/yobuild/lib -lintl -liconv -lc
    -R/opt/yobuild/lib -ldl

Here we see that we're trying to link against a lib that we've already
compiled but not installed, in the builddir: the
../../../gst/libgstreamer-0.10.la.

libtool: link: rm -fr  .libs/libgstbase-0.10.exp
libtool: link: /usr/bin/nm -p .libs/libgstbase_0.10_la-gstadapter.o
    .libs/libgstbase_0.10_la-gstbasesink.o
    .libs/libgstbase_0.10_la-gstbasesrc.o
    .libs/libgstbase_0.10_la-gstbasetransform.o
    .libs/libgstbase_0.10_la-gstbitreader.o
    .libs/libgstbase_0.10_la-gstbytereader.o
    .libs/libgstbase_0.10_la-gstcollectpads.o
    .libs/libgstbase_0.10_la-gstpushsrc.o
    .libs/libgstbase_0.10_la-gsttypefindhelper.o
    .libs/libgstbase_0.10_la-gstdataqueue.o | sed -n -e 's/^.*[
    ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2
    \2/p' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libgstbase-0.10.exp
libtool: link: /usr/bin/grep -E -e "^_*(gst_|Gst|GST_).*"
    ".libs/libgstbase-0.10.exp" > ".libs/libgstbase-0.10.expT"
libtool: link: mv -f ".libs/libgstbase-0.10.expT" ".libs/libgstbase-0.10.exp"
libtool: link: sed 's,^,_,' < .libs/libgstbase-0.10.exp > 
.libs/libgstbase-0.10-symbols.expsym
libtool: link: gcc -dynamiclib -o .libs/libgstbase-0.10.0.dylib
    .libs/libgstbase_0.10_la-gstadapter.o
    .libs/libgstbase_0.10_la-gstbasesink.o
    .libs/libgstbase_0.10_la-gstbasesrc.o
    .libs/libgstbase_0.10_la-gstbasetransform.o
    .libs/libgstbase_0.10_la-gstbitreader.o
    .libs/libgstbase_0.10_la-gstbytereader.o
    .libs/libgstbase_0.10_la-gstcollectpads.o
    .libs/libgstbase_0.10_la-gstpushsrc.o
    .libs/libgstbase_0.10_la-gsttypefindhelper.o
    .libs/libgstbase_0.10_la-gstdataqueue.o -L/opt/yobuild/lib
    -L../../../gst/.libs -lgstreamer-0.10 -L/usr/lib -lxml2 -lpthread
    -lz -lm -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0 -lglib-2.0 -lintl
    -liconv -lc -ldl -Wl,-headerpad_max_install_names -framework Carbon
    -install_name /opt/yobuild/lib/libgstbase-0.10.0.dylib
    -compatibility_version 19 -current_version 19.0 -Wl,-single_module
    -Wl,-exported_symbols_list,.libs/libgstbase-0.10-symbols.expsym

Here we see that the libgstreamer-0.10.la got transformed to
"-L../../../gst/.libs -lgstreamer-0.10". BUT! There is a
-L/opt/yobuild/lib before it, and since we use -l it searches the -L
path from the beginning, where it finds an old version of
libgstreamer-0.10.la installed in /opt/yobuild/lib:

    Undefined symbols:
      "_gst_message_set_seqnum", referenced from:
          _gst_base_sink_render_object in libgstbase_0.10_la-gstbasesink.o
          _gst_base_sink_change_state in libgstbase_0.10_la-gstbasesink.o
          _gst_base_src_loop in libgstbase_0.10_la-gstbasesrc.o
          _gst_base_src_perform_seek in libgstbase_0.10_la-gstbasesrc.o
      "_gst_event_set_seqnum", referenced from:
          _gst_base_src_loop in libgstbase_0.10_la-gstbasesrc.o
          _gst_base_src_loop in libgstbase_0.10_la-gstbasesrc.o
          _gst_base_src_perform_seek in libgstbase_0.10_la-gstbasesrc.o
          _gst_base_src_perform_seek in libgstbase_0.10_la-gstbasesrc.o
          _gst_base_src_perform_seek in libgstbase_0.10_la-gstbasesrc.o
          _gst_base_src_perform_seek in libgstbase_0.10_la-gstbasesrc.o
          _gst_base_src_change_state in libgstbase_0.10_la-gstbasesrc.o
      "_gst_event_get_seqnum", referenced from:
          _gst_base_sink_render_object in libgstbase_0.10_la-gstbasesink.o
          _gst_base_src_perform_seek in libgstbase_0.10_la-gstbasesrc.o
      "_gst_util_seqnum_next", referenced from:
          _gst_base_src_perform_seek in libgstbase_0.10_la-gstbasesrc.o
    ld: symbol(s) not found
    collect2: ld returned 1 exit status
    make: *** [libgstbase-0.10.la] Error 1

So indeed it fails to link. Now, I can work around this by blowing away
my /opt/yobuild, but this seems like a bug in libtool.


$ libtool --version
ltmain.sh (GNU libtool) 2.2.6
Written by Gordon Matzigkeit <address@hidden>, 1996

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ uname -a
Darwin XXX 9.2.2 Darwin Kernel Version 9.2.2: Tue Mar  4 21:17:34 PST 2008; 
root:xnu-1228.4.31~1/RELEASE_I386 i386


Please Cc: me on any responses, as I am not subscribed.

Regards,

Andy





reply via email to

[Prev in Thread] Current Thread [Next in Thread]