Opened 10 years ago
Closed 2 years ago
#44384 closed defect (fixed)
libpaper fails to build on OS X Tiger
Reported by: | djlambe11@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.1 |
Keywords: | tiger | Cc: | |
Port: | libpaper |
Description
When compiling libpaper (version 1.1.24) on OS X 10.4 the following error appears in the log:
... ld: unknown flag: -compatibility-version ...
This is due to the fact that earlier versions of OS X used -dylib_compatibility_version
, and -dylib_current_version
, which shows up later. The fix, then, is to patch ltmain.sh to use the -dylib*
options where necessary. The problem with this is that the latest version of OS X I can currently run is Tiger, and I don't know when the switch was made.
On the other hand, even the newest versions of OS X support the -dylib*
options as a compatibility feature, so it doesn't harm anything to use them there.
Therefore, I present a patch that enables a successful build.
Potentially Relevant Information:
- Mac OS X 10.4.11 (Tiger)
- XCode 2.5
- PowerBook G4
Attachments (2)
Change History (5)
Changed 10 years ago by djlambe11@…
Attachment: | patch-ltmain.sh.diff added |
---|
comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Could you attach the main.log file from the failed build?
This ticket is the only hit on Google for the search string "unknown flag: -compatibility-version
" which makes me question the commonness of the problem or the correctness of the solution.
comment:2 Changed 10 years ago by djlambe11@…
Sorry, that was me missing the shift key. It was -compatibility_version
(noting the underscore this time). I'm uploading my main.log now.
Notes, which led me to my original conclusion:
From man ld
on Tiger:
-dylib_compatibility_version number ... the library is used. This option is used as the libtool(1) -compatibility_version number option when its -dynamic option is set.
From the man page found on the hard drive of my (broken) Mavericks machine:
-compatibility_version number ... is used. This option is also called -dylib_compatibil- ity_version for compatibility.
with irrelevant parts shrouded behind ellipses. If you would like the full versions, I can attach them as well. It should be noted that these are taken directly from my xterm window, and the awkward hyphenation is a by-product of man
.
The 10.4 version does not have the -compatibility_version
flag, nor the -current_version
one. However, since my two data points are so far separated, I have no clear line to draw as to which release removed the dylib_
. Being that the older option is still accepted should allow the patch to proceed without issue, but it would probably be better to use a conditional to only use the dylib_
when it is strictly necessary.
comment:3 Changed 2 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | new → closed |
fixed at some point
$ port -v installed libpaper The following ports are currently installed: libpaper @1.1.28_0 (active) requested_variants='' platform='darwin 8' archs='ppc' date='2022-12-06T22:01:04-0800'
Enable compilation on Tiger (and possibly other versions)