LinuxForum.Fans
Тема

В Slackware проблемы с компиляцией.

Автор: yugenn 15 сообщений 5776 просмотров
#291144

Не судите строго, уважаемые знатоки. Я ламер, но я жаждю знаний.
Ситуация: Slackware 14, gcc --version gcc (GCC) 4.7.1. Попытки что-то скомпилить приводят к

text
patching file src/tomboykeybinder.h
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether NLS is requested... yes
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking for style of include used by make... none
checking for gcc... gcc
checking for C compiler default output file name... 
configure: error: C compiler cannot create executables

В логах примерно то же самое

text
configure:1869: checking for a BSD-compatible install
configure:1925: result: /usr/bin/ginstall -c
configure:1936: checking whether build environment is sane
configure:1979: result: yes
configure:2007: checking for a thread-safe mkdir -p
configure:2046: result: /usr/bin/mkdir -p
configure:2059: checking for gawk
configure:2075: found /usr/bin/gawk
configure:2086: result: gawk
configure:2097: checking whether make sets $(MAKE)
configure:2122: result: no
configure:2311: checking whether NLS is requested
configure:2320: result: yes
configure:2358: checking for msgfmt
configure:2393: result: no
configure:2399: checking for gmsgfmt
configure:2430: result: :
configure:2481: checking for xgettext
configure:2516: result: no
configure:2559: checking for msgmerge
configure:2593: result: no
configure:2632: checking for style of include used by make
configure:2660: result: none
configure:2730: checking for gcc
configure:2746: found /usr/bin/gcc
configure:2757: result: gcc
configure:2995: checking for C compiler version
configure:3002: gcc --version >&5
gcc (GCC) 4.7.1
Copyright (C) 2012 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:3005: $? = 0 configure:3012: gcc -v >&5 Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/specs COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/4.7.1/lto-wrapper Target: x86_64-slackware-linux Configured with: ../gcc-4.7.1/configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap --enable-languages=ada,c,c++,fortran,go,java,lto,objc --enable-threads=posix --enable-checking=release --enable-objc-gc --with-system-zlib --with-python-dir=/lib64/python2.7/site-packages --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --enable-lto --with-gnu-ld --verbose --enable-java-home --with-java-home=/usr/lib64/jvm/jre --with-jvm-root-dir=/usr/lib64/jvm --with-jvm-jar-dir=/usr/lib64/jvm/jvm-exports --with-arch-directory=amd64 --with-antlr-jar=/slack/TMPTMPTMP/gcc-round-two/antlr-runtime-3.4.jar --enable-java-awt=gtk --disable-gtktest --disable-multilib --target=x86_64-slackware-linux --build=x86_64-slackware-linux --host=x86_64-slackware-linux Thread model: posix gcc version 4.7.1 (GCC) configure:3015: $? = 0 configure:3022: gcc -V >&5 gcc: error: unrecognized command line option '-V' gcc: fatal error: no input files compilation terminated. configure:3025: $? = 1 configure:3048: checking for C compiler default output file name configure:3075: gcc -O2 -fPIC conftest.c >&5 gcc: error trying to exec 'as': execvp: No such file or directory configure:3078: $? = 1

Меня сильно смущает наличие отрицательных резальтов. Но не могу сообразить чего не хватает. Проблема случилась пару дней назад, когда собрал из SlackBuilds OpenOffice, с тех пор тыкаюсь в поисковик, но информации нет, или она в недостаточно ясной форме. Заранее спасибо. Очень надеюсь на вашу помощь.

#291171

Попробуйте так:

text
 # mount -t iso9660 -r /dev/sr0 /mnt/dvd
# cd /mnt/dvd/slackware/d
# upgradepkg --reinstall *.t?z

При этом, возможно, нужно будет добавить ключ --install-new.

#291211

text
configure: error: C compiler cannot create executables
text
gcc: error trying to exec 'as': execvp: No such file or directory

Установите пакет binutils, as входит в него. С установочного диска:
text

# mount /dev/cdrom /mnt/cdrom
# upgradepkg --install-new /mnt/cdrom/slackware*/d/binutils-*t?z

Если настроен slackpkg, можно:

text

# slackpkg install binutils

ps. Узнать, в каком из неустановленных пакетов дистрибутива содержится искомый файл, можно поиском в MANIFEST.bz2 (лежат внутри /slackware или /slackware64, а также в /extra, /testing, /pasture). Пример поиска "as" в /tmp/MANIFEST.bz2:

text

