Компиляция с помощью LDC2 и GDC

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

Я получаю следующие ошибки при попытке скомпилировать исходный код D;

гдк:

$ /home/Code/D/gdc/Bin/usr/local/bin/gdc -o t4 t4.d /home/Code/D/gdc/Bin/usr/local/bin/../libexec/gcc/x86_64 -unknown-linux-gnu/4.4.5/cc1d: ошибка при загрузке общих библиотек: libmpfr.so.1: невозможно открыть общий объектный файл: нет такого файла или каталога

ЛДК2:

$ /home/Code/D/ldc2/bin/ldc2 -o t4 t4.d /home/Code/D/ldc2/bin/ldc2: ошибка при загрузке общих библиотек: libconfig++.so.8: невозможно открыть общий объектный файл: Данный файл или каталог отсутствует

Я не могу вспомнить, было ли это просто дополнением к PATH или к DFLAGS. Любые идеи?


EDIT: перекомпиляция как LDC2, так и GDC решила проблему, но я до сих пор не знаю, почему я получаю ошибки.


d gdc
person Arlen    schedule 01.06.2011    source источник


Ответы (2)


Ошибка с LDC означает, что вы (пере)переместили libconfig++ после его компиляции. PATH и DFLAGS не связаны, но, как отметил Дэн в своем ответе, LD_LIBRARY_PATH можно использовать для добавления дополнительных местоположений к пути поиска.

Если вы по какой-либо причине хотите иметь автономную установку, вы можете установить RPATH в каталог bin и скопировать туда libconfig++, как это делается при сборке бинарных пакетов: https://github.com/ldc-developers/ldc-scripts/blob/master/ldc2-packaging/2-build-ldc.sh#L18.

Та же история с ошибкой GDC — это зависит от библиотеки GNU MPFR, которая была либо удалена, либо заменена несовместимой версией во время обновления.

person dnadlinger    schedule 21.08.2013

Эта ошибка может возникнуть, если файлы .so не находятся в вашем $LD_LIBRARY_PATH, я думаю.

person Dan    schedule 20.06.2011