В Solaris при компиляции программы, использующей сокеты, необходимо связать ее с -lnsl -lsocket
. Многие такие программы изначально были написаны для Linux (где дополнительные библиотеки не нужны), и поэтому не проверяют наличие этих библиотек в своих сценариях настройки, хотя это довольно простое дополнение. Что-то вроде этого (не проверено):
AC_SEARCH_LIBS(gethostbyname, nsl, , AC_MSG_ERROR([gethostbyname not found]))
AC_SEARCH_LIBS(connect, socket, , AC_MSG_ERROR([connect not found]))
Есть ли канонический способ сделать эту проверку? Может быть, даже включен в дистрибутив autoconf? Вы можете себе представить, что в этом есть довольно широко распространенная потребность, но Google не сказал мне.