After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 453509 - build failuire: undefined reference to `get_defs(unsigned long)'
build failuire: undefined reference to `get_defs(unsigned long)'
Status: RESOLVED INVALID
Product: gtkmm
Classification: Bindings
Component: build
2.11.x
Other All
: Normal major
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2007-07-03 21:58 UTC by Florian Steinel
Modified: 2007-07-04 08:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20



Description Florian Steinel 2007-07-03 21:58:12 UTC
Please describe the problem:
undefined reference to `get_defs(unsigned long)'

Steps to reproduce:
build gtkmm-2.11.4
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-api-atkmm --disable-docs --disable-examples --disable-demos --disable-gtk-doc --build=i686

Actual results:
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-api-atkmm --disable-docs --disable-examples --disable-demos --disable-gtk-doc --build=i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-linux-gnu-gcc accepts -g... yes
checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of i686-pc-linux-gnu-gcc... gcc3
checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E
checking whether make sets $(MAKE)... (cached) yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for some Win32 platform... no
checking for native Win32... no
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by i686-pc-linux-gnu-gcc... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++
checking whether we are using the GNU C++ compiler... yes
checking whether i686-pc-linux-gnu-g++ accepts -g... yes
checking dependency style of i686-pc-linux-gnu-g++... gcc3
checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E
checking for i686-pc-linux-gnu-g77... no
checking for i686-pc-linux-gnu-f77... no
checking for i686-pc-linux-gnu-xlf... no
checking for i686-pc-linux-gnu-frt... no
checking for i686-pc-linux-gnu-pgf77... no
checking for i686-pc-linux-gnu-cf77... no
checking for i686-pc-linux-gnu-fort77... no
checking for i686-pc-linux-gnu-fl32... no
checking for i686-pc-linux-gnu-af77... no
checking for i686-pc-linux-gnu-f90... no
checking for i686-pc-linux-gnu-xlf90... no
checking for i686-pc-linux-gnu-pgf90... no
checking for i686-pc-linux-gnu-pghpf... no
checking for i686-pc-linux-gnu-epcf90... no
checking for i686-pc-linux-gnu-gfortran... i686-pc-linux-gnu-gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether i686-pc-linux-gnu-gfortran accepts -g... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from i686-pc-linux-gnu-gcc object... ok
checking for objdir... .libs
checking for i686-pc-linux-gnu-ar... i686-pc-linux-gnu-ar
checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib
checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip
checking if i686-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for i686-pc-linux-gnu-gcc option to produce PIC... -fPIC
checking if i686-pc-linux-gnu-gcc PIC flag -fPIC works... yes
checking if i686-pc-linux-gnu-gcc static flag -static works... yes
checking if i686-pc-linux-gnu-gcc supports -c -o file.o... yes
checking whether the i686-pc-linux-gnu-gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by i686-pc-linux-gnu-g++... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking for i686-pc-linux-gnu-g++ option to produce PIC... -fPIC
checking if i686-pc-linux-gnu-g++ PIC flag -fPIC works... yes
checking if i686-pc-linux-gnu-g++ static flag -static works... yes
checking if i686-pc-linux-gnu-g++ supports -c -o file.o... yes
checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for i686-pc-linux-gnu-gfortran option to produce PIC... -fPIC
checking if i686-pc-linux-gnu-gfortran PIC flag -fPIC works... yes
checking if i686-pc-linux-gnu-gfortran static flag -static works... yes
checking if i686-pc-linux-gnu-gfortran supports -c -o file.o... yes
checking whether the i686-pc-linux-gnu-gfortran linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for gm4... no
checking for m4... m4
checking whether m4 is GNU m4... no
checking whether make is GNU Make... yes
checking for perl... /usr/bin/perl
checking whether Perl is new enough... yes
checking for mkfifo... yes
checking for flockfile... yes
checking for funlockfile... yes
checking for getc_unlocked... yes
checking for i686-pc-linux-gnu-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ATKMM... yes
checking for PANGOMM... yes
checking for GDKMM... yes
checking for GTKMM... yes
checking for GTHREAD... yes
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether i686-pc-linux-gnu-g++ accepts -g... (cached) yes
checking dependency style of i686-pc-linux-gnu-g++... (cached) gcc3
checking for compiler warning flags to use... -Wall
configure: WARNING: Deprecated API will be built, for backwards-compatibility.
configure: creating ./config.status
config.status: creating atk/Makefile
config.status: creating atk/atkmm-1.6.pc
config.status: creating atk/src/Makefile
config.status: creating atk/atkmm/Makefile
config.status: creating atk/atkmm/private/Makefile
config.status: creating Makefile
config.status: creating gdk/Makefile
config.status: creating gdk/gdkmm-2.4.pc
config.status: creating gdk/src/Makefile
config.status: creating gdk/gdkmm/Makefile
config.status: creating gdk/gdkmm/private/Makefile
config.status: creating gtk/Makefile
config.status: creating gtk/gtkmm-2.4.pc
config.status: creating gtk/src/Makefile
config.status: creating gtk/gtkmm/Makefile
config.status: creating gtk/gtkmm/private/Makefile
config.status: creating pango/Makefile
config.status: creating pango/pangomm-1.4.pc
config.status: creating pango/src/Makefile
config.status: creating pango/pangomm/Makefile
config.status: creating pango/pangomm/private/Makefile
config.status: creating tools/Makefile
config.status: creating tools/m4/Makefile
config.status: creating tools/extra_defs_gen/Makefile
config.status: creating tests/Makefile
config.status: creating tests/child_widget/Makefile
config.status: creating tests/child_widget2/Makefile
config.status: creating tests/child_widget_managed/Makefile
config.status: creating tests/refcount_dialog/Makefile
config.status: creating tests/dialog/Makefile
config.status: creating tests/dialog_deletethis/Makefile
config.status: creating tests/delete_cpp_child/Makefile
config.status: creating tests/main_with_options/Makefile
config.status: creating tests/menu_destruction/Makefile
config.status: creating tests/property_notification/Makefile
config.status: creating tests/scrolledwindow/Makefile
config.status: creating tests/wrap_existing/Makefile
config.status: creating scripts/Makefile
config.status: creating MSVC_Net2003/Makefile
config.status: creating MSVC_Net2003/gendef/Makefile
config.status: creating MSVC_Net2003/atkmm/Makefile
config.status: creating MSVC_Net2003/atkmm/atkmm.rc
config.status: creating MSVC_Net2003/pangomm/Makefile
config.status: creating MSVC_Net2003/pangomm/pangomm.rc
config.status: creating MSVC_Net2003/gdkmm/Makefile
config.status: creating MSVC_Net2003/gdkmm/gdkmm.rc
config.status: creating MSVC_Net2003/gtkmm/Makefile
config.status: creating MSVC_Net2003/gtkmm/gtkmm.rc
config.status: creating MSVC_Net2003/demos/Makefile
config.status: creating MSVC_Net2003/demos/gtk-demo/Makefile
config.status: creating MSVC_Net2003/examples/Makefile
config.status: creating MSVC_Net2003/examples/arrow/Makefile
config.status: creating MSVC_Net2003/examples/calendar/Makefile
config.status: creating MSVC_Net2003/examples/cellrenderercustom_popup/Makefile
config.status: creating MSVC_Net2003/examples/cellrenderercustom_toggle/Makefile
config.status: creating MSVC_Net2003/examples/direction/Makefile
config.status: creating MSVC_Net2003/examples/dnd/Makefile
config.status: creating MSVC_Net2003/examples/exception/Makefile
config.status: creating MSVC_Net2003/examples/gdk/Makefile
config.status: creating MSVC_Net2003/examples/printing/Makefile
config.status: creating MSVC_Net2003/examples/rulers/Makefile
config.status: creating MSVC_Net2003/examples/statusbar/Makefile
config.status: creating MSVC_Net2003/examples/stock/Makefile
config.status: creating MSVC_Net2003/examples/tictactoe/Makefile
config.status: creating MSVC_Net2003/examples/treemodelcustom/Makefile
config.status: creating MSVC_Net2003/examples/window/Makefile
config.status: creating config.h
config.status: creating gdk/gdkmmconfig.h
config.status: creating gtk/gtkmmconfig.h
config.status: executing depfiles commands
make  all-recursive
make[1]: Entering directory `/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4'
Making all in tools
make[2]: Entering directory `/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools'
Making all in m4
make[3]: Entering directory `/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/m4'
make[3]: Für das Ziel »all« ist nichts zu tun.
make[3]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/m4'
Making all in extra_defs_gen
make[3]: Entering directory `/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/extra_defs_gen'
if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../gdk -I../../gtk -DPNG_NO_MMX_CODE -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairomm-1.0 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/gtk-unix-print-2.0      -O3 -march=athlon -funroll-loops -pipe -ggdb -Wall -MT generate_defs_gtk.o -MD -MP -MF ".deps/generate_defs_gtk.Tpo" -c -o generate_defs_gtk.o generate_defs_gtk.cc; \
        then mv -f ".deps/generate_defs_gtk.Tpo" ".deps/generate_defs_gtk.Po"; else rm -f ".deps/generate_defs_gtk.Tpo"; exit 1; fi
/bin/sh ../../libtool --tag=CXX --mode=link i686-pc-linux-gnu-g++  -O3 -march=athlon -funroll-loops -pipe -ggdb -Wall  -Wl,--as-needed -o generate_extra_defs  generate_defs_gtk.o  -lglibmm-2.4 -lsigc-2.0 -lcairomm-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lglibmm_generate_extra_defs-2.4
mkdir .libs
i686-pc-linux-gnu-g++ -O3 -march=athlon -funroll-loops -pipe -ggdb -Wall -Wl,--as-needed -o generate_extra_defs generate_defs_gtk.o  /usr/lib/libglibmm-2.4.so /usr/lib/libcairomm-1.0.so /usr/lib/libexpat.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libpangocairo-1.0.so -L/usr/lib /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libfreetype.so /usr/lib/libfontconfig.so /usr/lib/libxml2.so /usr/lib/libglitz-glx.so /usr/lib/libglitz.so /usr/lib/libGL.so /usr/lib/libXext.so -lpthread /usr/lib/libpng12.so -lz /usr/lib/libXrender.so /usr/lib/libX11.so /usr/lib/libXau.so /usr/lib/libXdmcp.so -lm /usr/lib/libglibmm_generate_extra_defs-2.4.so /usr/lib/libsigc-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libglib-2.0.so -ldl
generate_defs_gtk.o: In function `main':
/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/extra_defs_gen/generate_defs_gtk.cc:46: undefined reference to `get_defs(unsigned long)'
/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/extra_defs_gen/generate_defs_gtk.cc:46: undefined reference to `get_defs(unsigned long)'
/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/extra_defs_gen/generate_defs_gtk.cc:46: undefined reference to `get_defs(unsigned long)'
/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/extra_defs_gen/generate_defs_gtk.cc:46: undefined reference to `get_defs(unsigned long)'
/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/extra_defs_gen/generate_defs_gtk.cc:46: undefined reference to `get_defs(unsigned long)'
generate_defs_gtk.o:/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/extra_defs_gen/generate_defs_gtk.cc:46: more undefined references to `get_defs(unsigned long)' follow
collect2: ld returned 1 exit status
make[3]: *** [generate_extra_defs] Fehler 1
make[3]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools/extra_defs_gen'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4/tools'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.11.4/work/gtkmm-2.11.4'

Expected results:
fresh compiled and installed binarys of gtkmm

Does this happen every time?
yes

Other information:
gtk+-2.11.5
Comment 1 Murray Cumming 2007-07-04 08:11:21 UTC
As you probably noticed, this was caused by an ABI break in an unstable glib 2.13.x release. Your (unstable version of your) distro should have reverted that.
Comment 2 Florian Steinel 2007-07-04 08:23:36 UTC
Yes, indeed. The sequence of installation , that was my error.