RHEL 5.5 サーバーで手動で squid をコンパイルしようとしたとき、実行configure
して取得しました
configure: WARNING: Eep! Cannot find epoll, kqueue, /dev/poll, poll or select!
configure: WARNING: Will try select and hope for the best.
configure: Using select for the IO loop.
カーネルが で構成されていないようCONFIG_EPOLL
です。そこで、この epoll プログラムの例をコンパイルして、動作するかどうかを確認しようとしました。
私のgentooボックス(CONFIG_EPOLL
有効になっています)では、問題なくコンパイルされています。
サーバー上で、私は
/tmp/cc8PhJh0.o: In function 'main':
epoll-exmaple.c:(.text+0x262): undefined reference to 'epoll_create1'
collect2: ld returned 1 exit status
C プログラム コンパイラが *.h ファイル内の定義を検索し、リンカがそれらを *.so ファイルとリンクすることは周知の事実です。
私の質問は、epoll_create1
カーネルへのシステム コールです。そのシステム コールの実装を見つけるためにリンカが正確に検索するのはどのファイルですか?
ありがとう。