LINUX.ORG.RU

mage, ошибка сборки


0

0

Вот, пробую собрать mage, это что то для моделирования молекул..
http://kinemage.biochem.duke.edu/kinemage/magepage.php

Делаю всё как здесь (у меня не Archlinux):
http://repos.archlinux.org/viewvc.cgi/mage/repos/extra-i686/PKGBUILD?revision...

Почему линковщик ищет что то здесь:
/usr/X11R6/lib

Но это какое то старое..
Мне править ldd.so.conf?

Вот отчёт об ошибке:

cc -I/usr/X11R6/include -c -o MUXMCOLR.o MUXMCOLR.c
cc -I/usr/X11R6/include -c -o MUXMDLOG.o MUXMDLOG.c
cc -I/usr/X11R6/include -c -o MUXMDRAW.o MUXMDRAW.c
cc -I/usr/X11R6/include -c -o MUXMFILE.o MUXMFILE.c
cc -I/usr/X11R6/include -c -o MUXMINIT.o MUXMINIT.c
cc -I/usr/X11R6/include -c -o MUXMMAIN.o MUXMMAIN.c
cc -I/usr/X11R6/include -c -o MUXMMENU.o MUXMMENU.c
cc -I/usr/X11R6/include -c -o MUXMOUT.o MUXMOUT.c
cc -I/usr/X11R6/include -c -o MUXMPIPE.o MUXMPIPE.c
cc -I/usr/X11R6/include -c -o MUXMTABL.o MUXMTABL.c
cc -I/usr/X11R6/include -c -o MUXMWIND.o MUXMWIND.c
cc -o mage MAGEANGL.o MAGEBBOX.o MAGECLON.o MAGECOLR.o MAGEDLOG.o MAGEDRAW.o MAGEFILE.o MAGEFOO.o MAGEHELP.o MAGEINIT.o MAGEINPT.o MAGELIST.o MAGEMENU.o MAGEOUT.o MAGEPOST.o MAGEREND.o MAGESETS.o MAGESCOR.o MAGESYNC.o MAGETABL.o MAGEUTIL.o MUXMBAR.o MUXMBBOX.o MUXMCOLR.o MUXMDLOG.o MUXMDRAW.o MUXMFILE.o MUXMINIT.o MUXMMAIN.o MUXMMENU.o MUXMOUT.o MUXMPIPE.o MUXMTABL.o MUXMWIND.o -L/usr/X11R6/lib -L/usr/X11R6/lib -u _XEditResCheckMessages -lXmu -lXm -lXt -lSM -lICE -lXext -lXp -lX11 -ldl -lm -pthread
/usr/bin/ld: cannot find -lXp
collect2: ld returned 1 exit status
make: *** [dynamic] Error 1
=======> ERROR: Building '/usr/pkgdir/mage#6.44.060606-1.pkg.tar.gz' failed.

★★★

Ответ на: комментарий от Uncle_Theodore

>А что у тебя?
CRUX

>Что выдает команда
>locate libXp

$ locate libXp
locate: warning: database /var/lib/slocate/slocate.db' is more than 8 days old
locate: fatal error: search_db: read: '/var/lib/slocate/slocate.db': Database file is empty.

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

$ cat /usr/ports/xorg/xorg-libxpm/.footprint 
drwxr-xr-x	root/root	usr/
drwxr-xr-x	root/root	usr/bin/
-rwxr-xr-x	root/root	usr/bin/cxpm
-rwxr-xr-x	root/root	usr/bin/sxpm
drwxr-xr-x	root/root	usr/include/
drwxr-xr-x	root/root	usr/include/X11/
-rw-r--r--	root/root	usr/include/X11/xpm.h
drwxr-xr-x	root/root	usr/lib/
-rw-r--r--	root/root	usr/lib/libXpm.a
-rwxr-xr-x	root/root	usr/lib/libXpm.la
lrwxrwxrwx	root/root	usr/lib/libXpm.so -> libXpm.so.4.11.0
lrwxrwxrwx	root/root	usr/lib/libXpm.so.4 -> libXpm.so.4.11.0
-rwxr-xr-x	root/root	usr/lib/libXpm.so.4.11.0
drwxr-xr-x	root/root	usr/man/
drwxr-xr-x	root/root	usr/man/man1/
-rw-r--r--	root/root	usr/man/man1/cxpm.1.gz
-rw-r--r--	root/root	usr/man/man1/sxpm.1.gz
drwxr-xr-x	root/root	usr/lib/pkgconfig/
-rw-r--r--	root/root	usr/lib/pkgconfig/xpm.pc

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

Шоб муа так жил...

Прогони команду updatedb от рута.

Скорее всего, тебе надо поставить пакет что-то типа libXp-1.0.0-i486-1, у меня такой на слаке. libXpm -- это другая библиотека.

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

>Шоб муа так жил...
Это ты к чему? :)

>Прогони команду updatedb от рута.

Да, понял, но результат тот же

