Компиляция с LDC2 и GDC

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

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

GDC:

$ / 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: невозможно открыть общий объектный файл: такого файла или каталога нет

ldc2:

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

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


РЕДАКТИРОВАТЬ: Перекомпиляция LDC2 и GDC решили проблему, но я до сих пор не знаю, почему я получаю ошибки.

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, которая была либо удалена, либо заменена несовместимой версией во время обновления.

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

Другие вопросы по тегам