Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=444791&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Mon Apr 11 21:57:59 2016
Кодировка: Windows-1251
Знатокам Linux - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Hard&Soft (Archive)

Страницы: 1
clay
(172.16.12.41)

Рейтинг: 3392
  Знатокам Linux
      24.07.2003 02:04
 

Возникла следующая проблема:

Из дистрибутива RH5.2 были взяты

egcs-2.90.29 980515

И файлы

libstdc++.a
libstdc++.so.2.8.0

libc.a
libc.so

libm.so

ld-linux.so.2

crtbegin.o
crtn.o
crti.o
crtend.o

code:

Делаю
[clay@somewhere gg]$ ./usr/bin/g++ aaa.c -c -o aaa.o
-I ./usr/include/ -I ./usr/include/g++/
-I ./usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/include/

Затем
/usr/bin/ld -o aaa -rpath /home/clay/gg/lib/ \
-m elf_i386 -dynamic-linker /home/clay/gg/lib/ld-linux.so.2 \
/home/clay/gg/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/crtbegin.o \
aaa.o \
/home/clay/gg/usr/lib/crt1.o \
/home/clay/gg/usr/lib/crti.o \
/home/clay/gg/usr/lib/crtn.o \
/home/clay/gg/usr/lib/libstdc++.a \
/home/clay/gg/usr/lib/libstdc++.so \
/home/clay/gg/usr/lib/libc.a \
/home/clay/gg/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/crtend.o

[clay@somewhere gg]$ ldd ./aaa
libstdc++.so.2.8 => /home/clay/gg/usr/lib//libstdc++.so.2.8 (0x4000b000)
libm.so.6 => /home/clay/gg/lib//libm.so.6 (0x4004c000)
libc.so.6 => /home/clay/gg/lib//libc.so.6 (0x40065000)
/home/clay/gg/lib/ld-linux.so.2 => /home/clay/gg/lib/ld-linux.so.2 (0x40000000)

И имею в итоге:

Program received signal SIGSEGV, Segmentation fault.
0x08062eb7 in __getopt_clean_environment () at getopt_init.c:66


Что это может означать?
Что дает ошибку в библиотеке?


nsh
member

Рег.: 02.02.2003
Сообщений: 102
Рейтинг: 0
  Re: Знатокам Linux [re: clay]
      24.07.2003 19:55
 

Не понятно, что требуется. Если требуется получить статическую прогу, зачем тогда libstdc++.so. В этом случае нужно делать так:
code:

#!/bin/sh

#installed packages in prefix
#
# egcs-1.0.3a-14.i386.rpm
# egcs-c++-1.0.3a-14.i386.rpm
# glibc-2.0.7-29.i386.rpm
# glibc-devel-2.0.7-29.i386.rpm
# binutils-2.9.1.0.15-1.i386.rpm

PREFIX=/home/user/tmp_dir

PATH=$PREFIX/bin:$PREFIX/usr/bin:$PREFIX/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29
LD_LIBRARY_PATH=$PREFIX/usr/lib

./usr/bin/g++ -nostdinc -nostdinc++ aaa.cc -c -o aaa.o -I ./usr/include\
-I ./usr/include/g++ \
-I ./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/include

./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/ld -o aaa \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtbegin.o \
./aaa.o \
./usr/lib/crt1.o \
./usr/lib/crti.o \
./usr/lib/crtn.o \
./usr/lib/libstdc++.a \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/libgcc.a \
./usr/lib/libc.a \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtend.o




Если же нужно динамически прилинковать, тогда почему libc линкуются статически. Нужно бы сделать так.

code:


#!/bin/sh

#installed packages in prefix
#
# egcs-1.0.3a-14.i386.rpm
# egcs-c++-1.0.3a-14.i386.rpm
# glibc-2.0.7-29.i386.rpm
# glibc-devel-2.0.7-29.i386.rpm
# binutils-2.9.1.0.15-1.i386.rpm

PREFIX=/home/user/tmp_dir

PATH=$PREFIX/bin:$PREFIX/usr/bin:$PREFIX/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29
LD_LIBRARY_PATH=$PREFIX/usr/lib

./usr/bin/g++ -nostdinc -nostdinc++ aaa.cc -c -o aaa.o -I ./usr/include\
-I ./usr/include/g++ \
-I ./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/include

./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/ld -o aaa \
-rpath $PREFIX/lib \
-m elf_i386 -dynamic-linker $PREFIX/lib/ld-linux.so.2 \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtbegin.o \
./usr/lib/crt1.o \
./usr/lib/crti.o \
./usr/lib/crtn.o \
./aaa.o \
./usr/lib/libstdc++.so \
./lib/libc.so.6 \
./usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtend.o






clay
(172.16.12.41)

Рейтинг: 3392
  Re: Знатокам Linux [re: nsh]
      24.07.2003 23:46
 

Я уже разобрался, но все равно спасибо.

Страницы: 1

Technical >> Hard&Soft (Archive)

Дополнительная информация
1 зарегистрированных и 1 анонимных пользователей просматривают этот форум.

Модераторы:  exc, muse, Riamella, KAA 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в