ivan@Panama:/usr/ports/bdfy/mage$ sudo updatedb
ivan@Panama:/usr/ports/bdfy/mage$ locate libXp
/usr/lib/libXpm.so.4.11.0
/usr/lib/libXpm.so.4
/usr/lib/libXpm.a
/usr/lib/libXpm.la
/usr/lib/libXpm.so

>Скорее всего, тебе надо поставить пакет что-то типа libXp-1.0.0-i486-1, у меня такой на слаке. libXpm -- это другая библиотека.

Хм, теперь понятно..
libXp-1.0.0-i486-1
Ничего похожего в портах не нашёл.
Можешь показать из каких файлов состоит пакет?
.. я тогда разыщу что это было
И потом непонятно, почему оно что то про X11R6 заикалось?

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

teddy@toshiba32~$ cat /var/log/packages/libXp-1.0.0-i486-1
PACKAGE NAME: libXp-1.0.0-i486-1
COMPRESSED PACKAGE SIZE: 76 K
UNCOMPRESSED PACKAGE SIZE: 130 K
PACKAGE LOCATION: /var/log/mount/slackware/x/libXp-1.0.0-i486-1.tgz
PACKAGE DESCRIPTION:
libXp: libXp
libXp:
libXp: libXp is part of X11.
libXp:
libXp: For more information about the X.Org Foundation (the providers of the
libXp: X.Org implementation of the X Window System), see their website:
libXp:
libXp: http://www.x.org
libXp:
libXp:
libXp:
FILE LIST:
./
usr/
usr/lib/
usr/lib/pkgconfig/
usr/lib/pkgconfig/xp.pc
usr/lib/libXp.so.6.2.0
usr/lib/libXp.la
usr/man/
usr/man/man3/
usr/man/man3/XpCreateContext.3x.gz
usr/man/man3/XpGetDocumentData.3x.gz
usr/man/man3/XpGetPdmStartParams.3x.gz
usr/man/man3/XpInputSelected.3x.gz
usr/man/man3/XpSetAttributes.3x.gz
usr/man/man3/XpGetContext.3x.gz
usr/man/man3/XpCancelDoc.3x.gz
usr/man/man3/XpQueryVersion.3x.gz
usr/man/man3/XpStartDoc.3x.gz
usr/man/man3/XpGetImageResolution.3x.gz
usr/man/man3/XpGetOneAttribute.3x.gz
usr/man/man3/XpGetLocaleHinter.3x.gz
usr/man/man3/XpDestroyContext.3x.gz
usr/man/man3/XpRehashPrinterList.3x.gz
usr/man/man3/XpSelectInput.3x.gz
usr/man/man3/XpStartPage.3x.gz
usr/man/man3/XpPutDocumentData.3x.gz
usr/man/man3/XpSetLocaleHinter.3x.gz
usr/man/man3/XpCancelJob.3x.gz
usr/man/man3/XpStartJob.3x.gz
usr/man/man3/XpFreePrinterList.3x.gz
usr/man/man3/XpCancelPage.3x.gz
usr/man/man3/XpEndDoc.3x.gz
usr/man/man3/XpSetContext.3x.gz
usr/man/man3/XpQueryScreens.3x.gz
usr/man/man3/libXp.3x.gz
usr/man/man3/XpGetScreenOfContext.3x.gz
usr/man/man3/XpSetImageResolution.3x.gz
usr/man/man3/XpEndPage.3x.gz
usr/man/man3/XpGetAttributes.3x.gz
usr/man/man3/XpGetPageDimensions.3x.gz
usr/man/man3/XpQueryExtension.3x.gz
usr/man/man3/XpGetPrinterList.3x.gz
usr/man/man3/XpEndJob.3x.gz
install/
install/doinst.sh
install/slack-desc

Uncle_Theodore ★★
()

>cc -I/usr/X11R6/include -c -o MUXMCOLR.o MUXMCOLR.c
...................
>/usr/bin/ld: cannot find -lXp

Программа видимо очень старая (/usr/X11R6/ - устаревший путь). Разархивируй вручную и запусти скрипт configure тоже вручную после этого поищи в Makefile-ах на предмет "-lXp" и грохни все упоминания о ней - должно все собраться. После этого патч напиши и собирай в портах со своим патчем.

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

Счас посмотрел mage - оказалось все еще проще:
найди такую длинную строчку в Makefile.linux
LIBS = -L/usr/X11R6/lib -u _XEditResCheckMessages -lXmu -lXm -lXt -lSM -lICE -lXext -lXp -lX11
закоментируй ее и раскоментируй такую строчку которая чуть выше находится:
LIBS = -L/usr/X11/lib -lXm -lXt -lX11

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

>koTuk >Счас посмотрел mage - оказалось все еще проще:

Спасибо огромное!! Сделал так:

sed -i '57s/# LIBS/LIBS/' Makefile.linux sed -i '70s/LIBS/# LIBS/' Makefile.linux

Собралось. Скажи, так можно делать, или я неправильно пользуюсь sed? Ведь я привязываюсь к номеру строки..

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

Пиллья.. форматирование..

sed -i '57s/# LIBS/LIBS/' Makefile.linux
sed -i '70s/LIBS/# LIBS/' Makefile.linux

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