After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 564018 - pygobject libtool-2.2 patch
pygobject libtool-2.2 patch
Status: RESOLVED FIXED
Product: pygobject
Classification: Bindings
Component: general
2.15.x
Other All
: Normal normal
: ---
Assigned To: Nobody's working on this now (help wanted and appreciated)
Python bindings maintainers
Depends on:
Blocks:
 
 
Reported: 2008-12-10 18:23 UTC by Yaakov Selkowitz
Modified: 2009-01-07 00:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
libtool-2.2 patch (370 bytes, patch)
2008-12-10 18:23 UTC, Yaakov Selkowitz
committed Details | Review

Description Yaakov Selkowitz 2008-12-10 18:23:22 UTC
I'm attaching a patch for libtool-2.2 compatibility, based on the solution in gtk+-2.14.
Comment 1 Yaakov Selkowitz 2008-12-10 18:23:51 UTC
Created attachment 124369 [details] [review]
libtool-2.2 patch
Comment 2 Paul Pogonyshev 2009-01-04 21:26:25 UTC
I admit I don't really understand it, but applied the patch in trunk.  Seems to do nothing (bad or good) here, as expected.

2009-01-04  Paul Pogonyshev  <pogonyshev@gmx.net>

	Bug 564018 – pygobject libtool-2.2 patch

	* configure.ac: Apply the patch provided by Cygwin Ports
	maintainer.
Comment 3 Daniel Macks 2009-01-06 09:08:02 UTC
Just some feedback here:

1. The patch didn't make it into the 2.16.0 release.

2. Without the patch, building pygobject-2.16.0 on my OS X 10.4/ppc via 'autoreconf -fi && ./configure && make' with installed libtool-1.5.26 (not libtool2) installed fails badly:

[...]
checking whether to enable threading in pygobject... yes
./configure: line 1: ./libtool: No such file or directory
checking for pkg-config... /sw/bin/pkg-config
[...]
/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I/sw/include/python2.6 -I/sw/include/python2.6 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -DPY_SSIZE_T_CLEAN  -I/sw/include  -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -g -O2 -Wall -fno-strict-aliasing -std=c9x -c -o libpyglib_2_0_la-pyglib.lo `test -f 'pyglib.c' || echo './'`pyglib.c
../libtool: line 1: X--tag=CC: command not found
[and a ton more errors indicating misconfiguration of the ./libtool script]

3. With the patch, ./configure in #2 above works fine. However, make still fails the same way.

4. Updating installed libtool to 2.2.6 (and with the patch applied), make also gets beyond that libtool crash.

I suspect the 2.16.0 distro was rolled on a machine with libtool2?
Comment 4 Paul Pogonyshev 2009-01-06 19:17:53 UTC
(In reply to comment #3)
> 1. The patch didn't make it into the 2.16.0 release.

Yes, as I said I applied it in the trunk.  Don't like changes I don't understand in stable branches ;)  If you think it's worth it, I can apply in the branch too, though I doubt there will ever be 2.16.1.

> 2. Without the patch, building pygobject-2.16.0 on my OS X 10.4/ppc via
> 'autoreconf -fi && ./configure && make' with installed libtool-1.5.26 (not
> libtool2) installed fails badly [...]
> 
> 3. With the patch, ./configure in #2 above works fine. However, make still
> fails the same way.
> 
> 4. Updating installed libtool to 2.2.6 (and with the patch applied), make also
> gets beyond that libtool crash.

What was the libtool version before upgrading?

> I suspect the 2.16.0 distro was rolled on a machine with libtool2?

No idea.  I was under the impression this patch was needed for non-GNU/Linux machines only, no?
Comment 5 Yaakov Selkowitz 2009-01-07 00:50:14 UTC
Since the relevant ChangeLog in gtk+ (from where I borrowed this solution) isn't very descriptive, let me explain:

With lt-1.x, AC_PROG_LIBTOOL would generate the build-tree libtool script immediately, meaning that any point thereafter one could call ./libtool for various tests (AFAIK this was originally the only way to get the libtool configuration info; this has changed since.)

With lt-2.2, the default behaviour of LT_INIT (to which AC_PROG_LIBTOOL is now an alias) is to create the build-tree libtool during AC_OUTPUT.  If you really need ./libtool earlier, then you call the new LT_OUTPUT macro.

The problem with this scenario is compatibility with 1.x and 2.2 simultaneously, as both versions are still widely used.  The patch uses m4_ifdef to detect if 2.2 is being used by the presence (or lack thereof) of LT_OUTPUT, and calls it if present; systems using 1.x aren't affected.

Re: comment 3, that error looks like a classic libtool version mismatch.  If you are running autoreconf (and for Darwin that's probably a good idea), make sure that libtool is replacing ltmain.sh as well as aclocal pulling in the matching system libtool macro(s).  There's no reason it shouldn't build with 1.5.