[MacPorts] #48012: nettle @2.7.1: error: no member named 'ptrdiff_t' in the global namespace
MacPorts
noreply at macports.org
Wed Jun 10 23:44:45 PDT 2015
#48012: nettle @2.7.1: error: no member named 'ptrdiff_t' in the global namespace
--------------------------+--------------------------
Reporter: m74z00219@… | Owner: ryandesign@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.3
Resolution: | Keywords:
Port: nettle |
--------------------------+--------------------------
Comment (by ryandesign@…):
Replying to [comment:3 m74z00219@…]:
> To give a little more context, I had been attempting to install the port
youtube-dl, which depends on ffmpeg, which depends on gnutls, which
depends on nettle. While I'm not exactly sure of what constitutes a
"broken" port (perhaps being interrupted during build?), I believe that
list must have comprised the aforementioned ports. Unfortunately, I've
already uninstalled youtube-dl and its dependencies. However, I did just
just attempt to install nettle again (new log attached).
>
> My Xcode version is 6.3.2 (build 6D2105). My clang, which I actually
upgraded today in hopes that it would help with nettle, is version 3.7.0
(trunk 239386); Target: x86_64-apple-darwin14.4.0; Thread model: posix.
>
> Since I uninstalled youtube-dl and it's dependencies -- save nettle --
I'm not sure if ""sudo port -v rev-upgrade"" will yield much. My eyes
don't see anything meaningful, so I attached it to this ticket.
Thanks, that helps.
A "broken" port is one linked with libraries that don't exist or that are
the wrong version.
From your log:
{{{
Incompatible library version: /opt/local/bin/nettle-hash requires version
13.0.0 or later, but /opt/local/lib/libgmp.10.dylib provides version
11.0.0
Incompatible library version: /opt/local/bin/nettle-lfib-stream requires
version 13.0.0 or later, but /opt/local/lib/libgmp.10.dylib provides
version 11.0.0
Incompatible library version: /opt/local/bin/pkcs1-conv requires version
13.0.0 or later, but /opt/local/lib/libgmp.10.dylib provides version
11.0.0
Incompatible library version: /opt/local/bin/sexp-conv requires version
13.0.0 or later, but /opt/local/lib/libgmp.10.dylib provides version
11.0.0
Incompatible library version: /opt/local/lib/libhogweed.2.5.dylib requires
version 13.0.0 or later, but /opt/local/lib/libgmp.10.dylib provides
version 11.0.0
}}}
So the files installed by nettle are linked with gmp libraries version 13,
which is how it should be: that's the version of the gmp libraries on my
system. But for some reason you have gmp libraries version 11 on your
system.
You have somehow replaced your gmp libraries with older versions, without
MacPorts knowing about this. Perhaps you ran a third-party installer that
overwrote these files?
You need to get gmp libraries version 13 back onto your system. One way to
do that is to force gmp to rebuild:
{{{
sudo port -n upgrade --force gmp
}}}
Then nettle will no longer be considered broken.
However, if gmp files were overwritten on your system, who knows how many
other files from other ports were also overwritten... The safest thing to
do would be to
[https://guide.macports.org/chunked/installing.macports.uninstalling.html
uninstall] all ports, and MacPorts itself, including deleting /opt/local
entirely, after having saved any important data or configuration file
therein, then reinstalling MacPorts and the ports you want. That way you
can be sure only files in the MacPorts prefix are the ones MacPorts put
there.
--
Ticket URL: <https://trac.macports.org/ticket/48012#comment:4>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list