3

Chicken プログラムをコンパイルして静的にリンクする必要があります。私は多くの拡張機能を使用することを期待していますが、特にhttp-client.

次のコマンドでソースをコンパイルできます。

csc -compile-syntax -static linux-setup.scm

また

csc -R http-client -compile-syntax -static linux-setup.scm

しかし、実行すると、次のエラーが表示されます。

Error: (require) cannot load extension: http-client

    Call history:

    ##sys#require           <--

(declare (uses http-client))ソースでも試しましたが、成功しませんでした:

linux-setup.o: In function `f_369':
/mnt/data/Documents/Programming/chicken-scheme/linux-setup/linux-setup.c:219:
 undefined reference to `C_http_2dclient_toplevel'
collect2: error: ld returned 1 exit status

Error: shell command terminated with non-zero exit status 256: 'gcc' 'linux-setup.o'
 -o 'linux-setup' -L"/usr/lib"  -Wl,-R"/usr/lib" -static '/usr/lib/libchicken.a' -lm -ldl

静的リンクは必要なものです。これは XY 問題ではありません。依存関係のない新しくインストールされた Linux システムで実行可能ファイルを実行する必要があります。これが、私が最初に Common Lisp から Scheme に切り替えた主な理由です。

私は何を間違っていますか?

4

1 に答える 1