Linker error on Fedora 13

Help
2010-06-07
2013-05-13
  • Brian Chadwick

    Brian Chadwick - 2010-06-07

    Hi,

    using Fedora 13 x86-64

    rpmbuild -tb efax-gtk-3.2.3.src.tgz goes fine until this error is produced:

    /usr/bin/ld: main.o: undefined reference to symbol 'XBell'
    /usr/bin/ld: note: 'XBell' is defined in DSO /usr/lib64/libX11.so.6 so try adding it to the linker command line
    /usr/lib64/libX11.so.6: could not read symbols: Invalid operation
    collect2: ld returned 1 exit status
    make: ***  Error 1
    make: Leaving directory `/home/brian/rpmbuild/BUILD/efax-gtk-3.2.3/src'
    make: ***  Error 1
    make: Leaving directory `/home/brian/rpmbuild/BUILD/efax-gtk-3.2.3/src'
    make: ***  Error 1
    make: Leaving directory `/home/brian/rpmbuild/BUILD/efax-gtk-3.2.3'
    make: ***  Error 2
    error: Bad exit status from /var/tmp/rpm-tmp.DPGPnv (%build)

    RPM build errors:
        Bad exit status from /var/tmp/rpm-tmp.DPGPnv (%build)

    I am unsure how to proceed beond this point.

    could you advise please?

    Thanks in advance

     
  • Chris Vine

    Chris Vine - 2010-06-07

    I'll e-mail you a patch to try to your sourceforge e-mail address.

    chris

     
  • Brian Chadwick

    Brian Chadwick - 2010-06-07

    many thanks chris

     
  • Chris Vine

    Chris Vine - 2010-06-08

    Did you try out the patch and if so did efax-gtk compile correctly?

    Chris

     
  • Brian Chadwick

    Brian Chadwick - 2010-06-09

    Hi Chris,

    maybe there was something wrong with my email settings … i havent received the patch yet .. please try again … if there is still something wrong then my email addy is brian@brianac.com.au

    Thanks

    Brian

     
  • Brian Chadwick

    Brian Chadwick - 2010-06-10

    Hi Chris

    the patch seems to fail … here is the relevant output

    Hunk #1 FAILED at 24.
    1 out of 1 hunk FAILED - saving rejects to file acinclude.m4.rej
    $ cp acinclude.m4.org acinclude.m4
    $ patch acinclude.m4 efax-gtk.x11.patch
    patching file acinclude.m4
    patching file acinclude.m4
    Hunk #1 FAILED at 24.
    1 out of 1 hunk FAILED - saving rejects to file acinclude.m4.rej

    $ cat acinclude.m4.rej
    -- Makefile.am.~1.36.~ 2010-04-30 20:20:43.000000000 +0100
    +++ Makefile.am 2010-06-07 10:21:41.000000000 +0100
    @@ -24,8 +24,8 @@

    INCLUDES = -DDATADIR=\"$(datadir)\" -DRC_DIR=\"$(sysconfdir)\"

    -AM_CXXFLAGS = -D_XOPEN_SOURCE=600 @GTK_CFLAGS@ @GTHREAD_CFLAGS@ @CXX_GTK_UTILS_CFLAGS@ @COND_CXXFLAG@ -I./utils
    +AM_CXXFLAGS = -D_XOPEN_SOURCE=600 @GTK_CFLAGS@ @GTHREAD_CFLAGS@ @X11_CFLAGS@ @CXX_GTK_UTILS_CFLAGS@ @COND_CXXFLAG@ -I./utils

    AM_CFLAGS = @GTK_CFLAGS@

    -efax_gtk_LDADD = utils/libutils.a @COND_INTERNAL_LIB@ @LIBINTL@ @GTK_LIBS@ @GTHREAD_LIBS@ @DBUS_GLIB_LIBS@ @CXX_GTK_UTILS_LIBS@ -ltiff
    +efax_gtk_LDADD = utils/libutils.a @COND_INTERNAL_LIB@ @LIBINTL@ @GTK_LIBS@ @GTHREAD_LIBS@ @X11_LIBS@ @DBUS_GLIB_LIBS@ @CXX_GTK_UTILS_LIBS@ -ltiff
    $

     
  • Chris Vine

    Chris Vine - 2010-06-10

    That's not how you apply patches.  If you unpack efax-gtk-3.2.3.src,tgz afresh, copy the patch into the efax-gtk-3.2.3 directory, and then go into the efax-gtk-3.2.3 directory, it will apply with:

    patch -p1 < efax-gtk.x11.patch

    Make sure you unpack efax-gtk-3.2.3.src.tgz afresh, as at the moment you have a partially applied patch, which you don't want.

    Chris

     
  • Brian Chadwick

    Brian Chadwick - 2010-06-11

    Hi Chris

    after applying the patch as you instruct, make spits out the following
    $ make
    CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/brian/software/efax-gtk-3.2.3/missing -run aclocal-1.11
    configure.ac:33: warning: macro `AM_GNU_GETTEXT' not found in library
    cd . && /bin/sh /home/brian/software/efax-gtk-3.2.3/missing -run automake-1.11 -gnu
    CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/brian/software/efax-gtk-3.2.3/missing -run autoconf
    configure.ac:33: error: possibly undefined macro: AM_GNU_GETTEXT
          If this token and others are legitimate, please use m4_pattern_allow.
          See the Autoconf documentation.
    make: ***  Error 1
    $

     
  • Brian Chadwick

    Brian Chadwick - 2010-06-23

    Chris,

    I had another go at getting efax-gtk to compile with your patch as follows:

    $ tar -xf efax-gtk-3.2.1.src.tgz
    $ cd efax-gtk-3.2.1
    $ patch -p1 < ../efax-gtk.x11.patch
    patching file acinclude.m4
    patching file src/Makefile.am
    Hunk #1 succeeded at 23 (offset -1 lines).
    $ cd ..
    You have new mail in /var/spool/mail/brian
    $ rm efax-gtk-3.2.1.src.tgz
    $ tar -czf efax-gtk-3.2.1.src.tgz efax-gtk-3.2.1
    $rpmbuild -tb efax-gtk-3.2.1.src.tgz

    the build process begins and exits as follows:

    g++ -D_XOPEN_SOURCE=600 -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include    -I./internal -I../internal -I./utils -O2 -g -fexceptions -frtti -fsigned-char -fno-check-new -pthread   -o efax-gtk main.o mainwindow.o dialogs.o fax_list.o fax_list_manager.o file_list.o efax_controller.o addressbook.o settings.o settings_help.o helpfile.o socket_server.o socket_list.o socket_notify.o logger.o tray_icon.o utils/libutils.a internal/c++-gtk-utils/libcxx-gtk-utils.a  -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -pthread -lgthread-2.0 -lrt -lglib-2.0   -pthread -L/lib64 -ldbus-glib-1 -ldbus-1 -lpthread -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0    -ltiff
    /usr/bin/ld: main.o: undefined reference to symbol 'XBell'
    /usr/bin/ld: note: 'XBell' is defined in DSO /usr/lib64/libX11.so.6 so try adding it to the linker command line
    /usr/lib64/libX11.so.6: could not read symbols: Invalid operation
    collect2: ld returned 1 exit status
    make: ***  Error 1
    make: Leaving directory `/home/brian/rpmbuild/BUILD/efax-gtk-3.2.1/src'
    make: ***  Error 1
    make: Leaving directory `/home/brian/rpmbuild/BUILD/efax-gtk-3.2.1/src'
    make: ***  Error 1
    make: Leaving directory `/home/brian/rpmbuild/BUILD/efax-gtk-3.2.1'
    make: ***  Error 2
    error: Bad exit status from /var/tmp/rpm-tmp.BlIe76 (%build)

    RPM build errors:
        Bad exit status from /var/tmp/rpm-tmp.BlIe76 (%build)
    $

    same as the original error methinks.

    Brian

     
  • Chris Vine

    Chris Vine - 2010-06-23

    You need to re-execute aclocal/autoconf to pick up the change made by the patch: if you do so by running autoreconf before you rebuild the tarball it should deal with the problem, but you will probably end up with the report of the missing gettext macro that you had last time.

    Why not download the latest version in CVS as I suggested, which has done all that for you.  The efax-gtk webpage tells you how to do it.

    Chris

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks