Skip to content

2.0.0: wrong regexp in

Just found that something is wrong with regexp used on linking linking script -export-symbols-regex In Makefile.am is now:


libverve_la_LDFLAGS = \
        -avoid-version \
        -module \
        -no-undefined \
        -export-symbols-regex '^xfce_panel_module_(preinit|init|construct)' \
        $(PLATFORM_LDFLAGS)

However there is no any routines which can be within that regexp:

[tkloczko@barrel panel-plugin]$ /usr/bin/gcc-nm  .libs/libverve_la-verve-plugin.o .libs/libverve_la-verve.o .libs/libverve_la-verve-history.o .libs/libverve_la-verve-env.o   | sed -n -e 's/^.*[         ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | /usr/bin/sed 's/.* //' | sort | uniq
verve_command_callback
verve_env_get
verve_env_get_path
verve_env_get_path_binaries
verve_env_get_type
verve_env_shutdown
verve_execute
verve_history_add
verve_history_begin
verve_history_cache_get_filename
verve_history_end
verve_history_get_last_command
verve_history_get_next
verve_history_get_prev
verve_history_init
verve_history_is_empty
verve_history_set_length
verve_history_shutdown
verve_init
verve_plugin_load_completion
verve_shutdown
verve_spawn_command_line

and linkin fails with faulty linking script

[tkloczko@barrel panel-plugin]$ make
/bin/sh ../libtool  --tag=CC   --mode=link gcc -I.. -I.. -DPACKAGE_LOCALE_DIR=\"/usr/share/locale\" -I/usr/include/xfce4/libxfce4panel-2.0 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -pthread -I/usr/include/xfce4 -I/usr/include/xfce4/libxfce4ui-2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -I/usr/include/xfce4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include                                                 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto=auto -flto-partition=none -fcommon -avoid-version -module -no-undefined -export-symbols-regex '^xfce_panel_module_(preinit|init|construct)'  -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -o libverve.la -rpath /usr/lib64/xfce4/panel/plugins libverve_la-verve-plugin.lo libverve_la-verve.lo libverve_la-verve-history.lo libverve_la-verve-env.lo -lxfce4panel-2.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lpixman-1 -lfontconfig -lfreetype -lpng16 -lz -lxcb-shm -lxcb -lxcb-render -lXrender -lX11 -lXext -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lxfce4util -lglib-2.0 -lxfce4ui-2 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lpixman-1 -lfontconfig -lfreetype -lpng16 -lz -lxcb-shm -lxcb -lxcb-render -lXrender -lX11 -lXext -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lxfce4util -lglib-2.0 -lpcre -lgthread-2.0 -pthread -lglib-2.0
libtool: link: rm -fr  .libs/libverve.exp .libs/libverve.expT
libtool: link: /usr/bin/gcc-nm  .libs/libverve_la-verve-plugin.o .libs/libverve_la-verve.o .libs/libverve_la-verve-history.o .libs/libverve_la-verve-env.o   | sed -n -e 's/^.*[         ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libverve.exp
libtool: link: /usr/bin/grep -E -e "^xfce_panel_module_(preinit|init|construct)" ".libs/libverve.exp" > ".libs/libverve.expT"
libtool: link: mv -f ".libs/libverve.expT" ".libs/libverve.exp"
libtool: link: echo "{ global:" > .libs/libverve.ver
libtool: link:  cat .libs/libverve.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libverve.ver
libtool: link:  echo "local: *; };" >> .libs/libverve.ver
libtool: link:  gcc -shared  -fPIC -DPIC  .libs/libverve_la-verve-plugin.o .libs/libverve_la-verve.o .libs/libverve_la-verve-history.o .libs/libverve_la-verve-env.o   -lxfce4panel-2.0 -lgmodule-2.0 /usr/lib64/libxfce4ui-2.so -L/usr/lib64 -lSM /usr/lib64/libICE.so -lstartup-notification-1 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lpixman-1 -lfontconfig -lfreetype -lpng16 -lz -lxcb-shm -lxcb -lxcb-render -lXrender -lX11 -lXext -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lxfce4util -lpcre -lgthread-2.0 -lglib-2.0  -pthread -pthread -O2 -g -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -flto=auto -flto-partition=none -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--export-dynamic -pthread -pthread   -pthread -Wl,-soname -Wl,libverve.so -Wl,-version-script -Wl,.libs/libverve.ver -o .libs/libverve.so
/usr/bin/ld:.libs/libverve.ver:2: syntax error in VERSION script
collect2: error: ld returned 1 exit status
make: *** [Makefile:493: libverve.la] Error 1