LINUX.ORG.RU

Помогите!!! Скомпилить прог у и запустить еёан другой машине.


0

0

Доброго времени суток. Проблема: есть прога, надо её скомпилить так, чтобы она работала на другой линух-машине. Пробовал ключи -static-libgcc и shared-libgcc, компиляция проходит без ошибок, но на другой машине не находятся функциии из библиотеки libxml2. Опция -static выдаёт следующие ошибки: /tmp/ccL4j9GY.o(.text+0x1a): In function `main': : undefined reference to `clock_gettime' /tmp/ccL4j9GY.o(.text+0x49): In function `main': : undefined reference to `pthread_create' /tmp/ccL4j9GY.o(.text+0x73): In function `main': : undefined reference to `pthread_join' /tmp/ccL4j9GY.o(.text+0x8b): In function `main': : undefined reference to `clock_gettime' /tmp/ccL4j9GY.o(.text+0x18f): In function `work_funct': : undefined reference to `clock_gettime' /tmp/ccL4j9GY.o(.text+0x3f6): In function `work_funct': : undefined reference to `clock_gettime' /tmp/ccL4j9GY.o(.text+0x5aa): In function `work_funct': : undefined reference to `pthread_exit' /tmp/ccL4j9GY.o(.text+0x5e7): In function `rasbor': : undefined reference to `xmlCheckVersion' /tmp/ccL4j9GY.o(.text+0x5fb): In function `rasbor': : undefined reference to `clock_gettime' /tmp/ccL4j9GY.o(.text+0x621): In function `rasbor': : undefined reference to `xmlReadMemory' /tmp/ccL4j9GY.o(.text+0x664): In function `rasbor': : undefined reference to `xmlDocGetRootElement' /tmp/ccL4j9GY.o(.text+0x864): In function `rasbor': : undefined reference to `xmlNodeGetContent' /tmp/ccL4j9GY.o(.text+0xc61): In function `rasbor': : undefined reference to `xmlNodeGetContent' /tmp/ccL4j9GY.o(.text+0xe66): In function `rasbor': : undefined reference to `xmlFreeDoc' /tmp/ccL4j9GY.o(.text+0xe6e): In function `rasbor': : undefined reference to `xmlCleanupParser' /tmp/ccL4j9GY.o(.text+0xe7f): In function `rasbor': : undefined reference to `clock_gettime' collect2: ld returned 1 exit status . Результат ldd: [root@websitebuilder script]# ldd client3 libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x4002c000) libz.so.1 => /usr/lib/libz.so.1 (0x40110000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x4011e000) libm.so.6 => /lib/tls/libm.so.6 (0x4012b000) librt.so.1 => /lib/librt.so.1 (0x4014d000) libc.so.6 => /lib/tls/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) [root@websitebuilder script]#

Помогите или дайте ссылку. Плиз. Очень нужно.

anonymous

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

