вместо файлов, необходимых для работы компилятора, пакет содержит пустой /usr/include/d
Это не ошибка. Так и задумано. Вам вместо данного пакета нужен пакет dmd скорее всего. Не ставьте пакет dmd-devel-common вручную. Он сам поставится по зависимостям когда нужен будет.
> Это не ошибка. Так и задумано. Вам вместо данного пакета нужен пакет dmd скорее Это как? rpm -ql dmd /etc/dmd.conf /usr/bin/changed --- вообще левый файл, откуда он? /usr/bin/checkwhitespace --- вообще левый файл, откуда он? /usr/bin/contributors --- вообще левый файл, откуда он? /usr/bin/ddemangle /usr/bin/detab --- вообще левый файл, откуда он? /usr/bin/dget --- вообще левый файл, откуда он? /usr/bin/dmd /usr/bin/dmd-catdoc --- вообще левый файл, откуда он? /usr/bin/dustmite /usr/bin/rdmd /usr/bin/tolf --- вообще левый файл, откуда он? /usr/bin/updatecopyright --- вообще левый файл, откуда он? /usr/lib64/libdruntime.so /usr/share/man/man1/dumpobj.1.xz /usr/share/man/man1/obj2asm.1.xz /usr/share/man/man1/rdmd.1.xz /usr/share/man/man5/dmd.conf.5.xz как видно, в пакете куча непонятных левых файлов и нет необходимых файлов импорта: /usr/include/dmd в пакете отстутсвует, как и /usr/include/d, на который ссылается конфигурация /etc/dmd.conf: DFLAGS=-I/usr/include/d -L-lrt -L--export-dynamic -fPIC в современных версиях комиляторов dmd, между прочим, импорт лежит в /usr/include/dmd зависимости пакета: requires: /proc /lib64/ld-linux-x86-64.so.2 libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.4)(64bit) libdruntime-devel-static = 2.096.1-alt1:sisyphus+273305.100.1.1 libphobos2-devel-static = 2.096.1-alt1:sisyphus+273305.100.1.1 rpmlib(PayloadIsLzma) где dmd-devel-common или любой иной devel? rpm -ql dmd-devel-common /usr/include/d пустой, 0 байт, зависимости: requires: rpmlib(PayloadIsLzma) provides: dmd-devel-common = 2.096.1-alt1:sisyphus+273305.100.1.1 может быть, rpm -ql libphobos2-devel-static /usr/lib64/libphobos2.a не-а. А! Надо догадаться, что необходимо вручную отдельно поставить libphobos2-devel Действительно, там есть стандартная библиотека и даже libphobos2.so правда, без номера версии. Зато есть пакет libphobos2_2.096.1-alt1%3asisyphus+273305.100.1.1@1622555536_x86%5f64.rpm, содержащий libphobos2.so.0.96.1 Итого: сборка содержит мусор, требуется доустановка пакетов, не имеющих зависмостей, пути нестандартные, есть конфликт .so.
(Ответ для Gleb Kulikov на комментарий #2) > Итого: сборка содержит мусор Есть только dmd и его утилиты. Так что неверно. > требуется доустановка пакетов, не имеющих зависмостей С зависимостями проблем нет. Плохо смотрели. # apt-get install dmd Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Следующие дополнительные пакеты будут установлены: dmd-devel-common libdruntime-devel libdruntime-devel-static libphobos2 libphobos2-devel libphobos2-devel-static Следующие НОВЫЕ пакеты будут установлены: dmd dmd-devel-common libdruntime-devel libdruntime-devel-static libphobos2 libphobos2-devel libphobos2-devel-static 0 будет обновлено, 7 новых установлено, 0 пакетов будет удалено и 28 не будет обновлено. Необходимо получить 0B/12,7MB архивов. После распаковки потребуется дополнительно 144MB дискового пространства. Продолжить? [Y/n] > пути нестандартные Где? > есть конфликт .so. Где? Прошу продемонстрировать.
>> Итого: сборка содержит мусор > Есть только dmd и его утилиты. Так что неверно. Верно. я отметил целый ряд файлов, которых НЕТ (большими буквами --- НЕТУ) в дистрибутиве dmd. Вот /usr/bin/detab, это что такое? Откуда это взялось? Ни описания, ни хелпа, ничего. Вот содержание редхатовской сборки dmd-2.097.0-0.fedora.x86_64.rpm: /usr/bin: ddemangle dmd dub dustmite rdmd ВСЁ! > С зависимостями проблем нет. Плохо смотрели. Извиняюсь, если так. Смотрю dmd_2.096.1-alt1-sisyphus+273305.100.1.1@1622555536_x86-64.rpm: /proc /lib64/ld-linux-x86-64.so.2 libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.4)(64bit) libdruntime-devel-static = 2.096.1-alt1:sisyphus+273305.100.1.1 libphobos2-devel-static = 2.096.1-alt1:sisyphus+273305.100.1.1 rpmlib(PayloadIsLzma) >> есть конфликт .so. > Где? Прошу продемонстрировать. извиняюсь, действительно, вопрос снимается Хотя решение, когда в libphobos2-devel симлинк на .so из libphobos2_2.096.1-alt1, сбивает с толку.
dmd-2.109.1-alt2 -> sisyphus: Wed Sep 04 2024 Andrey Kovalev <ded@altlinux> 2.109.1-alt2 - Split /usr/include/d into /usr/include/dmd/druntime/ and /usr/include/phobos. Separated dmd-tools from dmd (closes: #40214).