昨日、ArchlinuxからKubuntu 12.04に移行しました。
Archlinuxでbuildroot 2012.08を問題なくコンパイルしました。 Kubuntuではlibcrypt
は壊れているようです。 sysvinit
はどこにも見つかりません。 glibc-dev
およびすべての依存関係がインストールされます。
libcrypt
にリンクするにはどうすればよいですか?または、どのライブラリにそのライブラリが含まれていますか?
...
bc-gcc sulogin.o -o sulogin
sulogin.o: In function `main':
sulogin.c:(.text+0x49d): undefined reference to `crypt'
collect2: ld returned 1 exit status
リンクで使用されるオブジェクトの後に「-lcrypt」を追加してみてください。 -lcryptがリンクリストの最後近くにない場合、gccがcryptについて文句を言ういくつかのインスタンスがありました。
つまり、次のようなものを試してください。
gcc -D FOO -D BAR -W -Wall -pedantic -O2 foo.o bar.o -lnsl -lcrypt -o baz
とは対照的に
gcc -D FOO -D BAR -W -Wall -pedantic -O2 -lnsl -lcrypt foo.o baz.o -o baz
'crypt'への未定義の参照はリンカーエラーです。
-lcryptでリンクしてみてください:gcc ....-lcrypt