LINUX.ORG.RU

Xstow и вообще о компиляции....


0

1

Суть в чем. Надоело все ставить из RPM пакетов.

Не могу ничего толком скомпилировать из исходников уже черт знает сколько времени. make && make install - Соаботало как надо только в одном случае из 10. И то с до смешного мелкой, утилиткой... В выводе пишет , как правило, что-то до конца не понятное.

uname выложу чуть позднее. фАЙЛЫ make.conf тоже. Че еще надо?

В генто-хендбук наткнулся на описания переменных, отвечающих за компиляцию. Может у меня в них заморочка?

А пока не могу поставить xstow

вывод ./configure и make будут в следующем посте.

Извините, что я так часто тут начал обьявляться, но надо как-то это все разруливать.


«Надоело ставить из RPM» --- это как? Это же элементарно, особенно по сравнению с самосбором.

Ждем-с опции вашего ./configure и его вывод.

ilias
()
Ответ на: комментарий от ilias

http://linux.wareseeker.com/free-stow-sentry/ - отсюда качал xstow

uname -a: Linux linux-5xl1 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 i686 i686 i386 GNU/Linux

Вот вывод:
linux-5xl1:/home/scat/gentoo/job/linux/soft/xstow-0.5.1 # ./configure
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for mawk... no
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking dependency style of gcc... gcc3
checking for strerror in -lcposix... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a BSD compatible install... /usr/bin/install -c
checking whether make sets ${MAKE}... (cached) yes
checking for gcc option to accept ANSI C... no
checking how to run the C++ preprocessor... g++ -E
checking for ANSI C header files... yes
checking for gcc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for string... yes
checking for vector... yes
checking for list... yes
checking for dirent.h... yes
checking for iostream... yes
checking for iomanip... yes
checking for iterator... yes
checking for fstream... yes
checking for exception... yes
checking for sys/stat.h... yes
checking for unistd.h... yes
checking for errno.h... yes
checking for ctype.h... yes
checking for cstdio... yes
checking for string... (cached) yes
checking for sys/types.h... yes
checking for sys/stat.h... (cached) yes
checking for algorithm... yes
checking for shell pattern support... enabled
checking for fnmatch.h... yes
checking for regular expressions support... enabled
checking for regex.h... yes
checking for curses support... enabled
checking for curses.h... yes
checking for initscr in -lcurses... no
checking for initscr in -lncurses... yes
checking for sstream... yes
checking for strstream... yes
checking for ini file support... enabled
checking for GNU like STL containers... yes
checking for debugging support... disabled
checking for realease format support... enabled
checking for new std::ios_base... yes
checking for foef() and ferror() in namespace std... yes
checking for static support... enabled
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating config.h
config.status: config.h is unchanged


supported features:
debugging: no
realese version of Format: yes
configuration files: yes
shell pattern matching: yes
regex pattern matching: yes
using curses library: yes
create static versions: yes





sCat
() автор топика
Ответ на: комментарий от sCat

