git cloneソースからlibcurlをインストールする方法(configure.acはありますが、./configureがありません)

git cloneソースからlibcurlをインストールする方法(configure.acはありますが、./configureがありません)

ソースからlibcurlをインストールしようとしていますが、実行可能configureファイルがないため実行できません./configure。どのように生成しますか?

私の試みは次のとおりです。

time git clone https://github.com/curl/curl.git
cd curl

./configure
make 
sudo make install

./configureリポジトリにこのファイルがないため、ブロックされました。

私の参考資料:

  1. https://curl.se/docs/install.html
  2. https://github.com/curl/curl

GitHubリポジトリに役立つようないくつかのファイルがありますが、どうすればいいかわかりません。

configure.ac
curl-config.in

私もこれを試しましたが、さまざまなエラーが報告されました。

望むより:https://earthly.dev/blog/autoconf/

aclocal
autoconf
automake --add-missing
time ./configure --with-openssl --with-gnutls

答え1

curlcmake(cmake2ではなくcmake3)を使用して設定するように設計されています。

だから

git clone https://github.com/curl/curl.git
cd curl
cmake .
make

生成されたファイルは./src/curl

答え2

curllibcurlのビルドを含む最初からビルドする方法cmakeとそれを使用してCの例をビルドして実行する方法

答えは以下から来ています。ツイート働く

その答えに基づいた最終バージョンは次のとおりです。

time git clone https://github.com/curl/curl.git

cd curl
mkdir -p build 
cd build
time cmake ..  # takes ~20 sec
time make      # takes ~11 sec

time sudo make install  # takes < 1 sec
cd ../..  # go back up to the same level as where the `curl` dir is

動的.so共有ライブラリが必要な実行可能ファイルを実行するたびに、ローダが自動的に動的.so共有ライブラリをロードするようにパスをLD_LIBRARY_PATH含めるように変数を更新します。curl/build/lib望むより:https://stackoverflow.com/a/37558191/4561887そしてhttps://www.cprogramming.com/tutorial/shared-libraries-linux-gcc.html:

echo "export LD_LIBRARY_PATH=\"$(pwd)/curl/build/lib:\$LD_LIBRARY_PATH\"" >> ~/.bashrc
. ~/.bashrc  # re-source it

これで、共有libcurl.soオブジェクトの動的ライブラリ/usr/local/lib/libcurl.soはとにcurl/build/lib/libcurl.soありcurl、実行可能ファイルはにありますcurl/build/src/curl

これで、サンプルをビルドして実行できます。たとえば、次のようになります。curl/docs/examples/10-at-a-time.c、このように:

time ( \
    time g++ -Wall -Wextra -Werror -O3 -std=c++17 \
    curl/docs/examples/10-at-a-time.c \
    -lcurl \
    -o bin/a \
    && time bin/a \
)

gccしかし、修正はC++ではなくCでサンプルをビルドする必要があるということですg++(最初の例も少なくともC++でビルドして実行します)。

最終回答:

time ( \
    time gcc -Wall -Wextra -Werror -O3 -std=c17 \
    curl/docs/examples/10-at-a-time.c \
    -lcurl \
    -o bin/a \
    && time bin/a \
)

実行と出力の例:

eRCaGuy_hello_world/cpp$ time ( \
>     time g++ -Wall -Wextra -Werror -O3 -std=c++17 \
>     curl/docs/examples/10-at-a-time.c \
>     -lcurl \
>     -o bin/a \
>     && time bin/a \
> )

real    0m0.139s
user    0m0.085s
sys 0m0.024s
R: 0 - No error <https://www.ibm.com>
R: 0 - No error <https://www.iana.org>
R: 0 - No error <https://www.oracle.com>
R: 0 - No error <https://www.amazon.com>
R: 0 - No error <https://www.google.com>
R: 0 - No error <https://www.ripe.net>
R: 0 - No error <https://www.mysql.com>
R: 0 - No error <https://www.netcraft.com>
R: 0 - No error <https://www.mozilla.org>
R: 0 - No error <https://www.yahoo.com>
R: 0 - No error <https://opensource.org>
R: 0 - No error <https://www.ca.com>
R: 0 - No error <https://www.chip.de>
R: 0 - No error <https://www.hp.com>
R: 0 - No error <https://www.wikipedia.org>
R: 0 - No error <https://www.cnn.com>
R: 0 - No error <https://www.dell.com>
R: 0 - No error <https://www.mit.edu>
R: 0 - No error <https://www.playstation.com>
R: 0 - No error <https://www.apple.com>
R: 0 - No error <https://www.symantec.com>
R: 0 - No error <https://www.uefa.com>
R: 0 - No error <https://www.ebay.com>
R: 0 - No error <https://www.ieee.org>
R: 0 - No error <https://www.fujitsu.com/global/>
R: 0 - No error <https://www.supermicro.com>
R: 0 - No error <https://www.hotmail.com>
R: 0 - No error <https://www.nist.gov>
R: 0 - No error <https://www.cert.org>
R: 0 - No error <https://www.zdnet.com>
R: 0 - No error <https://www.cnet.com>
R: 0 - No error <https://www.ietf.org>
R: 0 - No error <https://news.google.com>
R: 0 - No error <https://www.bbc.co.uk>
R: 0 - No error <https://www.usatoday.com>
R: 0 - No error <https://www.foxnews.com>
R: 0 - No error <https://www.wired.com>
R: 0 - No error <https://www.sky.com>
R: 0 - No error <https://www.cbs.com>
R: 0 - No error <https://slashdot.org>
R: 0 - No error <https://www.msn.com>
R: 0 - No error <https://www.un.org>
R: 0 - No error <https://apache.org>
R: 0 - No error <https://www.nbc.com/>
R: 0 - No error <https://www.informationweek.com>
R: 0 - No error <https://www.heise.de>
R: 0 - No error <https://www.microsoft.com>

real    0m10.476s
user    0m0.892s
sys 0m0.096s

real    0m10.615s
user    0m0.978s
sys 0m0.121s

さらに一歩進んでください。

  1. ここでReadmeで私が学んだ内容の詳細を見ることができます。Ccurlライブラリのインストールと設定

関連情報