Opened 7 years ago

Closed 7 years ago

#54112 closed defect (fixed)

autogen stuck on guile-2.0, refuses rebuild with guile-2.2.2

Reported by: mouse07410 (Mouse) Owned by: kencu (Ken)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: maehne (Torsten Maehne)
Port: autogen

Description

macOS Sierra 10.12.4, Xcode-8.3.2, everything current/latest.

$ port installed guile
The following ports are currently installed:
  guile @2.2.2_0 (active)
$ sudo port rev-upgrade
--->  Scanning binaries for linking errors
--->  Found 2 broken files, matching files to ports
--->  Found 1 broken port, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt: autogen @5.18.12
Continue? [Y/n]: y
--->  Computing dependencies for autogen
--->  Cleaning autogen
--->  Scanning binaries for linking errors
--->  Found 2 broken files, matching files to ports
--->  Found 1 broken port, determining rebuild order
--->  Rebuilding in order
     autogen @5.18.12 
--->  Computing dependencies for autogen
--->  Fetching distfiles for autogen
--->  Verifying checksums for autogen
--->  Extracting autogen
--->  Applying patches to autogen
--->  Configuring autogen
Error: Failed to configure autogen, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_autogen/autogen/work/autogen-5.18.12/config.log
Error: Failed to configure autogen: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_autogen/autogen/main.log for details.
Error: rev-upgrade failed: Error rebuilding autogen
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
$

log excerpt:

. . . . .
:info:configure configure: checking for guile 2.0
:info:configure configure: checking for guile 1.8
:info:configure configure: error: 
:info:configure No Guile development packages were found.
:info:configure Please verify that you have Guile installed.
. . . . .

Attachments (6)

autogen.log.txt (18.7 KB) - added by mouse07410 (Mouse) 7 years ago.
main.log
autogen.config.log (82.7 KB) - added by mouse07410 (Mouse) 7 years ago.
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_autogen/autogen/work/autogen-5.18.12/config.log
Portfile (1.7 KB) - added by jwhowse4 7 years ago.
port file
patch-configure.diff (347 bytes) - added by jwhowse4 7 years ago.
patch one
patch-agen5_guile-iface.h.diff (695 bytes) - added by jwhowse4 7 years ago.
patch two
Portfile.2 (4.6 KB) - added by gnw3 7 years ago.
guile version 2.0.14 Portfile

Download all attachments as: .zip

Change History (22)

Changed 7 years ago by mouse07410 (Mouse)

Attachment: autogen.log.txt added

main.log

Changed 7 years ago by mouse07410 (Mouse)

Attachment: autogen.config.log added

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_autogen/autogen/work/autogen-5.18.12/config.log

comment:1 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

comment:2 Changed 7 years ago by mouse07410 (Mouse)

Thank you!

In the meanwhile, it would be nice if Macports added this patch to autopen.

Version 0, edited 7 years ago by mouse07410 (Mouse) (next)

comment:3 Changed 7 years ago by jwhowse4

Attached is a Portfile and a pair of patch files based on the Homebrew patch which I used to successfully build autogen on MacOS 10.10.5 with XCode 7.2.1.

Changed 7 years ago by jwhowse4

Attachment: Portfile added

port file

Changed 7 years ago by jwhowse4

Attachment: patch-configure.diff added

patch one

Changed 7 years ago by jwhowse4

patch two

comment:4 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)

The patches work on Mac OS X 10.6.8, Snow Leopard.

comment:5 Changed 7 years ago by mf2k (Frank Schima)

Thanks. Per the guidelines, please instead attach a unified diff of the Portfile so we can easily see what changes you are proposing.

Changed 7 years ago by gnw3

Attachment: Portfile.2 added

guile version 2.0.14 Portfile

comment:6 Changed 7 years ago by gnw3

The autogen tarball was created using guile-2.0 and the binary package for autogen was linked against guile-2.0:

