GNOME Bugzilla – Bug 138273
Building GIMP 2.0.0 on Solaris fails in configure when checking for gimp-print >= 4.2.0
Last modified: 2004-07-05 14:54:02 UTC
Searching BUGZILLA with the keys 'configure' and /gimp.?print/ result in: "Zarro Boogs found." Thus I venture an attempt of filing a bug report for this. ;-) Environment: * SPARC/Solaris 7 * gcc-3.2.2 * gimp-print-4.2.6 * gtk-2.2.4 * This worked when I built GIMP-1.3.21 with gimp-print-4.2.6-pre2, using the indentical setup, environment and procedures. Using the same environment with which I've built GNOME 2.2.4 from source, I now fail building the GIMP. After having upgraded my gimp-print from 2.4.6-pre2, which I used when building the GIMP 1.3.21, to 4.2.6 and running './configure' to build the GIMP 2.0.0, configure aborts with the following message (I did even try to reinstall gimp-print-2.4.6-pre2; which gave me the same result): myhost(19)# ./configure ... ... checking for libgtkhtml-2.0 >= 2.0.0... yes checking GTKHTML2_CFLAGS... -I/usr/local/include/gtkhtml-2.0 -I/usr/local/include/gtk-2.0 -I/usr/local/include/libxml2 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/openwin/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include checking GTKHTML2_LIBS... -L/usr/local/lib -lgtkhtml-2 -lgtk-x11-2.0 -lxml2 -lz -lsocket -lnsl -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lintl -liconv -lm checking for librsvg-2.0 >= 2.2.0... yes checking SVG_CFLAGS... -I/usr/local/include/librsvg-2 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/gtk-2.0 -I/usr/local/include/libart-2.0 -I/usr/local/include/libxml2 -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/freetype2 checking SVG_LIBS... -L/usr/local/lib -lrsvg-2 -lgdk_pixbuf-2.0 -lart_lgpl_2 -lxml2 -lz -lsocket -lnsl -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lintl -liconv -lm checking for gimpprint-config... /usr/local/bin/gimpprint-config checking for GIMP-PRINT - version >= 4.2.0... no *** Could not run GIMP-PRINT test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means GIMP-PRINT was incorrectly *** installed or that you have moved GIMP-PRINT since it was installed. In the *** latter case, you may want to edit the gimpprint-config script: *** /usr/local/bin/gimpprint-config configure: error: *** Check for libgimpprint failed. You can download it from *** http://gimp-print.sourceforge.net/ or you can build without it by passing *** --disable-print to configure (but you won't be able to print then). myhost(20)# which gimpprint-config /usr/local/bin/gimpprint-config myhost(21)# gimpprint-config --version 4.2.6 myhost(22)# echo $PATH /usr/local/bin:/usr/ccs/bin:/usr/dt/bin:/usr/openwin/bin:/usr/sbin:/usr/bin:/bin:/usr/xpg4/bin:/usr/ucb myhost(23)# echo $LD_LIBRARY_PATH /usr/local/lib myhost(24)# ls -ald /usr/local/lib/*gimpprint* -rw-r--r-- 1 root bin 1401780 Mar 26 22:01 /usr/local/lib/libgimpprint.a -rwxr-xr-x 1 root bin 745 Mar 26 22:01 /usr/local/lib/libgimpprint.la* lrwxrwxrwx 1 root other 21 Mar 27 01:08 /usr/local/lib/libgimpprint.so -> libgimpprint.so.1.1.1* lrwxrwxrwx 1 root other 21 Mar 27 01:08 /usr/local/lib/libgimpprint.so.1 -> libgimpprint.so.1.1.1* -rwxr-xr-x 1 root bin 1355356 Mar 26 22:01 /usr/local/lib/libgimpprint.so.1.1.1* myhost(25)# ldd /usr/local/lib/libgimpprint.so.1.1.1 libm.so.1 => /usr/lib/libm.so.1 libc.so.1 => /usr/lib/libc.so.1 libdl.so.1 => /usr/lib/libdl.so.1 myhost(26)# myhost(26)# nm /usr/local/lib/libgimpprint.so.1.1.1 | grep bindtextdomain [1778] | 0| 0|NOTY |GLOB |0 |UNDEF |libintl_bindtextdomain myhost(27)# nm /usr/local/lib/libgimpprint.so.1.1.1 | grep dgettext [1617] | 0| 0|NOTY |GLOB |0 |UNDEF |libintl_dgettext myhost(28)# ls -ald /usr/local/lib/*intl* -rw-r--r-- 1 root other 237336 May 2 2003 /usr/local/lib/libintl.a -rw-r--r-- 1 root other 800 May 2 2003 /usr/local/lib/libintl.la lrwxrwxrwx 1 root other 16 May 2 2003 /usr/local/lib/libintl.so -> libintl.so.2.2.0* lrwxrwxrwx 1 root other 16 May 2 2003 /usr/local/lib/libintl.so.2 -> libintl.so.2.2.0* -rwxr-xr-x 1 root other 217452 May 2 2003 /usr/local/lib/libintl.so.2.2.0* myhost(29)# ldd libintl.so.2.2.0 libiconv.so.2 => /usr/local/lib/libiconv.so.2 libc.so.1 => /usr/lib/libc.so.1 libdl.so.1 => /usr/lib/libdl.so.1 myhost(30)# nm libintl.so.2.2.0 | grep libintl_dgettext [211] | 6936| 20|FUNC |GLOB |0 |9 |libintl_dgettext myhost(31)# nm libintl.so.2.2.0 | grep libintl_bindtextdomain [180] | 6824| 40|FUNC |GLOB |0 |9 |libintl_bindtextdomain myhost(32)# If I have a look in the config.log file, I can find the following information: ... configure:31241: checking SVG_LIBS configure:31244: result: -L/usr/local/lib -lrsvg-2 -lgdk_pixbuf-2.0 -lart_lgpl_\ 2 -lxml2 -lz -lsocket -lnsl -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-\ 2.0 -ldl -lglib-2.0 -lintl -liconv -lm configure:31327: checking for gimpprint-config configure:31345: found /usr/local/bin/gimpprint-config configure:31358: result: /usr/local/bin/gimpprint-config configure:31366: checking for GIMP-PRINT - version >= 4.2.0 configure:31477: gcc -o conftest -g -O2 -Wall -I/usr/local/include conftest.c\ -L/usr/local/lib -lgimpprint -lm >&5 Undefined first referenced symbol in file libintl_bindtextdomain /usr/local/lib/libgimpprint.so libintl_dgettext /usr/local/lib/libgimpprint.so ld: fatal: Symbol referencing errors. No output written to conftest collect2: ld returned 1 exit status configure:31480: $? = 1 configure: program exited with status 1 ... Configure seems to find 'bindtextdomain' and 'dgettext' in -lintl when checking, and from my investigation, see command list above, these symbols seem to be there, thus there shouldn't be a problem due to these symbols whilest running './configure', should there? Seems like the test doesn't adhere to the LD_LIBRARY_PATH setting (which generally is a bad thing to use/rely on anyway; LD_RUN_PATH should suffice - but it was not, at least not for GIMP 1.3.21). If I manually run that same piece of code in config.log that failed, in the same shell as I ran './configure', it will also fail (but manually ;-) ): myhost(33)# gcc -o conftest -g -O2 -Wall -I/usr/local/include config-test.c -L/ usr/local/lib -lgimpprint -lm config-test.c:246: parse error at end of input myhost(34)# gcc -o conftest -g -O2 -Wall -I/usr/local/include config-test.c -L/usr/local/lib -lgimpprint -lm Undefined first referenced symbol in file libintl_bindtextdomain /usr/local/lib/libgimpprint.so libintl_dgettext /usr/local/lib/libgimpprint.so ld: fatal: Symbol referencing errors. No output written to conftest collect2: ld returned 1 exit status myhost(35)# gcc -o conftest -g -O2 -Wall -I/usr/local/include config-test.c -L/usr/local/lib -lgimpprint -lintl -lm myhost(36)# Adding '-lintl' (see 35 above) seems to resolve the problem. Hey!!!! I've found a bug that needs to be fixed in the GIMP's configure!!!! Now, if I want to patch my configure.in manually; where do I put that '-lintl', or let me rephrase that; where will you put it in the next GIMP release? ;-) Best Regards, Rolf Sponsel
The problem is probably in AM_PATH_GIMPPRINT so it needs to be fixed in gimpprint and the fix then merged back into aclocal.m4 in the gimp tree. But then, the real problem seems to be that "gimpprint-config --libs" doesn't return the right set of libraries that are needed to link libgimpprint. This is then solely a gimp-print issue. Please do file a bug-report at the gimp-print bug-tracker at sourceforge. I am not sure if we should attempt to woraround this problem so I am leaving this report open for now.
I've filed a bug-report at the gimp-print bug-tracker at sourceforge.net now. You find it at the address provided below, but you don't have to read it, as it only referes back to this thread. This in an attempt to keep this issue in one place and at the same time make it easier for everybody to find. http://sourceforge.net/tracker/index.php?func=detail&aid=924862&group_id=1537&atid=101537 [ 924862 ] Gimp-print breaks thebuild script of the GIMP 2.0 on Solaris I have no opinion on whether this is a gimp-print or gimp issue, as I don't have the competence (without a major investigation of course) to judge this.
Created attachment 26030 [details] [review] workaround for problem with gimpprint-config Unless we want to depend on gimpprint 4.2.7 we should apply this patch.
Rolf, if you want to try this patch, you will need aclocal, automake, autoconf and other tools listed in the file HACKING.
Sven, your patch seems to have done the trick! :-) For those interested; these are the steps, after downloading and "un-ziptaring". 1). % cd gimp-2.0.0 2). make sure you have a decent path, i.e. something similar to this, note order matters (csh syntax): % setenv PATH /usr/local/bin:/usr/ccs/bin:/usr/dt/bin:/usr/openwin/bin:/usr/sbin:/usr/bin:/bi\ n:/usr/xpg4/bin:/usr/ucb 3). % setenv LD_LIBRARY_PATH /usr/local/lib 4). apply the patch provided in the attachment above provided by Sven, e.g.: % patch < acinclude.m4-gimp-2.0.0-diff # if you saved the diff as 'acinclude.m4-gimp-2.0.0-diff' when downloading it ) 5). % setenv M4 /usr/local/lib/m4 # I must set this on my system for some weird reason, or autom4te will bail out when it gets run by automake. 6). % aclocal-1.7 7). % libtoolize --force 8). % automake-1.7 -a 9). % autoconf 10). % # I skipped glib-gettextize, as it's already in place 11). % # I skipped intltoolize too 12). now you can run configure just as usual, and gimpprint 4.2.6 will be found ... checking for gimpprint-config... /usr/local/bin/gimpprint-config checking for GIMP-PRINT - version >= 4.2.0... yes ... Good luck! Thank You Sven for your the patch and your kind co-operation. BTW, the descripton in the HACKING file is brief but excellent.
*** Bug 139828 has been marked as a duplicate of this bug. ***
If it fixes the problem I think the workaround should be committed. It is unlikely that there will be a 4.2.7 release, given that the 5.0 release of gimp-print is coming up soon. Dave.
There will certainly be a 4.2.7 release and a pre-release is out already.
My vote is still for the workaround, which should still work if a fixed gimp-print is installed. Has this been fixed in gimp-print yet? Dave.
Yes, it has been fixed and, as I said, a prerelease with this fix is available. Yosh voted against the workaround because he doesn't want to diverge from the m4 macro as distributed with gimp-print.
Why didn't he say so? The workaround doesn't break anything with the newer m4s, and it is reasonable to expect that lots of people will be on 4.2.6 for ages. So what's the harm in committing this? Dave.
Moving this on the 2.0.2 milestone so it is looked at again.
I vote for closing as NOTGNOME and adding a note to INSTALL that people should be using gimp-print-4.2.7-pre1 if they run into this problem.
Noone objected, so I went for it: 2004-06-02 Sven Neumann <sven@gimp.org> * INSTALL: suggest to use gimp-print 4.2.7-pre1 in case of problems (see bug #138273).
*** Bug 145457 has been marked as a duplicate of this bug. ***