Доброго времени суток.
Проблема:
есть прога, надо её скомпилить так, чтобы она работала на другой линух-машине. Пробовал ключи -static-libgcc и shared-libgcc, компиляция проходит без ошибок, но на другой машине не находятся функциии из библиотеки libxml2. Опция -static выдаёт следующие ошибки:
/tmp/ccL4j9GY.o(.text+0x1a): In function `main':
: undefined reference to `clock_gettime'
/tmp/ccL4j9GY.o(.text+0x49): In function `main':
: undefined reference to `pthread_create'
/tmp/ccL4j9GY.o(.text+0x73): In function `main':
: undefined reference to `pthread_join'
/tmp/ccL4j9GY.o(.text+0x8b): In function `main':
: undefined reference to `clock_gettime'
/tmp/ccL4j9GY.o(.text+0x18f): In function `work_funct':
: undefined reference to `clock_gettime'
/tmp/ccL4j9GY.o(.text+0x3f6): In function `work_funct':
: undefined reference to `clock_gettime'
/tmp/ccL4j9GY.o(.text+0x5aa): In function `work_funct':
: undefined reference to `pthread_exit'
/tmp/ccL4j9GY.o(.text+0x5e7): In function `rasbor':
: undefined reference to `xmlCheckVersion'
/tmp/ccL4j9GY.o(.text+0x5fb): In function `rasbor':
: undefined reference to `clock_gettime'
/tmp/ccL4j9GY.o(.text+0x621): In function `rasbor':
: undefined reference to `xmlReadMemory'
/tmp/ccL4j9GY.o(.text+0x664): In function `rasbor':
: undefined reference to `xmlDocGetRootElement'
/tmp/ccL4j9GY.o(.text+0x864): In function `rasbor':
: undefined reference to `xmlNodeGetContent'
/tmp/ccL4j9GY.o(.text+0xc61): In function `rasbor':
: undefined reference to `xmlNodeGetContent'
/tmp/ccL4j9GY.o(.text+0xe66): In function `rasbor':
: undefined reference to `xmlFreeDoc'
/tmp/ccL4j9GY.o(.text+0xe6e): In function `rasbor':
: undefined reference to `xmlCleanupParser'
/tmp/ccL4j9GY.o(.text+0xe7f): In function `rasbor':
: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
.
Результат ldd:
[root@websitebuilder script]# ldd client3
libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x4002c000)
libz.so.1 => /usr/lib/libz.so.1 (0x40110000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x4011e000)
libm.so.6 => /lib/tls/libm.so.6 (0x4012b000)
librt.so.1 => /lib/librt.so.1 (0x4014d000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
[root@websitebuilder script]#

Помогите или дайте ссылку. Плиз. Очень нужно.

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

Напиши строку с помощью которой все компилишь, версию gcc, uname -a . ОФФТОП : А почему под рутом компилишь?

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

Версия gcc:
[root@websitebuilder script]# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

uname -a:
[root@websitebuilder script]# uname -a
Linux websitebuilder.ipt 2.4.20-8bigmem #1 SMP Thu Mar 13 17:32:29 EST 2003 i686 i686 i386 GNU/Linux

сторока, которой компилю:
[root@websitebuilder script]# gcc `xml2-config --libs --cflags` -lrt -o client3 client3.c

xml2-config выдаёт:
[root@websitebuilder script]# xml2-config --libs --cflags
-L/usr/local/lib -lxml2 -lz -lpthread -lm
-I/usr/local/include/libxml2
[root@websitebuilder script]#

Почему под рутом?
То ли руки кривые, то ли система, но при попытке компилить под юзером выдаются ошибки(не помню что именно), а разбераться сечас - времени нет :(.
Спасибо.

PS При компиляции вышеприведённой строкой - всё ок, тока на другую машину не переноситься, сначала говорит ворнинг, а потом..
в общем - вот:

[root@point66 PARSER]# ./client3
Warning: program compiled against libxml 206 using older 204
./client3: relocation error: ./client3: undefined symbol: xmlReadMemory

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

С уважением,
Андрей.

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

anonymous (*) (16.07.2004 16:39:49) наверно прав ... проверь наличие Нужных либ с расширением .a, если они все есть то стрянно.

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

>сторока, которой компилю: >[root@websitebuilder script]# gcc `xml2-config --libs --cflags` -lrt -o client3 client3.c

И гиде здаесь -static? И что кроится за --libs и --cflags?

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

Прочитай, плиз, чуть внимательнее.
Там написано, что кроется за xml2-config --libs --cflags.
Результат компиляции со -static в первом(втором) сообщении. Я не стал ещё раз вставлять, т.к. слишком много места ето всё занимает.

Буду благодарен за любую помощь. Помоги, если можешь.

С уважением,
Андрей.

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

[root@websitebuilder script]# whereis libxml2.a libxml2: /usr/local/lib/libxml2.so /usr/local/lib/libxml2.la /usr/local/lib/libxml2.a [root@websitebuilder script]# whereis libc.a libc: /usr/lib/libc.a /usr/lib/libc.so

Вроде они с нами. У кого-нить есть идеи?

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

>сторока, которой компилю: >[root@websitebuilder script]# gcc `xml2-config --libs --cflags` -lrt -o client3 client3.c

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

gcc -o client3 `xml2-config --cflags` client3.c -lrt -static `xml2-config --libs`

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

Спасибо, помогло.

С уважением,
Андрей.

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