$ otool -L /opt/local/bin/autogen 
/opt/local/bin/autogen:
	/opt/local/lib/libopts.25.dylib (compatibility version 42.0.0, current version 42.1.0)
	/opt/local/lib/libguile-2.0.22.dylib (compatibility version 31.0.0, current version 31.1.0)
	/opt/local/lib/libgc.1.dylib (compatibility version 2.0.0, current version 2.3.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
	/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)

I looked at what versions of guile and autogen are used elsewhere in my lab:

Ubuntu 14.04 and RHEL7 use autogen-5.18 and guile-2.0.9. Msys2 uses autogen-5.18.12 and guile-2.0.14.

In my view, we need a guile20 until GNU tarballs have moved to guile-2.2. Hacking a configured package to use newer tools puts macports outside the widely used toolchains so has the potential for introducing bugs not found in systems that stick with the release configurations.

I have attached a guile20 Portfile that allows the binary autogen to run.

comment:7 Changed 7 years ago by mf2k (Frank Schima)

See also #54293.

comment:8 Changed 7 years ago by mouse07410 (Mouse)

In my view, we need a guile20 until GNU tarballs have moved to guile-2.2

Respectfully disagree.

In my view we need an autogen configurator that correctly detects guile, and does not barf if guile is of a higher version than 2.0. Especially since it does not seem to matter for the code...

As for Ubuntu 14.04 packages - who cares?

comment:9 Changed 7 years ago by kencu (Ken)

I suppose if somebody put together a PR, this might be fixed already. - Ah, no maintainer. Well that might be good - once the PR is up there, any of the team can go ahead and commit it.

Last edited 7 years ago by kencu (Ken) (previous) (diff)

comment:10 Changed 7 years ago by maehne (Torsten Maehne)

Cc: maehne added

comment:11 Changed 7 years ago by johnty (johnty wang)

this is still not working? just pulled a fresh install of macports, did an update, and then tried to add autogen. guile 2.2.2 gets installed and the autogen build fails.

comment:12 Changed 7 years ago by mouse07410 (Mouse)

Since nobody seems keen on fixing it, I'm not surprised it isn't working.

Since I'm not keen on fixing this port's config as I don't have a clue how to do it, my workaround was uninstalling autogen, and getting by without that tool. So far so good.

comment:13 Changed 7 years ago by kencu (Ken)

PR in place; if it passes all the Travis builds I'll add it. Works on all my system tests so far.

Last edited 7 years ago by kencu (Ken) (previous) (diff)

comment:14 Changed 7 years ago by kencu (Ken)

Summary: autopen stuck on guile-2.0, refuses rebuild with guile-2.2.2autogen stuck on guile-2.0, refuses rebuild with guile-2.2.2

comment:15 Changed 7 years ago by kencu (Ken)

Looks like the patches in this ticket and on homebrew are incomplete. If the Port is reconfigured with use_autoreconf yes then it still fails. There is a better patch that fixes this issue here <http://savannah.gnu.org/support/?109347> that would be more appropriate to use instead.

Also, notably, the author of autogen has not exactly certified autogen to work properly with guile-2.2 see <http://mac-os-forge.2317878.n4.nabble.com/autogen-install-or-upgrade-fails-td336506.html> but suggests a warning be used in case there are as-yet undiscovered problems. Hmm.

I don't see any reports out there that issues have been found with autogen & guile 2.2. It's broken the way it is. I just checked the development website <http://git.savannah.gnu.org/cgit/autogen.git/log/> and there's no indication that this issue with guile-2.2 is being fixed in the autogen source code at the moment.

I'll update the fix to use the new patch, and add a note that it hasn't been officially verified as the autogen author suggests.

comment:16 Changed 7 years ago by kencu (Ken)

Owner: set to kencu
Resolution: fixed
Status: newclosed

In 13f33d093b4b7dde9dd17a6a250c79a6e68ff207/macports-ports:

autogen: fix build against newer guile 2.2.2

closes: #54112
use autoreconf as patch changes an m4 file
revbump as builds against new library

Note: See TracTickets for help on using tickets.