Я очень новичок в кросс-компиляции с использованием инструмента ptxdist.Я использую ptxdist версии 2013.03.0 и пытаюсь собрать snort 2.9.11.1 для arm cortex с ядром linux 4.9.47.Однако, когда я запускаю команду ptxdist prepare snort
, она завершается с ошибкой:
checking for strlcat... no
checking for strerror... yes
checking for vswprintf... yes
checking for wprintf... yes
checking for snprintf... yes
checking size of char... 1
checking size of short... 2
checking size of int... 4
checking size of long int... 4
checking size of long long int... 8
checking size of unsigned int... 4
checking size of unsigned long int... 4
checking size of unsigned long long int... 8
checking for u_int8_t... yes
checking for u_int16_t... yes
checking for u_int32_t... yes
checking for u_int64_t... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for boolean... no
checking for INADDR_NONE... configure: error: in `/home/user/snort-2.9.11.1':
configure: error: cannot run test program while cross compiling
See `config.log' for more details.
Я проверил файл configure.in.Он пытается протестировать функцию inet_addr () с INADDR_NONE, но не удается.Ниже приведено содержимое файла configure.in snort:
# In case INADDR_NONE is not defined (like on Solaris)
have_inaddr_none="no"
AC_MSG_CHECKING([for INADDR_NONE])
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
]],
[[
**if (inet_addr("10,5,2") == INADDR_NONE);**
return 0;
]])],
[have_inaddr_none="yes"],
[have_inaddr_none="no"])
AC_MSG_RESULT($have_inaddr_none)
if test "x$have_inaddr_none" = "xno"; then
AC_DEFINE([INADDR_NONE],[-1],[For INADDR_NONE definition])
fi
Это случай отсутствия заголовков ядра Linux в инструментарии кросс-компиляции или в настройках конфигурации?Я искал определение INADDR_NONE в исходном коде linux 4.9.47 и нашел его в
... linux.4.9.47 / include / uapi / linux / in.h
Может кто-нибудь помочь мне обойти эту ошибку?
Буду признателен за любую помощь.