Wireshark-0.99.8_pre1 fails to compile with --as-needed. I've tried rearranging the various libraries in the last linking command and can't seem to get the ordering right, but emerging with blank LDFLAGS seems to work fine. If anyone has any ideas, I'm happy to test out any patches or fixes, or provide any other information that might help... 5:) Build failure: creating editcap if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -I./wiretap -I/usr/include -I/usr/include -I/usr/local/include '-DPLUGIN_DIR="/usr/lib/wireshark/plugins/0.99.8pre1"' -D_U_="__attribute__((unused))" -O2 -march=k8 -mtune=k8 -fomit-frame-pointer -pipe -ggdb -Wall -W -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -Wno-pointer-sign -I/usr/local/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib/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/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -MT randpkt.o -MD -MP -MF ".deps/randpkt.Tpo" -c -o randpkt.o randpkt.c; \ then mv -f ".deps/randpkt.Tpo" ".deps/randpkt.Po"; else rm -f ".deps/randpkt.Tpo"; exit 1; fi /bin/sh ./libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc -D_U_="__attribute__((unused))" -O2 -march=k8 -mtune=k8 -fomit-frame-pointer -pipe -ggdb -Wall -W -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -Wno-pointer-sign -I/usr/local/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib/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/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -Wl,--as-needed -L/usr/local/lib -L/usr/local/lib -o randpkt randpkt.o wiretap/libwiretap.la -Wl,--export-dynamic -lgmodule-2.0 -ldl -lglib-2.0 -lm -lpcap -lz i686-pc-linux-gnu-gcc "-D_U_=__attribute__((unused))" -O2 -march=k8 -mtune=k8 -fomit-frame-pointer -pipe -ggdb -Wall -W -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -Wno-pointer-sign -I/usr/local/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib/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/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -Wl,--as-needed -o .libs/randpkt randpkt.o -Wl,--export-dynamic -L/usr/local/lib wiretap/.libs/libwiretap.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libglib-2.0.so -lm -lpcap -lz wiretap/.libs/libwiretap.so: undefined reference to `g_free' wiretap/.libs/libwiretap.so: undefined reference to `g_memdup' wiretap/.libs/libwiretap.so: undefined reference to `g_direct_equal' wiretap/.libs/libwiretap.so: undefined reference to `g_hash_table_destroy' wiretap/.libs/libwiretap.so: undefined reference to `g_str_hash' wiretap/.libs/libwiretap.so: undefined reference to `g_strdup' wiretap/.libs/libwiretap.so: undefined reference to `g_strdown' wiretap/.libs/libwiretap.so: undefined reference to `g_list_foreach' wiretap/.libs/libwiretap.so: undefined reference to `g_hash_table_insert' wiretap/.libs/libwiretap.so: undefined reference to `g_list_free' wiretap/.libs/libwiretap.so: undefined reference to `g_array_new' wiretap/.libs/libwiretap.so: undefined reference to `g_array_prepend_vals' wiretap/.libs/libwiretap.so: undefined reference to `g_malloc' wiretap/.libs/libwiretap.so: undefined reference to `g_hash_table_remove' wiretap/.libs/libwiretap.so: undefined reference to `g_strndup' wiretap/.libs/libwiretap.so: undefined reference to `g_ptr_array_add' wiretap/.libs/libwiretap.so: undefined reference to `g_assertion_message_expr' wiretap/.libs/libwiretap.so: undefined reference to `g_strdup_printf' wiretap/.libs/libwiretap.so: undefined reference to `g_ptr_array_free' wiretap/.libs/libwiretap.so: undefined reference to `g_hash_table_new' wiretap/.libs/libwiretap.so: undefined reference to `g_hash_table_foreach' wiretap/.libs/libwiretap.so: undefined reference to `g_strup' wiretap/.libs/libwiretap.so: undefined reference to `g_snprintf' wiretap/.libs/libwiretap.so: undefined reference to `g_list_append' wiretap/.libs/libwiretap.so: undefined reference to `g_realloc' wiretap/.libs/libwiretap.so: undefined reference to `g_hash_table_lookup' wiretap/.libs/libwiretap.so: undefined reference to `g_direct_hash' wiretap/.libs/libwiretap.so: undefined reference to `g_malloc0' wiretap/.libs/libwiretap.so: undefined reference to `g_assertion_message' wiretap/.libs/libwiretap.so: undefined reference to `g_ptr_array_new' wiretap/.libs/libwiretap.so: undefined reference to `g_hash_table_foreach_remove' wiretap/.libs/libwiretap.so: undefined reference to `g_array_append_vals' wiretap/.libs/libwiretap.so: undefined reference to `g_log' wiretap/.libs/libwiretap.so: undefined reference to `g_str_equal' collect2: ld returned 1 exit status make[2]: *** [randpkt] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-analyzer/wireshark-0.99.8_rc1/work/wireshark-0.99.8pre1' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-analyzer/wireshark-0.99.8_rc1/work/wireshark-0.99.8pre1' make: *** [all] Error 2
*** Bug 184798 has been marked as a duplicate of this bug. ***
Thank you, Mike and Hanno, for report! Fixed in CVS.