Re: gtk+-2.2.4 build problem (fixed!)



Tara Milana wrote:

> Edit [$TOPLEVEL/libtool] and remove the version tag arguments
> -version-script and the one after it.

It works!  As you recommended, I made the edit to libtool (see the diff below).  Then I simply ran "make" and everything built just fine--gtk-demo now runs!  This is the first time I've been able to get gtk2 to build on my system since I first started trying over 2 months ago.

It appears, from the list archives, that this is a rare problem.  I don't know enough about ld and the -version-script option to have any idea why only the occasional system experiences this.  I went through quite a bit of effort to make sure my tool-chain was current, especially ld and libtool.  

In order to further verify my new gtk2 installation I decided to build AbiWord.  One of the requirements for AbiWord is libglade.  When I tried to build libglade I ran into the same 'anonymous version tag' problem!  I simply tried the libtool workaround on libglade and it built ok too.  So this 'version tag' problem goes beyond gtk2.  (AbiWord then built ok and runs fine.)

In case someone more knowledgeable than me knows what to look for in a .ver file, I have listed below the libgdk_pixbuf-2.0.ver file that ld was choking on (before I tried the libtool work-around).

In my google research I noticed, Tara, that you previously posted about the "anonymous version tag" problem.  Thank you for sticking with the problem and discovering this simple, effective work-around.

Regards,
Bill

------------------------------------------------------------------
/src/gtk2/gtk+-2.2.4# diff -u libtool libtool-original 
--- libtool     Wed Dec 10 16:21:31 2003
+++ libtool-original    Wed Dec 10 16:18:02 2003
@@ -206,7 +206,7 @@
 archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
 cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
 \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
-        \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+        \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
 postinstall_cmds=""
 postuninstall_cmds=""
 
@@ -7100,7 +7100,7 @@
 archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
 cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
 \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
-        \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+        \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
 postinstall_cmds=""
 postuninstall_cmds=""

-------------------------------------------------------------------
/src/gtk2/gtk+-2.2.4/gdk-pixbuf/.libs# cat libgdk_pixbuf-2.0.ver
{ global:
gdk_colorspace_get_type;
gdk_interp_type_get_type;
gdk_pixbuf_add_alpha;
gdk_pixbuf_alpha_mode_get_type;
gdk_pixbuf_animation_get_height;
gdk_pixbuf_animation_get_iter;
gdk_pixbuf_animation_get_static_image;
gdk_pixbuf_animation_get_type;
gdk_pixbuf_animation_get_width;
gdk_pixbuf_animation_is_static_image;
gdk_pixbuf_animation_iter_advance;
gdk_pixbuf_animation_iter_get_delay_time;
gdk_pixbuf_animation_iter_get_pixbuf;
gdk_pixbuf_animation_iter_get_type;
gdk_pixbuf_animation_iter_on_currently_loading_frame;
gdk_pixbuf_animation_new_from_file;
gdk_pixbuf_animation_ref;
gdk_pixbuf_animation_unref;
gdk_pixbuf_composite;
gdk_pixbuf_composite_color;
gdk_pixbuf_composite_color_simple;
gdk_pixbuf_copy;
gdk_pixbuf_copy_area;
gdk_pixbuf_error_get_type;
gdk_pixbuf_error_quark;
gdk_pixbuf_fill;
gdk_pixbuf_format_get_description;
gdk_pixbuf_format_get_extensions;
gdk_pixbuf_format_get_mime_types;
gdk_pixbuf_format_get_name;
gdk_pixbuf_format_is_writable;
gdk_pixbuf_from_pixdata;
gdk_pixbuf_get_bits_per_sample;
gdk_pixbuf_get_colorspace;
gdk_pixbuf_get_formats;
gdk_pixbuf_get_has_alpha;
gdk_pixbuf_get_height;
gdk_pixbuf_get_n_channels;
gdk_pixbuf_get_option;
gdk_pixbuf_get_pixels;
gdk_pixbuf_get_rowstride;
gdk_pixbuf_get_type;
gdk_pixbuf_get_width;
gdk_pixbuf_loader_close;
gdk_pixbuf_loader_get_animation;
gdk_pixbuf_loader_get_format;
gdk_pixbuf_loader_get_pixbuf;
gdk_pixbuf_loader_get_type;
gdk_pixbuf_loader_new;
gdk_pixbuf_loader_new_with_type;
gdk_pixbuf_loader_set_size;
gdk_pixbuf_loader_write;
gdk_pixbuf_major_version;
gdk_pixbuf_marshal_VOID__INT_INT;
gdk_pixbuf_marshal_VOID__INT_INT_INT_INT;
gdk_pixbuf_micro_version;
gdk_pixbuf_minor_version;
gdk_pixbuf_new;
gdk_pixbuf_new_from_data;
gdk_pixbuf_new_from_file;
gdk_pixbuf_new_from_inline;
gdk_pixbuf_new_from_xpm_data;
gdk_pixbuf_new_subpixbuf;
gdk_pixbuf_non_anim_new;
gdk_pixbuf_ref;
gdk_pixbuf_saturate_and_pixelate;
gdk_pixbuf_save;
gdk_pixbuf_savev;
gdk_pixbuf_scale;
gdk_pixbuf_scale_simple;
gdk_pixbuf_set_option;
gdk_pixbuf_unref;
gdk_pixbuf_version;
gdk_pixdata_deserialize;
gdk_pixdata_from_pixbuf;
gdk_pixdata_serialize;
gdk_pixdata_to_csource;
pixops_composite;
pixops_composite_color;
pixops_composite_line_22_4a4_mmx;
pixops_composite_line_color_22_4a4_mmx;
pixops_have_mmx;
pixops_scale;
pixops_scale_line_22_33_mmx;
local: *; };



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]