Opened 18 years ago

Closed 18 years ago

Last modified 16 years ago

#9335 closed defect (fixed)

BUG: gnupg - gpg no longer works after readline upgrade

Reported by: vincent-opdarw@… Owned by: pipping@…
Priority: Normal Milestone:
Component: ports Version: 1.0
Keywords: Cc: yeled@…
Port:

Description

After readline upgrade, I get the following error:

$ gpg dyld: Library not loaded: /opt/local/lib/libreadline.5.0.dylib

Referenced from: /opt/local/bin/gpg Reason: image not found

It should probably use /opt/local/lib/libreadline.5.dylib so that it no longer fails when readline is upgraded.

Change History (13)

comment:1 Changed 18 years ago by vincent-opdarw@…

BTW, the Portfile should have port:readline in depends_lib.

And concerning the library name, this seems to be a MacOS-only bug. There's no such problem under Linux (Debian):

dixsept:~> ldd =gpg [...]

libreadline.so.5 => /lib/libreadline.so.5 (0xb7ea6000)

[...] dixsept:~> ls -lgo /lib/libreadline.so.5 lrwxrwxrwx 1 18 2006-03-25 23:52:23 /lib/libreadline.so.5 -> libreadline.so.5.1

As you can see, here gpg is linked against libreadline.so.5, not libreadline.so.5.1.

comment:2 Changed 18 years ago by opendarwin-2006@…

Owner: changed from darwinports-bugs@… to waqar@…

comment:3 Changed 18 years ago by yeled@…

Cc: yeled@… added

comment:4 Changed 18 years ago by rhwood@…

Quick fix:

sudo port uninstall gnupg sudo port clean --all gnupg sudo port install gnupg

This will force gnupg to link against new readline.

comment:5 Changed 18 years ago by vincent-opdarw@…

(In reply to comment #2)

Quick fix:

Well, this is just a workaround. The problem should have never occurred. If nothing is done to really fix it, it may happen again in the future.

comment:6 Changed 18 years ago by cmconnelly (Claire Connelly)

(In reply to comment #1)

BTW, the Portfile should have port:readline in depends_lib.

I agree -- the missing dependency is the problem. Without it, it's possible to update readline without rebuilding gnupg to link against the new version.

comment:7 Changed 18 years ago by vincent-opdarw@…

(In reply to comment #4)

(In reply to comment #1)

BTW, the Portfile should have port:readline in depends_lib.

I agree -- the missing dependency is the problem. Without it, it's possible to update readline without rebuilding gnupg to link against the new version.

These are two different problems. In fact, even with the dependency, programs no longer work after an upgrade of readline. This is a bug in readline and a patch was posted on the darwinports mailing-list a couple of weeks ago. When a library is upgraded, one shouldn't need to recompile the programs, because the library must be compatible or have a different name (so that one can have several incompatible versions at the same time and one can't link with an incompatible version, thanks to versioning). This is important, because the programs compiled directly by a user must still work after a system upgrade. On this point, it seems that DarwinPorts is buggy.

comment:8 Changed 18 years ago by pipping@…

Milestone: Available Ports

comment:9 Changed 18 years ago by pipping@…

Owner: changed from waqar@… to pipping@…
Status: newassigned

comment:10 Changed 18 years ago by pipping@…

probably fixed in r22947.

please confirm.

comment:11 Changed 18 years ago by pipping@…

Milestone: Available PortsPort Bugs

comment:12 Changed 18 years ago by pipping@…

Resolution: fixed
Status: assignedclosed

no new feedback, presumably fixed in r22947.

comment:13 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.