Hello,

I'm running into a problem trying to use a pre-built binary package of skalibs, that was compiled on darwin13, to compile execline on my darwin14 machine. (Not sure what versions of Mac OS X these correspond to. My local machine is running
OS X Yosemite 10.10.5.)

The error is:

./configure: error: target x86_64-apple-darwin14.5.0 does not match the contents of /nix/store/ig0gli71p8xa8r6ss48h1w8imk1a0z1y-skalibs-2.3.7.0/lib/skalibs/sysdeps/target

The contents of `...skalibs/sysdeps/target` is `x86_64-apple-darwin13.4.0`, which is the output of `clang -dumpmachine` run on the machine that pre-built
the skalibs package. The output on my local machine is
`x86_64-apple-darwin14.5.0`.

One solution, of course, is to compile both skalibs and execline on the same
machine.

Another might be to patch the ./configure script to strip off any darwin version number from the output of `-dumpmachine`. It's quite easy to do this within the nix packages of skalibs, etc. without any need to modify skalibs upstream.

Wondering if you have any opinion or thoughts here. It seems wrong that darwin includes its version number in the target triplet [1]. Is there any precedent for this? Does it imply darwin13 and darwin14 are incompatible in some way? Because the triplet includes the full major.minor.patch I find it hard to
believe the intent was to indicate binary incompatibility.

[1] http://wiki.osdev.org/Target_Triplet

--
Patrick Mahoney <[email protected]>

Reply via email to