Closed jwiegley closed 9 years ago
Or maybe not zlibSupport
, but one of those *Support
flags is missing a needed dependency.
It seems all the libraries are present. I will keep digging.
The underlying error is:
dyld: Library not loaded: libz.so.1.2.8
Referenced from: /private/var/folders/sq/906k53jd3w7cd5rf9fpc0g_00000gn/T/nix-build-curl-7.39.0.dr
v-0/curl-7.39.0/./conftest
Reason: image not found
Here is a fix that works for me:
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
preConfigure = ''
sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
rm src/tool_hugehelp.c
+ '' ++ stdenv.lib.optionalString stdenv.isDarwin '';
+ export DYLD_LIBRARY_PATH=${zlib}/lib:$DYLD_LIBRARY_PATH
'';
# make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE
@@ -41,12 +43,19 @@ stdenv.mkDerivation rec {
'';
configureFlags = [
+ ( if zlibSupport then "--with-zlib=${zlib}" else "--without-zlib" )
( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" )
( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" )
]
++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}";
+ installPhase = stdenv.lib.optionalString stdenv.isDarwin ''
+ for prog in $out/bin/*; do
+ wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${zlib}/lib"
+ done
+ '';
+
CXX = "g++";
CXXCPP = "g++ -E";
This is not the right fix; see #5608.
Using a virgin Mavericks machine,
nix-env -i curl
fails to configure with the following error:The workaround to get things started is to change
all-packages.nix
:Once all of the necessary libraries are built by Nix this isn't needed anymore, so I think the right solution is simply to increase the dependency set for
curl
whenzlibSupport
istrue
.Pinging @edolstra @lovek323