G'day,
на 64-битной коробке RHEL5 нам нужно установить наше 32-битное приложение. По некоторым причинам нам нужно использовать gcc 4.0.3 для этого, поэтому я попытался сначала установить эту версию на целевой машине, как я делал тысячу раз на 32-битных целевых платформах.
Однако на этот раз у меня возникли проблемы. Я загрузил и ввел gcc 4.0.3 в путь, скажем, / foo. Как всегда, я установил LD_LIBRARY_PATH, чтобы он указывал на каталог, содержащий общие библиотеки:
$ echo $LD_LIBRARY_PATH
/foo/lib:/foo/lib/gcc/x86_64-unknown-linux-gnu/lib64:/foo/lib/gcc/x86_64-unknown-linux-gnu/4.0.3:/lib64
В этих каталогах действительно есть необходимые библиотеки:
$ ls /foo/lib/gcc/x86_64-unknown-linux-gnu/lib64
libgcc_s.so libgcc_s.so.1
$ ls /foo/lib/gcc/x86_64-unknown-linux-gnu/4.0.3
32 crtendS.o libgcov.a libmudflap.so.0.0.0 libmudflapth.so.0.0.0 libstdc++.so.6.0.7
crtbegin.o include libmudflap.a libmudflapth.a libstdc++.a libsupc++.a
crtbeginS.o install-tools libmudflap.la libmudflapth.la libstdc++.la libsupc++.la
crtbeginT.o libgcc.a libmudflap.so libmudflapth.so libstdc++.so
crtend.o libgcc_eh.a libmudflap.so.0 libmudflapth.so.0 libstdc++.so.6
Однако, если я попытаюсь создать простую программу, ld не сможет найти libgcc_s:
$ gcc-4.0 t.cc
/foo/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.0.3/../../../../x86_64-unknown-linux-gnu/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
Почему он не находит библиотеку libgcc_s.so?
Любая помощь приветствуется!
Stefan