#author("2019-04-03T15:01:41+09:00","default:Miyashita","Miyashita")
#author("2019-04-06T17:18:25+09:00","default:Miyashita","Miyashita")
*curl 関係のエラー [#q364e7ed]
**An unknown option was passed in to libcurl [#pd7b7a1d]
ある時
 curl: (48) An unknown option was passed in to libcurl
というエラーが発生した.~
curlは GitHub のソース等からビルド・インストールしたのに対して,libcurl は apt-get 経由でインストールしたりすると,それぞれのバージョンが一致せずこのエラーが起こり得る.~
自分の環境で試してみた.
#codeprettify{{
$ curl -V
curl 7.61.1 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.0.2n zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
}}
あとは
[[Qiita - curlをソースコードからコンパイルしたときの備忘録>https://qiita.com/riffrain@github/items/74594fe358ac76c72f5a]]~
を参考に,書いてある事と同様な修正を行った.~
まずは libcurl が参照されているパスを確認する.
#codeprettify{{
$ which curl
/usr/bin/curl
$ ldd `which curl`
	linux-vdso.so.1 (0x00007ffeba39b000)
	libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f1617043000)
}}
/usr/lib/x86_64-linux-gnu にある場合は,apt upgradeで勝手に更新されてしまう可能性がある.~
/usr/lib/x86_64-linux-gnu にある場合は,apt upgrade で更新されてしまう可能性がある.~
一度 libcurl4 をパージして,curl とその動的ライブラリが関係するソフトウェアをソースからビルドしてインストールし直すのが一つの方法.~
~
その場しのぎの方法としては,適切な libcurl.so.4 があるところから libcurl の参照場所へコピーするという方法がある.
#codeprettify{{
$ cd /usr/lib/x86_64-linux-gnu
$ sudo cp libcurl.so.4.5.0 libcurl.so.4.5.0.bak # バックアップ
$ sudo cp /usr/lib/libcurl.so.4.5.0 .           # 適切なファイルのコピー 
$ sudo ln -fs libcurl.so.4.5.0 libcurl.so.4     # シンボリックリンク作成
}}
最終的に,curl と libcurl のバージョンが一致していればOK.
#codeprettify{{
$ curl -V
curl 7.61.1 (x86_64-pc-linux-gnu) libcurl/7.61.1 OpenSSL/1.1.0g zlib/1.2.11 libssh2/1.8.0
}}
一度修正しても,update & upgrade で更新する度に同じことが発生してしまうのなら,curl も libcurl も apt 経由にした方が良いかも.~
~
**no version information available [#kb6fb8fe]
上記のように,libcurl.soを変更するとcmakeで依存関係のエラーが出た.
 /usr/lib/x86_64-linux-gnu/libcurl.so.4: no version information available (required by /usr/bin/cmake)
この場合はcmakeもこの新しいlibcurlのバージョンに対応するよう再インストールする.~
CMakeに限らずcurlの動的ライブラリが関係しているものは全て同様.

Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes