Opened 6 years ago

Closed 6 years ago

#1022 closed defect (fixed)

master (4.8.x) is broken on OS X

Reported by: Jim Ursetto Owned by:
Priority: major Milestone: someday
Component: build system Version: 4.8.x
Keywords: soname versioned Cc:
Estimated difficulty:

Description

Due to a linking change several months ago, the details of which I'll have to dig up, master no longer builds on OS X. I believe something was done with the numeric versioning but it wasn't propagated to OS X. The library uses libchicken.dylib but the installed library is libchicken.dylib.7.

The current workaround is to symlink libchicken.dylib@ -> libchicken.dylib.7 after installing.

Attachments (1)

0001-Only-generate-a-versioned-.so-if-USES_SONAME.patch (1.7 KB) - added by Jim Ursetto 6 years ago.
only generate a versioned .so when USES_SONAME is set

Download all attachments as: .zip

Change History (4)

comment:1 Changed 6 years ago by Jim Ursetto

Bisection confirms culprit is 53128c23a114af030a "Drop SONAME_VERSION, use BINARYVERSION instead"

Changed 6 years ago by Jim Ursetto

only generate a versioned .so when USES_SONAME is set

comment:2 Changed 6 years ago by Jim Ursetto

Keywords: soname versioned added

Attached patch should fix issue, is now in testing. Versioned .so files won't be generated on platforms not using sonames, which is basically the status quo ante, but stops Solaris from generating a versioned .so that it never uses.

Note: we could move Solaris to use soname pretty easily I believe. Right now it uses an unversioned lib.

OS X supports soname as well via -install_name, so that could be done too. Obstacles: makefile doesn't support names like "libchicken.7.dylib"; csc has some hardcoded stuff relating to "libchicken.dylib"; we might have to change the compatibility/current versions in the linker options (not sure about this).

comment:3 Changed 6 years ago by Jim Ursetto

Resolution: fixed
Status: newclosed

Fixed in 40a4bb37b893c07

Note: See TracTickets for help on using tickets.