error: cannot run C compiled programs.

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Лис
Сообщения: 1639
ОС: Zenwalk

error: cannot run C compiled programs.

Сообщение Лис »

Пытаюсь установить amarok-1.3 из исходников. Получаю следующую ошибку:

Код: Выделить всё

configure:2087: checking whether the C compiler works
configure:2093: ./a.out
./configure: line 2094: ./a.out: Permission denied
configure:2096: $? = 126
configure:2105: error: cannot run C compiled programs.


Система - SuSE 9.3. Если я правильно понимаю, то gcc при создании файла из скрипта ./configure не дает ему прав на выполнение. Подскажите, пожалуйста, почему это может происходить. При использовании gcc вручную я таких проблем не встречал.
Спасибо сказали:
Аватара пользователя
VAVka
Сообщения: 96

Re: error: cannot run C compiled programs.

Сообщение VAVka »

Пмсм, дело не в правах на выполнение, поскольку отказано в доступе.
Покажите строчки, скажем, с 2087 по 2105 этого скрипта, может чего придумаем.
С уважением, VAVka (VAVka pagе)

NimbleX 200 Mb USB Edition (krnl 2.6.24/2.4.22)
{XOrg 1.4.0/IceWM 1.2.35}
Спасибо сказали:
Лис
Сообщения: 1639
ОС: Zenwalk

Re: error: cannot run C compiled programs.

Сообщение Лис »

Вот:

Код: Выделить всё

ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
echo "${ECHO_T}$ac_ct_STRIP" >&6
else
  echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi

  STRIP=$ac_ct_STRIP
else
  STRIP="$ac_cv_prog_STRIP"
fi

fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"

# We need awk for the "check" target.  The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility.

AMTAR=${AMTAR-"${am_missing_run}tar"}

am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'

Хотя, похоже, просто не учитываются пробелы и комментарии. Эта проверка на самом деле начинается со строки 2883. Вот она:

Код: Выделить всё

# Check the compiler produces executables we can run.  If not, either
# the compiler is broken, or we cross compile.
echo "$as_me:$LINENO: checking whether the C compiler works" >&5
echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
  if { ac_try='./$ac_file'
  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
    cross_compiling=no
  else
    if test "$cross_compiling" = maybe; then
    cross_compiling=yes
    else
    { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }
    fi
  fi
fi
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
Спасибо сказали:
Аватара пользователя
VAVka
Сообщения: 96

Re: error: cannot run C compiled programs.

Сообщение VAVka »

Как, впрочем, и ожидалось, из этого куска мало что проясняется.
Закинь сюда свой вызов ./configure (с аргументами) и ls -l корня каталога, где собираешь эту программу.
С уважением, VAVka (VAVka pagе)

NimbleX 200 Mb USB Edition (krnl 2.6.24/2.4.22)
{XOrg 1.4.0/IceWM 1.2.35}
Спасибо сказали:
Лис
Сообщения: 1639
ОС: Zenwalk

Re: error: cannot run C compiled programs.

Сообщение Лис »

Пробовал вводить, как написано в readme:
% ./configure --prefix=`kde-config --prefix`
и просто ./configure

вывод ls:

acinclude.m4
aclocal.m4
admin
amarok
amarok.lsm
authors
ChangeLog
config.h.in
config.log
configure
configure.files
configure.in
configure.in.bot
configure.in.in
copying
doc
install
Makefile.am
Makefile.am.in
Makefile.cvs
Makefile.in
po
readme
subdirs
todo

Жирным я выделил директории.

Лис добавил в 24.08.2005 01:27

Ё-моё, про опцию -l забыл, а заодно и понял, в чем дело: Амарок у меня был на Fat-разделе, который не поддерживает прав. Перекинул на ext3 - и все прошло. Спасибо огромное!
Спасибо сказали: