2015-11-09 2 views
1

Я пытаюсь перекрестно скомпилировать libnetfilter_queue-1.0.2 из источника, а мои переменные среды сборки указывают на правильную кросс-привязку и зависимые пути библиотек.Ошибка версии в autotools configure script

Тем не менее я получаю следующее сообщение об ошибке на ./configure

checking for LIBNFNETLINK... no 
configure: error: Package requirements (libnfnetlink >= 0.0.41) were not met: 

No package 'libnfnetlink' found 

Consider adjusting the PKG_CONFIG_PATH environment variable if you 
installed software in a non-standard prefix. 

Alternatively, you may set the environment variables LIBNFNETLINK_CFLAGS 
and LIBNFNETLINK_LIBS to avoid the need to call pkg-config. 
See the pkg-config man page for more details. 

команды My конфигурирования является:

CFLAGS="-I/home/user/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/lib/ 
-I/home/user/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/lib/ -I/home/user/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/include/ 
-I/home/user/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include" 
LDFLAGS="-L/home/user/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/lib/ 
-L/home/user/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/lib/" 
./configure --build=x86_64-unknown-linux-gnu --host=powerpc-openwrt-linux-uclibcspe 
--prefix=/home/user/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2 

Также у меня есть libnfnetlink.so.0.2.0 уже установлен в одном из Пути -I и -L переданы в ./configure.

Несмотря на это, почему я получаю сообщение об ошибке.

Редактировать: Запросить дополнительную информацию.

config.log

configure:11631: checking for LIBNFNETLINK 
configure:11638: $PKG_CONFIG --exists --print-errors "libnfnetlink >= 0.0.41" 
Package libnfnetlink was not found in the pkg-config search path. 
Perhaps you should add the directory containing `libnfnetlink.pc' 
to the PKG_CONFIG_PATH environment variable 
No package 'libnfnetlink' found 
configure:11641: $? = 1 
configure:11672: result: no 
No package 'libnfnetlink' found 
configure:11688: error: Package requirements (libnfnetlink >= 0.0.41) were not met: 

No package 'libnfnetlink' found 

Consider adjusting the PKG_CONFIG_PATH environment variable if you 
installed software in a non-standard prefix. 

ac_cv_env_LIBNFNETLINK_CFLAGS_set= 
ac_cv_env_LIBNFNETLINK_CFLAGS_value= 
ac_cv_env_LIBNFNETLINK_LIBS_set=set 
ac_cv_env_LIBNFNETLINK_LIBS_value=:/home/jagadeesh/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/lib/ 


pkg_cv_LIBNFNETLINK_LIBS=:/home/jagadeesh/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/lib/ 


LIBNFNETLINK_CFLAGS='' 
LIBNFNETLINK_LIBS=':/home/jagadeesh/openwrt/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/lib/' 

Что происходит в конфигурационном скрипте для проверки LIBNFNETLINK:

pkg_failed=no 
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBNFNETLINK" >&5 
$as_echo_n "checking for LIBNFNETLINK... " >&6; } 

if test -n "$LIBNFNETLINK_CFLAGS"; then 
    pkg_cv_LIBNFNETLINK_CFLAGS="$LIBNFNETLINK_CFLAGS" 
elif test -n "$PKG_CONFIG"; then 
    if test -n "$PKG_CONFIG" && \ 
    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libnfnetlink >= 0.0.41\""; } >&5 
    ($PKG_CONFIG --exists --print-errors "libnfnetlink >= 0.0.41") 2>&5 
    ac_status=$? 
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 
    test $ac_status = 0; }; then 
    pkg_cv_LIBNFNETLINK_CFLAGS=`$PKG_CONFIG --cflags "libnfnetlink >= 0.0.41" 2>/dev/null` 
         test "x$?" != "x0" && pkg_failed=yes 
else 
    pkg_failed=yes 
fi 
else 
    pkg_failed=untried 
fi 
if test -n "$LIBNFNETLINK_LIBS"; then 
    pkg_cv_LIBNFNETLINK_LIBS="$LIBNFNETLINK_LIBS" 
elif test -n "$PKG_CONFIG"; then 
    if test -n "$PKG_CONFIG" && \ 
    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libnfnetlink >= 0.0.41\""; } >&5 
    ($PKG_CONFIG --exists --print-errors "libnfnetlink >= 0.0.41") 2>&5 
    ac_status=$? 
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 
    test $ac_status = 0; }; then 
    pkg_cv_LIBNFNETLINK_LIBS=`$PKG_CONFIG --libs "libnfnetlink >= 0.0.41" 2>/dev/null` 
         test "x$?" != "x0" && pkg_failed=yes 
else 
    pkg_failed=yes 
fi 
else 
    pkg_failed=untried 
fi 



if test $pkg_failed = yes; then 
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 
$as_echo "no" >&6; } 

if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then 
     _pkg_short_errors_supported=yes 
else 
     _pkg_short_errors_supported=no 
fi 
     if test $_pkg_short_errors_supported = yes; then 
       LIBNFNETLINK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libnfnetlink >= 0.0.41" 2>&1` 
     else 
       LIBNFNETLINK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libnfnetlink >= 0.0.41" 2>&1` 
     fi 
     # Put the nasty error message in config.log where it belongs 
     echo "$LIBNFNETLINK_PKG_ERRORS" >&5 

     as_fn_error $? "Package requirements (libnfnetlink >= 0.0.41) were not met: 

$LIBNFNETLINK_PKG_ERRORS 



if test $pkg_failed = yes; then 
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 
$as_echo "no" >&6; } 

if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then 
     _pkg_short_errors_supported=yes 
else 
     _pkg_short_errors_supported=no 
fi 
     if test $_pkg_short_errors_supported = yes; then 
       LIBNFNETLINK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libnfnetlink >= 0.0.41" 2>&1` 
     else 
       LIBNFNETLINK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libnfnetlink >= 0.0.41" 2>&1` 
     fi 
     # Put the nasty error message in config.log where it belongs 
     echo "$LIBNFNETLINK_PKG_ERRORS" >&5 

     as_fn_error $? "Package requirements (libnfnetlink >= 0.0.41) were not met: 
$LIBNFNETLINK_PKG_ERRORS 
+0

Ищите ошибку в 'config.log', а затем немного, чтобы увидеть, что делает проверка LIBNFNETLINK. –

+0

У вас также есть соответствующий .pc-файл в вашем пути pkg-config? – arved

+0

@MikeKinghan См. Edit: – RootPhoenix

ответ

1

Вы имеете libnfnetlink двоичная установлен, но чтобы удовлетворить ./configure для libnetfilter_queue вам нужно установите библиотеку разработки libnfnetlink, так как libnetfilter_queue хочет свои заголовки в compiletime. Это также предоставит pkg_config информацию, которую ./configure ищет, например. в:

/usr/lib/x86_64-linux-gnu/pkgconfig/libnfnetlink.pc 

Вы не говорите, что ваш дистрибутив, но на производные DEBiAN

sudo apt-get install libnfnetlink-dev 

решит эту проблему.

Для проверки библиотеки в сценарии ./configure обычно требуется библиотека разработки.

P.S. Я просто помнил, что вы кросс-компиляция, поэтому pkg_config необходимо будет найти информацию о библиотеке разработки для вашего цели.

+0

Привет, На самом деле у меня также установлены заголовки, так как вы указали, что нужны заголовки. Я проверил туда путь и установил путь в среде, теперь он компилируется. – RootPhoenix

Смежные вопросы