8 августа 2008 г.

GCC with USE="gcj"

Сегодня утром столкнулся вот с такой проблемкой. Обновил всю систему. Потом сделал:

revdep-rebuild -av

И появились всякие красивости, а именно:

broken /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcjawt.la
    (requires /usr/lib/lib-gnu-java-awt-peer-gtk.la)
broken /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgij.la
    (requires /usr/lib/libgcj.la)

И далее следовало сообщение пересобрать gcc. Пересборка gcc ничего бы не дала, так как только что ночью была сделана. Сразу же на Gentoo Bug был найден соответствующий баг #125728. Проблема собственно кроется в неправильных путях. Вот только я не очень понял чья это проблема — gentoo или gcc.

В итоге было принято следующее решение. Поставить символические ссылки на нужные файлы:

ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/lib-gnu-java-awt-peer-gtk.la \ 
    /usr/lib/lib-gnu-java-awt-peer-gtk.la
ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcj.la \
    /usr/lib/libgcj.la

Насколько оно правильное я без понятия. И как на что влиять будет тоже. Но от проблемы постоянного запроса пересобрать gcc после выполнения revdep-rebuild избавляет! Также, я так понял можно исправить непосредственно "broken" la-файлы. Но этим я заниматься не стал.

Комментариев нет: