Opened 11 years ago
Closed 11 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)
Change History (4)
comment:1 Changed 11 years ago by
Changed 11 years ago by
Attachment: | 0001-Only-generate-a-versioned-.so-if-USES_SONAME.patch added |
---|
only generate a versioned .so when USES_SONAME is set
comment:2 Changed 11 years ago by
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).
Bisection confirms culprit is 53128c23a114af030a "Drop SONAME_VERSION, use BINARYVERSION instead"