#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