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 に切り替えた主な理由です。
私は何を間違っていますか?