$ bzgrep "Package:\|/as$" /tmp/MANIFEST.bz2 | grep -B1 /as$ 
||   Package:  ./d/binutils-2.22.52.0.2-x86_64-2.txz
-rwxr-xr-x root/root    372920 2012-08-04 12:46 usr/bin/as

Пример поиска на дистрибутивном диске, смонтированном в /mnt/cdrom:

text

$ bzgrep "Package:\|/as$" /mnt/cdrom/slackware*/MANIFEST.bz2 /mnt/cdrom/{extra,testing,pasture}/MANIFEST.bz2 | grep -B1 /as$ 
||   Package:  ./d/binutils-2.22.52.0.2-x86_64-2.txz
-rwxr-xr-x root/root    372920 2012-08-04 12:46 usr/bin/as
#291355

Если настроен slackpkg, можно:
text

# slackpkg install binutils

Установил binutils, при компиляции сругалось на lex или flex. Лекса в репах не нашлось, зато флекс поставился. Далее ругань каснулась отсутствия pkg-config, к счастью slackpkg смог поставить его сам. Но этим дело не кончилось. Теперь ругань каснулась LIBCONFUSE. Полный код:

text
checking for LIBCONFUSE... configure: error: Package requirements (libconfuse) were not met:

No package 'libconfuse' 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 LIBCONFUSE_CFLAGS and LIBCONFUSE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.

Попытки скомпилить этого конфузеного пакета привели к старой ошибке:

text
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

Вроде опять мысли закончились.

#291357

Так а что собираете-то? Это действительно страшная тайна?

PS. http://slackbuilds.org/repository/14.0/libraries/confuse/
# sbopkg -Ri confuse
или ручками.

PPS. sbopkg.org

PPPS.

"yugenn" написал:
See `config.log' for more details.
И что там пишут?
#291358
yars написал:
Попробуйте так:
text
 # mount -t iso9660 -r /dev/sr0 /mnt/dvd
# cd /mnt/dvd/slackware/d
# upgradepkg --reinstall *.t?z

При этом, возможно, нужно будет добавить ключ --install-new.

Вот это интересно! Спасибо.
Но правда горю не помогло (а может помогло частично)

text
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

config.log:

text

configure:1560: checking for a BSD-compatible install
configure:1615: result: /usr/bin/ginstall -c
configure:1626: checking whether build environment is sane
configure:1669: result: yes
configure:1726: checking for gawk
configure:1742: found /usr/bin/gawk
configure:1752: result: gawk
configure:1762: checking whether make sets $(MAKE)
configure:1782: result: yes
configure:1997: checking for gcc
configure:2013: found /usr/bin/gcc
configure:2023: result: gcc
configure:2267: checking for C compiler version
configure:2270: gcc --version </dev/null >&5
gcc (GCC) 4.7.1
Copyright (C) 2012 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:2273: $? = 0 configure:2275: gcc -v </dev/null >&5 Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/specs COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/4.7.1/lto-wrapper Target: x86_64-slackware-linux Configured with: ../gcc-4.7.1/configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap --enable-languages=ada,c,c++,fortran,go,java,lto,objc --enable-threads=posix --enable-checking=release --enable-objc-gc --with-system-zlib --with-python-dir=/lib64/python2.7/site-packages --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --enable-lto --with-gnu-ld --verbose --enable-java-home --with-java-home=/usr/lib64/jvm/jre --with-jvm-root-dir=/usr/lib64/jvm --with-jvm-jar-dir=/usr/lib64/jvm/jvm-exports --with-arch-directory=amd64 --with-antlr-jar=/slack/TMPTMPTMP/gcc-round-two/antlr-runtime-3.4.jar --enable-java-awt=gtk --disable-gtktest --disable-multilib --target=x86_64-slackware-linux --build=x86_64-slackware-linux --host=x86_64-slackware-linux Thread model: posix gcc version 4.7.1 (GCC) configure:2278: $? = 0 configure:2280: gcc -V </dev/null >&5 gcc: error: unrecognized command line option '-V' gcc: fatal error: no input files compilation terminated. configure:2283: $? = 1 configure:2306: checking for C compiler default output file name configure:2309: gcc -O2 -march=i486 -mtune=i686 conftest.c >&5 conftest.c:1:0: error: CPU you selected does not support x86-64 instruction set configure:2312: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "libConfuse" | #define PACKAGE_TARNAME "confuse" | #define PACKAGE_VERSION "2.5" | #define PACKAGE_STRING "libConfuse 2.5" | #define PACKAGE_BUGREPORT "confuse-devel@nongnu.org" | #define PACKAGE "confuse" | #define VERSION "2.5" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:2351: error: C compiler cannot create executables See `config.log' for more details.