linux-5xl1:/home/scat/gentoo/job/linux/soft/xstow-0.5.1 # make
cd . \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
/bin/sh ./config.status
config.status: creating config.h
config.status: config.h is unchanged
make all-recursive
make[1]: Entering directory `/home/scat/gentoo/job/linux/soft/xstow-0.5.1'
Making all in src
make[2]: Entering directory `/home/scat/gentoo/job/linux/soft/xstow-0.5.1/src'
source='cppdir.cpp' object='cppdir.o' libtool=no \
depfile='.deps/cppdir.Po' tmpdepfile='.deps/cppdir.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
g++ -DHAVE_CONFIG_H -I.. -g -O2 -DNDEBUG -DNFORMAT -DSYSCONFDIR='«/usr/local/etc»' -c -o cppdir.o `test -f cppdir.cpp || echo './'`cppdir.cpp
In file included from cppdir.cpp:1:
cppdir.h:45: warning: ‘typedef’ was ignored in this declaration
cppdir.cpp: In function ‘std::string CppDir::pwd()’:
cppdir.cpp:358: error: ‘malloc’ was not declared in this scope
cppdir.cpp:365: error: ‘realloc’ was not declared in this scope
cppdir.cpp:372: error: ‘free’ was not declared in this scope
cppdir.cpp:378: error: ‘free’ was not declared in this scope
cppdir.cpp: In function ‘std::string CppDir::readlink(const std::string&)’:
cppdir.cpp:490: error: ‘malloc’ was not declared in this scope
cppdir.cpp:500: error: ‘realloc’ was not declared in this scope
cppdir.cpp:506: error: ‘free’ was not declared in this scope
make[2]: *** [cppdir.o] Ошибка 1
make[2]: Leaving directory `/home/scat/gentoo/job/linux/soft/xstow-0.5.1/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/home/scat/gentoo/job/linux/soft/xstow-0.5.1'
make: *** [all] Ошибка 2

sCat
() автор топика
Ответ на: комментарий от sCat

По ссылке инфа про убунту. А у меня suse 11.2.

Мне нужно просто установить прогу из исходников. Просто на примере разобраться в том, что просит ./configure

И почему ничего не получается скомпилить вообще.

sCat
() автор топика
Ответ на: комментарий от sCat

оно от вас хочет двух вещей, на ваш выбор
либо старой версии gcc, сами исходники древние как завтрак мамонта

либо патча

пропатчить можете так

wget http://mirror.yandex.ru/gentoo-portage/app-admin/xstow/files/xstow-0.5.1-gcc4...

patch -p1 < xstow-0.5.1-gcc43.patch


после чего все соберется без проблем

удачи

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

>оно от вас хочет двух вещей, на ваш выбор либо старой версии gcc, сами исходники древние как завтрак мамонта

sCat
() автор топика
Ответ на: комментарий от sCat

>оно от вас хочет двух вещей, на ваш выбор либо старой версии gcc, сами исходники древние как завтрак мамонта

Откуда вы это узнали? Строка? Что за запись? - Собственно это и есть суть моего вопроса.......

sCat
() автор топика
Ответ на: комментарий от sCat

отсюда:

checking dependency style of gcc... gcc3 checking for strerror in -lcposix... no checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3

то есть ваши исходники для gcc3, а актуальные версии gcc это 4.x.x. Соответственно вы можете либо установить gcc 3.x.x, но лучше этого не делать, либо пропатчить код под актуальную версию gcc. Вот что вам и предложила сделать Sylvia.

silw ★★★★★
()
Ответ на: комментарий от silw

>то есть ваши исходники для gcc3, а актуальные версии gcc это 4.x.x. Соответственно вы можете либо установить gcc 3.x.x, но лучше этого не делать, либо пропатчить код под актуальную версию gcc. Вот что вам и предложила сделать Sylvia.

Нет.

dependency style у четвертого gcc такой же, как у третьего. Поэтому при его проверке получается gcc3.

proud_anon ★★★★★
()
Ответ на: комментарий от sCat

Вообще говоря, у автора xstow версия 0.5.1 тоже не компилируется. Скачайте версию 1.0.0.

proud_anon ★★★★★
()
Ответ на: комментарий от silw

на дату уже смотришь тогда, когда видишь что компилятор ругается на совсем стандартные вещи, при этом не выдавая в ошибке что какие-то файлы отсутствуют

ну и для libstdc++ вообще свойственно менять заголовки так, что от версии к версии часть программ перестает собираться, патчи достаточно тривиальны.

Sylvia ★★★★★
()
Ответ на: комментарий от silw

ХаХаХа....

На команду patch реагирует зависанием.

Я взял патч. Скопировал в папку с иссходниками. Перешел пуда и запустил патч.

sCat
() автор топика
Ответ на: комментарий от sCat

вы можете вообще объяснить, зачем вам собирать из исходников софт, который, скорее всего, и так есть в репозиториях. Сам сейчас вынужден собирать много именно из исходников, не пользуясь ни portage, ни abs, ни прочими подобными альтернативами. Приятного мало, вам скажу.

silw ★★★★★
()
Ответ на: комментарий от silw

>Приятного мало, вам скажу.

Согласен. Но это надо уметь. В любом случае.....

А если не будет доступа в инет, то работа станет колом.

sCat
() автор топика
Ответ на: комментарий от sCat

ликбез:

программа < файл

программа читает файл со стандартного ввода, как patch,
он у вас не завис, а ждал ввода данных с клавиатуры,
если есть вопросы - читайте man patch
Да и по перенаправлению ввода-вывода тоже полезно будет посмотреть информацию, а еще вы по поводу компиляции с гугля насобирали все подряд, с разных дистрибутивов, make.conf есть в gentoo, и используется системой портеж, в остальных дистрибутивах следует задавать переменные среды самостоятельно.

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

Sylvia ★★★★★
()
Ответ на: комментарий от sCat

>Зачем символ < перед именем патча?

patch может читать из файла и сам:

patch -p1 -i xstow-0.5.1-gcc43.patch

proud_anon ★★★★★
()
Ответ на: комментарий от Sylvia

>по поводу компиляции с гугля насобирали все подряд, с разных дистрибутивов, make.conf есть в gentoo, и используется системой портеж

Да вы правы. Инфа из gentoo handbook

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

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

Вообще говоря, у автора xstow версия 0.5.1 тоже не компилируется. Скачайте версию 1.0.0.

1.0.0 установилась без проблем. Но и версия 0.5.1 тоже скомпилировалась.

Если честно, то я и не доставал-бы лоровцев тупыми вопросами, да только все мои знакомые о линуксе только краем уха слышали, а вопросами установки и администрирования занимался только один человек. И тот это дело бросил.

Всем огромное спасибо. Тему можно закрываю.

sCat
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.