Problem with /usr/bin/ld: main.o: undefined reference to symbol 'exp@@GLIBC_2.2.5'

9,643

This is a bit of a kludge, but it works:

Edit the file configure.ac found in the emerald source folder. There, approximatively on line 55, you will find the following line:

LIBS="$LIBS $EMERALD_LIBS"

Change it to

LIBS="$LIBS $EMERALD_LIBS -lm -ldl"

and redo the steps. It will work.

Share:
9,643

Related videos on Youtube

stanek
Author by

stanek

Updated on September 18, 2022

Comments

  • stanek
    stanek over 1 year

    During installation Emerald in ubuntu 13.04 when I write "sudo make" I have problem:

    libtool: link: gcc -g -O2 -pthread -I/usr/include/libwnck-1.0 -I/usr/include/compiz -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/harfbuzz -I/usr/include/startup-notification-1.0 -o .libs/emerald main.o engine_loader.o  ../libengine/.libs/libemeraldengine.so -lwnck-1 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 /usr/lib/x86_64-linux-gnu/libfreetype.so -lfontconfig -ldecoration -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 /usr/lib/x86_64-linux-gnu/libcairo.so -lgobject-2.0 -lglib-2.0 -pthread
    /usr/bin/ld: main.o: undefined reference to symbol 'exp@@GLIBC_2.2.5'
    /usr/bin/ld: note: 'exp@@GLIBC_2.2.5' is defined in DSO /lib/x86_64-linux-gnu/libm.so.6 so try adding it to the linker command line
    /lib/x86_64-linux-gnu/libm.so.6: could not read symbols: Invalid operation
    collect2: error: ld returned 1 exit status
    make[1]: *** [emerald] Błąd 1
    make[1]: Opuszczenie katalogu `/home/stanek/emerald-0.9.5/src'
    make: *** [install-recursive] Błąd 1
    
    • green
      green about 11 years
    • stanek
      stanek about 11 years
      Yes, i did it. This error is when I write this: ./autogen.sh && make clean && make distclean && ./configure --prefix=/usr && make && sudo make install