Сорсы и slackbuild взяты с SlackBuilds.org, но что-то не то

#291359

bormant написал:
Так а что собираете-то? Это действительно страшная тайна?

PS. http://slackbuilds.org/repository/14.0/libraries/confuse/
# sbopkg -Ri confuse
или ручками.

PPS. sbopkg.org

PPPS. [quote="yugenn"]See `config.log' for more details.
И что там пишут?[/quote]
А, да, простите/// Экспериментирую - Tilda ставлю :)
#291360

Ребята, все поставил. По ссылкам товарища bormant сконфигурировалась конфузя, установил. После этого тильда тоже собралась, поставил. За это вам огромнейшее спасибо! Однако все равно тильда не работает (, не судьба видать. Первый раз выдало окно с настройками, как обычно, второй раз просто не стартанула. Из консоли пишет

text
 tilda
Ошибка сегментирования

Опять гуглить..

#291361

В домашнем каталоге есть директория .config, в ней лежат конфигурационные файлы программ. Посмотрите там конфиг того, что собирали, если есть - удалите и запустите прогу снова из консоли (от пользователя!). На этот раз сегфола быть не должно, если это действительно с конфигом проблемы. Он, кстати, может лежать и не в ~/.config, а, например, ~/.tilda (или как там бишь ее). Если же все равно будет падать - собирайте другую версию, можно попробовать и разрабатываемую, из git (или какая там у них система управления бестиями). Можно еще попробовать strace tilda, но разбираться в этом не так-то просто.

#291364

"yugenn" написал:
configure:2309: gcc -O2 -march=i486 -mtune=i686 conftest.c >&5
conftest.c:1:0: error: CPU you selected does not support x86-64 instruction set
Ничего не смутило?
Насколько понимаю, системка у вас 64-разрядная, x86-64, а параметры сборки для 32-разрядной?

Задачка решалась так:
text

# sbopkg -Rki "confuse tilda"

PS. Slackware64-14.0, tilda-0.9.6 -- действительно сегфолтится... Будем посмотреть.

PPS. Не мы одни с такой проблемой https://bugzilla.redhat.com/show_bug.cgi?id=538645 и это не единственное место.

text
$ tilda -h

и ваши волосы будут шелковистыми, подсмотрено по ссылке выше ;-)

#291366
"yars" написал:
В домашнем каталоге есть директория .config, в ней лежат конфигурационные файлы программ.

yars, имхо, segfault правкой (этих )конфигов не лечится, ибо говорит о более глубоких проблемах в самом исполняемом файле или библиотеке.

#291373
redux написал:

yars, имхо, segfault правкой (этих )конфигов не лечится, ибо говорит о более глубоких проблемах в самом исполняемом файле или библиотеке.

Да, не лечится. Но я предположил, что, может быть, без конфига хотя бы раз запустится. Да, с телефона разбирать подобные проблемы не очень-то, потому что нет возможности все повторить, да и не каждый сайт можно открыть с телефона. Например, домашняя страница этого эмулятора терминала.

#291382
"yars" написал:
Да, не лечится. Но я предположил, что, может быть, без конфига хотя бы раз запустится.

Так сложное это дело (Вы ж не поймите меня как обвинителя).
Думаю на баг-трекер надо залить, кто слакварщик(или к разрабам этого софта,- что лучше).
Ну и опять же достоверно известно, что на форуме есть несколько человек, кто был замечен в глубоких местах по этому поводу,- {пальцем уж показывать не буду},- так что или кто отпишет,- или на багтрекер.

#291405

Спасибо, парни. Я все смог с вашей помощью настроить. В итоге с тильдой снес нафиг все папку ~./tilda и заново настроил как хотелось. В автозапуск прописал ее и пару раз ребутнул, вроде без проблем теперь. И другие пакеты ставятся, вон даже виртуалбокс с первого раза встала. Еще раз спасибо всем. Даже не думал, что так откликнетесь.. это первые мои сообщения на форумах вообще, начал думать, что староват уже в 26 лет линуксы ломать, но что-то все же получается, с вашей помощью конечно.
Всем удачи, тему можно закрывать.

#291408

И вам спасибо за созданное оживление на форуме :) И по поводу возраста - я почти ровесник вам, так что нифига не поздно "линуксы ломать". Так что удачи, и дерзайте!

Войдите или зарегистрируйтесь, чтобы ответить.