Calculate Forum

Проблема с бинарным репозитарем - старый libgfortran

Я тут в очередной раз попытался поставить систему и обнаружил, что некоторые
пакеты после установки не работают. Например после установки R-ки (dev-lang/R)
оный не запускается и выдает сообщение “/usr/lib/R/bin/exec/R: error while loading shared libraries: libgfortran.so.4: cannot open shared object file: No such file or directory”.

В результате пришлось пакет пересобрать. К счастью, я просто добавил парочку
нужных мне USE-флагов, но для пакетов попроще отбиться от бинарников будет не
так то просто.

Причина проблемы банальна - пакеты в репозитарии собраны давно, а вот GCC с
тех пор обновился и libgfortran.so.4 теперь называется libgfortran.so.5.

Есть, конечно, колхозное решение в виде символьной ссылки, но не для того
Gentoo-based дистрибутив ставился чтобы таким заниматься.

А в идеале хотелось бы попросить хранителей репозитория пересобрать все такие
пакеты с новым GNU Fortran-ом.

Потавил бинарный dev-lang/R-3.5.3 в CLDX:

$ R

R version 3.5.3 (2019-03-11) – “Great Truth”
Copyright © 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R – это свободное ПО, и оно поставляется безо всяких гарантий.
Вы вольны распространять его при соблюдении некоторых условий.
Введите ‘license()’ для получения более подробной информации.

R – это проект, в котором сотрудничает множество разработчиков.
Введите ‘contributors()’ для получения дополнительной информации и
‘citation()’ для ознакомления с правилами упоминания R и его пакетов
в публикациях.

Введите ‘demo()’ для запуска демонстрационных программ, ‘help()’ – для
получения справки, ‘help.start()’ – для доступа к справке через браузер.
Введите ‘q()’, чтобы выйти из R.

Вы выполняли обновление системы (cl-update) перед установкой?

Да, cl-update запускался, система обновлялась и не один раз. Версия R - 3.5.3. Но такая же точно ерунда была еще с парой пакетов.

P.S. Все описанное выше касается x86-репозитария. Как ситуация с 64-битными пакетами я не знаю.

P.P.S. Для столкнувшихся с похожей проблемой есть еще одно решение. Emerge позволяет добавить фильтр использования бинарных пакетов. Так что вы можете просто добавить в команду emerge параметр --usepkg-exclude "*/*" и тогда в этой команде все пакеты, которые подтянутся для установки, будут принудительно пересобраны независимо от того, есть ли они в бинарных репозитариях и какие стоят USE-флаги.

Лучше уточнять, конечно. Запустил в виртуалке свежий CLDX 20190915 32бит. emerge R, далее запускаю R, все работает.

Mastodon Mastodon