target mismatch building on different versions of darwin

From: Patrick Mahoney <pat_at_polycrystal.org>
Date: Sat, 27 Feb 2016 10:01:23 -0600

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 <pat_at_polycrystal.org>
Received on Sat Feb 27 2016 - 16:01:23 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC