[Fink-devel] libtool problems in a new package?
I am trying to create a package for GtkDatabox, and have run into a libtool problem. http://www.eudoxos.de/gtk/gtkdatabox/ The file ltmain.sh in the source says it uses libtool 1.5.16. A build attempt fails with: gcc -dynamiclib ${wl}-undefined ${wl}dynamic_lookup -o .libs/ libgtkdatabox-0.4.0.1.0.0.dylib .libs/gtkdatabox.o .libs/ gtkdataboxmarshal.o .libs/gtkdatabox_points.o .libs/ gtkdatabox_lines.o .libs/gtkdatabox_bars.o .libs/ gtkdatabox_grid.o .libs/gtkdatabox_cross_simple.o .libs/ gtkdatabox_text.o .libs/gtkdatabox_marker.o -L/sw/lib/gtk-2.0 -L/sw/ lib -L/usr/X11R6/lib /sw/lib/libgtk-x11-2.0.dylib /usr/X11R6/lib/ libXrandr.dylib /usr/X11R6/lib/libXinerama.dylib /usr/X11R6/lib/ libXext.dylib /usr/X11R6/lib/libXcursor.dylib /usr/X11R6/lib/ libXft.dylib /usr/X11R6/lib/libXrender.dylib /usr/X11R6/lib/ libfontconfig.dylib /usr/X11R6/lib/libfreetype.dylib /usr/X11R6/lib/ libX11.dylib /sw/lib/libgdk-x11-2.0.dylib -lXrandr -lXinerama -lXext - lXcursor /sw/lib/libatk-1.0.dylib /sw/lib/libgdk_pixbuf-2.0.dylib /sw/ lib/libpangoxft-1.0.dylib -lXft -lXrender /sw/lib/libpangox-1.0.dylib -lX11 /sw/lib/libpangoft2-1.0.dylib -lfontconfig -lfreetype /sw/lib/ libpango-1.0.dylib -lm /sw/lib/libgobject-2.0.dylib /sw/lib/ libgmodule-2.0.dylib /sw/lib/libglib-2.0.dylib /sw/lib/libintl.dylib / sw/lib/libiconv.dylib -install_name /sw/lib/ libgtkdatabox-0.4.0.1.dylib -Wl,-compatibility_version -Wl,2 -Wl,- current_version -Wl,2.0 ld: warning -dylib_install_name /sw/lib/libgtkdatabox-0.4.0.1.dylib not found in segment address table LD_SEG_ADDR_TABLE /sw/var/lib/fink/ prebound/seg_addr_table ld: multiple definitions of symbol _GtkDataboxDisplayType .libs/gtkdatabox.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_points.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_lines.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_bars.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_grid.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_cross_simple.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_text.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_marker.o definition of _GtkDataboxDisplayType in section (__DATA,__common) ld: warning multiple definitions of symbol _locale_charset /sw/lib/libiconv.dylib(localcharset.o) definition of _locale_charset /sw/lib/libintl.dylib(localcharset.o) definition of _locale_charset /usr/bin/libtool: internal link edit command failed make[2]: *** [libgtkdatabox.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 ### execution of make failed, exit code 2 Is this a libtool problem, and if so, how do I resolve it? Or, is the -dylib_install_name /sw/lib/libgtkdatabox-0.4.0.1.dylib not found ... the thing I need to focus on first? The relevant parts of my current draft .info file look like: Package: gtkdatabox Version: 0.4.0.1 Revision: 1 Source: http://www.eudoxos.de/gtk/gtkdatabox/download/gtkdatabox-% v.tar.gz Source-MD5: b83be6904ce8856b8611c0b3058966b7 BuildDepends: glib, gtk+2-dev, pango1-xft2-dev, atk1 Depends: gtk+2 SetLDFLAGS: -L%p/lib/gtk-2.0 == I'm running OS X 10.4.3, with XCode 2.1. Kevin Horton Ottawa, Canada --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-devel
Re: [Fink-devel] libtool problems in a new package?
Kevin Horton wrote: .libs/gtkdatabox_cross_simple.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_text.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_marker.o definition of _GtkDataboxDisplayType in section (__DATA,__common) this usually means you need: SetCPPFLAGS: -fno-common ...and isn't libtool's fault. Libtool can't help it that darwin's linker is insane. :) --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-devel
Re: [Fink-devel] libtool problems in a new package?
On 26 Nov 2005, at 16:17, Benjamin Reed wrote: Kevin Horton wrote: .libs/gtkdatabox_cross_simple.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_text.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_marker.o definition of _GtkDataboxDisplayType in section (__DATA,__common) this usually means you need: SetCPPFLAGS: -fno-common ...and isn't libtool's fault. Libtool can't help it that darwin's linker is insane. :) Thanks for the advice, but that didn't do it. The compile attempt ends with: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -fno-common -I/sw/include -O2 - Wall -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED - DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -I/sw/include/ glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pango-1.0 -I/usr/ X11R6/include -I/usr/X11R6/include/freetype2 -I/sw/include/gtk-2.0 -I/ sw/include/atk-1.0 -I/sw/lib/gtk-2.0/include -g -O2 -MT gtkdatabox_marker.lo -MD -MP -MF .deps/gtkdatabox_marker.Tpo -c gtkdatabox_marker.c -o gtkdatabox_marker.o /dev/null 21 /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -Wall - DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED - DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED `pkg-config gtk+-2.0 --cflags` -g -O2 -L/sw/lib/gtk-2.0 -L/sw/lib -o libgtkdatabox.la -rpath /sw/lib -version-info 1 -release 0.4.0 -L/sw/ lib -L/usr/X11R6/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrandr -lXinerama - lXext -lXcursor -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lXft - lXrender -lpangox-1.0 -lX11 -lpangoft2-1.0 -lfontconfig -lfreetype - lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl - liconv gtkdatabox.lo gtkdataboxmarshal.lo gtkdatabox_points.lo gtkdatabox_lines.lo gtkdatabox_bars.lo gtkdatabox_grid.lo gtkdatabox_cross_simple.lo gtkdatabox_text.lo gtkdatabox_marker.lo gcc -dynamiclib ${wl}-undefined ${wl}dynamic_lookup -o .libs/ libgtkdatabox-0.4.0.1.0.0.dylib .libs/gtkdatabox.o .libs/ gtkdataboxmarshal.o .libs/gtkdatabox_points.o .libs/ gtkdatabox_lines.o .libs/gtkdatabox_bars.o .libs/ gtkdatabox_grid.o .libs/gtkdatabox_cross_simple.o .libs/ gtkdatabox_text.o .libs/gtkdatabox_marker.o -L/sw/lib/gtk-2.0 -L/sw/ lib -L/usr/X11R6/lib /sw/lib/libgtk-x11-2.0.dylib /usr/X11R6/lib/ libXrandr.dylib /usr/X11R6/lib/libXinerama.dylib /usr/X11R6/lib/ libXext.dylib /usr/X11R6/lib/libXcursor.dylib /usr/X11R6/lib/ libXft.dylib /usr/X11R6/lib/libXrender.dylib /usr/X11R6/lib/ libfontconfig.dylib /usr/X11R6/lib/libfreetype.dylib /usr/X11R6/lib/ libX11.dylib /sw/lib/libgdk-x11-2.0.dylib -lXrandr -lXinerama -lXext - lXcursor /sw/lib/libatk-1.0.dylib /sw/lib/libgdk_pixbuf-2.0.dylib /sw/ lib/libpangoxft-1.0.dylib -lXft -lXrender /sw/lib/libpangox-1.0.dylib -lX11 /sw/lib/libpangoft2-1.0.dylib -lfontconfig -lfreetype /sw/lib/ libpango-1.0.dylib -lm /sw/lib/libgobject-2.0.dylib /sw/lib/ libgmodule-2.0.dylib /sw/lib/libglib-2.0.dylib /sw/lib/libintl.dylib / sw/lib/libiconv.dylib -install_name /sw/lib/ libgtkdatabox-0.4.0.1.dylib -Wl,-compatibility_version -Wl,2 -Wl,- current_version -Wl,2.0 ld: warning -dylib_install_name /sw/lib/libgtkdatabox-0.4.0.1.dylib not found in segment address table LD_SEG_ADDR_TABLE /sw/var/lib/fink/ prebound/seg_addr_table ld: multiple definitions of symbol _GtkDataboxDisplayType .libs/gtkdatabox.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_points.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_lines.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_bars.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_grid.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_cross_simple.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_text.o definition of _GtkDataboxDisplayType in section (__DATA,__common) .libs/gtkdatabox_marker.o definition of _GtkDataboxDisplayType in section (__DATA,__common) ld: warning multiple definitions of symbol _locale_charset /sw/lib/libiconv.dylib(localcharset.o) definition of _locale_charset /sw/lib/libintl.dylib(localcharset.o) definition of _locale_charset /usr/bin/libtool: internal link edit command failed make[2]: *** [libgtkdatabox.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 ### execution of make failed, exit code 2 I've tried adding a -no-cpp-precomp flag too (not that I understand what any of these flags do), but that didn't make any difference either. I see that a dylib is being created. Does that mean I need to put a SplitOff section in the info file? I don't yet have a Shlibs line in my .info file, as I haven't figured out how to discern the -compatibility_version I need to declare. Could the lack of a Shlibs line be a problem at this stage of the compile process? Kevin Horton Ottawa,
Re: [Fink-devel] libtool problems in a new package?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Kevin Horton wrote: | ld: multiple definitions of symbol _GtkDataboxDisplayType | .libs/gtkdatabox.o definition of _GtkDataboxDisplayType in section | (__DATA,__common) | .libs/gtkdatabox_points.o definition of _GtkDataboxDisplayType in | section (__DATA,__common) | .libs/gtkdatabox_lines.o definition of _GtkDataboxDisplayType in | section (__DATA,__common) | .libs/gtkdatabox_bars.o definition of _GtkDataboxDisplayType in section | (__DATA,__common) | .libs/gtkdatabox_grid.o definition of _GtkDataboxDisplayType in section | (__DATA,__common) | .libs/gtkdatabox_cross_simple.o definition of _GtkDataboxDisplayType in | section (__DATA,__common) | .libs/gtkdatabox_text.o definition of _GtkDataboxDisplayType in section | (__DATA,__common) | .libs/gtkdatabox_marker.o definition of _GtkDataboxDisplayType in | section (__DATA,__common) | ld: warning multiple definitions of symbol _locale_charset | /sw/lib/libiconv.dylib(localcharset.o) definition of _locale_charset | /sw/lib/libintl.dylib(localcharset.o) definition of _locale_charset | /usr/bin/libtool: internal link edit command failed | make[2]: *** [libgtkdatabox.la] Error 1 | make[1]: *** [all-recursive] Error 1 | make: *** [all] Error 2 | ### execution of make failed, exit code 2 Check for a header file that defines GtkDataboxDisplayType. If there is one, change the definition to a declaration and extern it. Then put the definition in one of the .c files. Peter -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.0 (Darwin) iQCVAwUBQ4kEtLiDAg3OZTLPAQJIxwP+LM8BzYXgfIHEaBsLBTOEtCuJP2KLRqUt krajpjxP04J/HhmgRekkYVUg2SmwpSX6IfvVTSyPUKi8BLafae7bJDCDaS1Ju9+N IhS7/wuNZToD3ue0qKSffWLFuIqd9etGqQbBqueWz7/LIfjGQGUqcp6bEQHCJDjT S/i51Q7Xs4o= =Ctws -END PGP SIGNATURE- --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-devel
Re: [Fink-devel] libtool problems in a new package?
Kevin Horton wrote: Thanks for the pointer. I think I've found the definition in gtkdatabox.h: enum /* Types of data display */ { GTK_DATABOX_NOT_DISPLAYED = 0,/* hidden */ GtkDataboxDisplayType; I'll do some Googling to figure out how to move that to one of the .c files.It may be time to buy a C reference. I'm almost certain that they mean be typedef enum ... however, if you have specified -fno-common the symbols should not be in the common section. Anyway, try adding the 'typedef'. Peter --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-devel