GNOME Bugzilla – Bug 163136
[CYGWIN] Distributed libtool symbol export broken
Last modified: 2011-02-18 16:14:20 UTC
The distributed libtool in glib-2.6.0 does not create a working symbol export file (glib/.libs/libglib-2.0.exp). This is because it does not parse the nm output properly, resulting in entries like this: R symbolname rather than symbolname DATA This patch fixes it: --- libtool.broken 2005-01-06 15:27:35.000000000 +0000 +++ libtool 2005-01-06 15:28:19.000000000 +0000 @@ -337,7 +337,7 @@ always_export_symbols=no # The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED -e '/^[BCDGS] /s/.* \\\\([^ ]*\\\\)/\\\\1 DATA/' | \$SED -e '/^[AITW] /s/.* //' | sort | uniq > \$export_symbols" +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED -e '/^[BCDGRS] /s/.* \\\\([^ ]*\\\\)/\\\\1 DATA/' | \$SED -e '/^[AITW] /s/.* //' | sort | uniq > \$export_symbols" # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds="" Notice that before it was not looking only in .bss, not .rodata (or the Win32 equivalent). The distributed libtool is this: ltmain.sh (GNU libtool) 1.5.10 (1.1220.2.131 2004/09/19 12:46:56) when I re-libtoolised and ran aclocal/automake/autoconf/autoheader, the problem went away, even though the Cygwin libtool is the same version. Perhaps the libtool version on the glib packager's machine is buggy? Regards, Roger
Reassigning. Not a Win32 component problem.
Can you please send a diff of the glib ltmain.sh and the Cygwin /usr/autotool/devel/share/libtool/ltmain.sh? Gerrit
BTW, this affects gcc versions >= gcc-3.3.3 which is the default Cygwin compiler. And the Cygwin version of libtool is patched to work around this problem. Gerrit
Created attachment 35819 [details] [review] ltmain-cygwin.diff This shows the differences between the glib libtool and the Cygwin libtool. It looks like there are Cygwin-specific changes which have not been incorporated upstream. Have these changes been sent to the libtool developers? Regards, Roger
This also affects GTK+ 2.6.0 and 2.6.1.
Cygwin libtool does incorporate specific patches, so that may be causing this. In any event, running autoreconf or its equivalent to pull in our libtool is becoming standard procedure, so this is irrelevant. FWIW I'm the current GNOME maintainer for Cygwin. IMO can be RESOLVED NOTGNOME.