Я пытаюсь скомпилировать SDL-1.2.15 на Ubuntu 12.04
http://www.linuxfromscratch.org/blfs/view/svn/multimedia/sdl.html
Руководство по установке говорит, что мне нужно начать с вызова файла конфигурации. Рассматривая комментарии, это, по-видимому, необходимо для создания make-файла, с помощью которого можно скомпилировать библиотеку. Итак, я начинаю с ввода:
sudo sh ./configure
К которому я получаю следующее сообщение об ошибке:
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
Я проверил файл журнала (см. Ниже), но не смогли определить основную проблему. Любые идеи о том, как продолжить?
Этот файл содержит любые сообщения, созданные компиляторами при запуске configure, чтобы помочь отладке, если configure делает ошибку.
Он был создан configure , который был создан GNU Autoconf 2.61. Командная строка вызова была
$ ./configure
## --------- ##
## Platform. ##
## --------- ##
hostname = ubuntu
uname -m = i686
uname -r = 3.2.0-24-generic-pae
uname -s = Linux
uname -v = #39-Ubuntu SMP Mon May 21 18:54:21 UTC 2012
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2136: checking build system type
configure:2154: result: i686-pc-linux-gnu
configure:2176: checking host system type
configure:2191: result: i686-pc-linux-gnu
configure:2261: checking for gcc
configure:2277: found /usr/bin/gcc
configure:2288: result: gcc
configure:2526: checking for C compiler version
configure:2533: gcc --version >&5
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:2536: $? = 0
configure:2543: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configure:2546: $? = 0
configure:2553: gcc -V >&5
gcc: error: unrecognized option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:2556: $? = 4
configure:2579: checking for C compiler default output file name
configure:2606: gcc conftest.c >&5
configure:2609: $? = 0
configure:2647: result: a.out
configure:2664: checking whether the C compiler works
configure:2674: ./a.out
./configure: line 2675: ./a.out: Permission denied
configure:2677: $? = 126
configure:2686: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
Сначала установите необходимый пакет.
, затем попробуйте
Если вы снова получите ошибку, попробуйте это
Вы запустили скрипт конфигурации как root (через sudo). Он тестировал ваш компилятор и создал файл, исполняемый только с помощью root. Таким образом, попытка выполнить его как нормального пользователя терпит неудачу.
Обычно вам не нужно sudo при создании программного обеспечения, используйте его только при установке.
Обновление: при ближайшем рассмотрении оно похоже, что вы запускали скрипт configure как минимум дважды: сначала с sudo, а затем без него. Возможно, вы забыли очистить, поэтому есть устаревший файл a.out, принадлежащий root, а не исполняемый непривилегированным пользователем.
Update2: на основании комментариев ниже я должен добавить другое объяснение тому, что произошло , Вы пытались скомпилировать свой пакет в файловой системе, отличной от POSIX. Файловые системы, такие как FAT32, не сохраняют разрешения на доступ к файлам, поэтому вы не могли запустить ./configure
, и сценарий не смог запустить a.out, чтобы проверить, работает ли ваш компилятор.
Сначала установите необходимый пакет.
, затем попробуйте
Если вы снова получите ошибку, попробуйте это
Вы запустили скрипт конфигурации как root (через sudo). Он тестировал ваш компилятор и создал файл, исполняемый только с помощью root. Таким образом, попытка выполнить его как нормального пользователя терпит неудачу.
Обычно вам не нужно sudo при создании программного обеспечения, используйте его только при установке.
Обновление: при ближайшем рассмотрении оно похоже, что вы запускали скрипт configure как минимум дважды: сначала с sudo, а затем без него. Возможно, вы забыли очистить, поэтому есть устаревший файл a.out, принадлежащий root, а не исполняемый непривилегированным пользователем.
Update2: на основании комментариев ниже я должен добавить другое объяснение тому, что произошло , Вы пытались скомпилировать свой пакет в файловой системе, отличной от POSIX. Файловые системы, такие как FAT32, не сохраняют разрешения на доступ к файлам, поэтому вы не могли запустить ./configure
, и сценарий не смог запустить a.out, чтобы проверить, работает ли ваш компилятор.
Сначала установите необходимый пакет.
, затем попробуйте
Если вы снова получите ошибку, попробуйте это
Вы запустили скрипт конфигурации как root (через sudo). Он тестировал ваш компилятор и создал файл, исполняемый только с помощью root. Таким образом, попытка выполнить его как нормального пользователя терпит неудачу.
Обычно вам не нужно sudo при создании программного обеспечения, используйте его только при установке.
Обновление: при ближайшем рассмотрении оно похоже, что вы запускали скрипт configure как минимум дважды: сначала с sudo, а затем без него. Возможно, вы забыли очистить, поэтому есть устаревший файл a.out, принадлежащий root, а не исполняемый непривилегированным пользователем.
Update2: на основании комментариев ниже я должен добавить другое объяснение тому, что произошло , Вы пытались скомпилировать свой пакет в файловой системе, отличной от POSIX. Файловые системы, такие как FAT32, не сохраняют разрешения на доступ к файлам, поэтому вы не могли запустить ./configure
, и сценарий не смог запустить a.out, чтобы проверить, работает ли ваш компилятор.
Сначала установите необходимый пакет.
, затем попробуйте
Если вы снова получите ошибку, попробуйте это
Вы запустили скрипт конфигурации как root (через sudo). Он тестировал ваш компилятор и создал файл, исполняемый только с помощью root. Таким образом, попытка выполнить его как нормального пользователя терпит неудачу.
Обычно вам не нужно sudo при создании программного обеспечения, используйте его только при установке.
Обновление: при ближайшем рассмотрении оно похоже, что вы запускали скрипт configure как минимум дважды: сначала с sudo, а затем без него. Возможно, вы забыли очистить, поэтому есть устаревший файл a.out, принадлежащий root, а не исполняемый непривилегированным пользователем.
Update2: на основании комментариев ниже я должен добавить другое объяснение тому, что произошло , Вы пытались скомпилировать свой пакет в файловой системе, отличной от POSIX. Файловые системы, такие как FAT32, не сохраняют разрешения на доступ к файлам, поэтому вы не могли запустить ./configure
, и сценарий не смог запустить a.out, чтобы проверить, работает ли ваш компилятор.
Сначала установите необходимый пакет.
, затем попробуйте
Если вы снова получите ошибку, попробуйте это
Вы запустили скрипт конфигурации как root (через sudo). Он тестировал ваш компилятор и создал файл, исполняемый только с помощью root. Таким образом, попытка выполнить его как нормального пользователя терпит неудачу.
Обычно вам не нужно sudo при создании программного обеспечения, используйте его только при установке.
Обновление: при ближайшем рассмотрении оно похоже, что вы запускали скрипт configure как минимум дважды: сначала с sudo, а затем без него. Возможно, вы забыли очистить, поэтому есть устаревший файл a.out, принадлежащий root, а не исполняемый непривилегированным пользователем.
Update2: на основании комментариев ниже я должен добавить другое объяснение тому, что произошло , Вы пытались скомпилировать свой пакет в файловой системе, отличной от POSIX. Файловые системы, такие как FAT32, не сохраняют разрешения на доступ к файлам, поэтому вы не могли запустить ./configure
, и сценарий не смог запустить a.out, чтобы проверить, работает ли ваш компилятор.
Сначала установите необходимый пакет.
, затем попробуйте
Если вы снова получите ошибку, попробуйте это
Вы запустили скрипт конфигурации как root (через sudo). Он тестировал ваш компилятор и создал файл, исполняемый только с помощью root. Таким образом, попытка выполнить его как нормального пользователя терпит неудачу.
Обычно вам не нужно sudo при создании программного обеспечения, используйте его только при установке.
Обновление: при ближайшем рассмотрении оно похоже, что вы запускали скрипт configure как минимум дважды: сначала с sudo, а затем без него. Возможно, вы забыли очистить, поэтому есть устаревший файл a.out, принадлежащий root, а не исполняемый непривилегированным пользователем.
Update2: на основании комментариев ниже я должен добавить другое объяснение тому, что произошло , Вы пытались скомпилировать свой пакет в файловой системе, отличной от POSIX. Файловые системы, такие как FAT32, не сохраняют разрешения на доступ к файлам, поэтому вы не могли запустить ./configure
, и сценарий не смог запустить a.out, чтобы проверить, работает ли ваш компилятор.
Вы запустили скрипт конфигурации как root (через sudo). Он тестировал ваш компилятор и создал файл, исполняемый только с помощью root. Таким образом, попытка выполнить его как нормального пользователя терпит неудачу.
Обычно вам не нужно sudo при создании программного обеспечения, используйте его только при установке.
Обновление: при ближайшем рассмотрении оно похоже, что вы запускали скрипт configure как минимум дважды: сначала с sudo, а затем без него. Возможно, вы забыли очистить, поэтому есть устаревший файл a.out, принадлежащий root, а не исполняемый непривилегированным пользователем.
Update2: на основании комментариев ниже я должен добавить другое объяснение тому, что произошло , Вы пытались скомпилировать свой пакет в файловой системе, отличной от POSIX. Файловые системы, такие как FAT32, не сохраняют разрешения на доступ к файлам, поэтому вы не могли запустить ./configure
, и сценарий не смог запустить a.out, чтобы проверить, работает ли ваш компилятор.
./configure
. Это верно для любого скрипта / приложения? Это может быть ключом к тому, почему у вас возникла эта проблема.
– Vitalie Ciubotaru
2 June 2012 в 21:21
Сначала установите необходимый пакет.
, затем попробуйте
Если вы снова получите ошибку, попробуйте это