libcurl ou cURL não funciona OSX Mavericks

4

Antes de começar, deixe-me dizer que eu desinstalei, reinstalei, compilei da fonte, usei macports e geralmente tentei durante as últimas 6 horas para fazer o curl funcionar no meu Mac OSX Mavericks, mas ainda não acertei.

Se eu tentar fazer alguma coisa com o curl, recebo isto:

dyld: Library not loaded: /opt/local/lib/libcurl.4.dylib
  Referenced from: /opt/local/bin/curl
  Reason: Incompatible library version: curl requires version 8.0.0 or later, but     libcurl.4.dylib provides version 7.0.0

No entanto, se eu verificar minha onda, não vejo nada de errado.

$ which curl
/opt/local/bin/curl

$ otool -L /opt/local/bin/curl
/opt/local/bin/curl:
    /opt/local/lib/libcurl.4.dylib (compatibility version 8.0.0, current version 8.0.0)
    /opt/local/lib/libidn.11.dylib (compatibility version 18.0.0, current version 18.9.0)
    /opt/local/lib/libldap-2.4.2.dylib (compatibility version 11.0.0, current version 11.3.0)
    /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8)
    /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 55471.14.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.14.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

$ otool -L /opt/local/lib/libcurl.4.dylib
/opt/local/lib/libcurl.4.dylib:
    /opt/local/lib/libcurl.4.dylib (compatibility version 8.0.0, current version 8.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.14.0)
    /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 55471.14.0)
    /opt/local/lib/libidn.11.dylib (compatibility version 18.0.0, current version 18.9.0)
    /opt/local/lib/libldap-2.4.2.dylib (compatibility version 11.0.0, current version 11.3.0)
    /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

Minha biblioteca curl é a versão 8.0.0 Eu fiz um locate libcurl.4.dylib | xargs otool -L e isso mostrou que a única versão 7.0.0 do curl que eu tenho existe dentro da pasta MacOSX10.8.sdk / usr / lib e não é linkado em qualquer lugar.

Todas as sugestões são bem vindas.

Obrigado

    
por System123 28.05.2014 / 14:39

2 respostas

1

Eu tenho o mesmo problema com você.

  1. Sugiro que você verifique o libcurl em /usr/lib/libcurl.4.dylib . Se for versão 7.0.0, mova-o para outro nome e crie um link para seu /opt/local/lib/libcurl.4.dylib . Mas isso pode afetar potencialmente os comportamentos de alguns aplicativos que usam libcurl, portanto, não é recomendado.
  2. Ou melhor, verifique as possíveis configurações executando brew options formula-name e, em seguida, execute brew install formular-name --with-brewed-curl se houver essas opções.
  3. Você pode criar a partir do código-fonte e configurar o LIBCURL_CFLAGS e o LIBCURL_LIBS se 2 não funcionar.

Eu não tentei 2 ou 3. Você pode ler este artigo aqui link .

Espero que ajude.

    
por 17.09.2014 / 09:57
0

Uma solução foi fornecida no link

A idéia é fazer uma construção estática do curl e depois colá-lo em / usr / bin / ou / usr / local / bin /. Resumidamente:

  1. ~ $ xcode-select --install
  2. Faça o download da versão mais recente do curl no link
  3. copie para o diretório e execute o comando ~ $ ./configure --disable-shared --with-darwinssl --enable-threaded-resolver
    ~ $ make -j 'sysctl -n hw.logicalcpu_max'
  4. Copie o curl compilado, localizado em ./src/curl para seu /usr/bin/

Observação: no comando make , o sinal "'" é de fato uma cotação de retorno, não uma cotação simples.

    
por 08.12.2014 / 15:49

Tags