Можно ли скомпилировать Firefox 18+ на RHEL 5.9?

540
Thomas M

Я попытался скомпилировать Firefox 24 на RHEL 5.9 и попал в ад зависимости.

У меня нет привилегий суперпользователя, и я скомпилировал несколько зависимостей (glib, cairo и еще много чего) в одном из моих каталогов. Мне не удалось скомпилировать pango (1.20.5) с этой ошибкой, которую мне не удалось устранить: /work/usr/lib/libcairo.so: неопределенная ссылка на `XRenderFindVisualFormat '.

Теперь мой вопрос: возможно ли скомпилировать FF24 на RHEL 5.9 и если да, можете ли вы порекомендовать процедуру, как действовать систематически?

Редактировать:

Я попробовал решение с префиксом gentoo: После установки префикса с bootstrap-prefix.sh в / work / gentoo:

  • Добавлена ​​строка USE="-*"в$EPREFIX/etc/portage/make.conf
  • Добавлена ​​строка PYTHON_TARGETS = "python2_7" для $EPREFIX/etc/portage/make.conf
  • nasm на хосте был слишком стар (NASM версии 0.98.39, скомпилирован 12 июля 2006 г.), поэтому сборка media-libs / libjpeg-turbo-1.3.1 не удалась. emerge nasmпочинил это.
  • emerge --autounmask-write '<media-libs/mesa-10.2'
  • emerge --autounmask-write firefox

Чтобы запустить Firefox, я использую скрипт:

#!/bin/bash PREFIX=/work/gentoo COMMAND="$/usr/lib/firefox/firefox $1" env -i HOME=$HOME TERM=$TERM USER=$USER $PREFIX/bin/bash -l -c "export DISPLAY=:0.0 ; $" 

К сожалению, я не могу передать файл в этот скрипт, поэтому Firefox открывает файл автоматически. Плюс - и это более серьезная проблема - прокрутка колесиком мыши глючит, и переключение вкладок нажатием на них не работает. Так что все усилия были напрасны) o:

2
Что происходит, когда вы передаете файл в Firefox? Кроме того, я не думаю, что сброс окружения необходим - в обычной оболочке (то есть без префикса) просто вызовите прямой путь к бинарному файру firefox. Wilfred Hughes 10 лет назад 0

3 ответа на вопрос

0
Wilfred Hughes

It is possible to compile Firefox on RHEL 5 using Gentoo Prefix. It's a little work (Prefix's IRC channel is helpful) but using a proper package manager means all the dependencies are handled for you.

Bootstrap Prefix, then just install Firefox with:

$ ~/gentoo/startprefix # wherever your prefix shell script is $ emerge -a firefox $ export DISPLAY=:0.0 # Use the existing Xorg installed $ firefox 

Note that Firefox 30 is the last version that will run on RHEL 5. Firefox 31+ depends on mesa 10.2+. mesa 10.2+ has a build-time dependency on libudev and udev, which can't be built on Gentoo prefix.

Я пытался это сделать, но это не сработало с: emerge: нет ebuild'ов, удовлетворяющих требованиям "> = sys-apps / dbus-1.6.18-r1 [abi_x86_32 (-) ?, abi_x86_64 (-) ?, abi_x86_x32 (-) ?, abi_mips_n32 (-) ?, abi_mips_n64 (-) ?, abi_mips_o32 (-) ?, abi_ppc_32 (-) ?, abi_ppc_64 (-) ?, abi_s390_32 (-) ?, abi_s390_64 (-)?]». Thomas M 10 лет назад 0
Попробуйте создать более старую версию dbus и собрать Firefox против этого. `eix sys-apps / dbus` показывает версии, затем` emerge -av = dbus-1.6.8-r1` (версия, которую я установил в настоящее время). В противном случае спросите на IRC. Wilfred Hughes 10 лет назад 0
Я попытался использовать USE = "- dbus", затем emerge -a firefox, затем я получил: emerge: нет ebuild'ов, которые могли бы удовлетворить "> = sys-apps / util-linux-2.24.1-r3 [abi_x86_32 (-) ?, abi_x86_64 (-) ?, abi_x86_x32 (-) ?, abi_mips_n32 (-) ?, abi_mips_n64 (-) ?, abi_mips_o32 (-) ?, abi_ppc_32 (-) ?, abi_ppc_64 (-) ?, abi_s390_32 (-) ?, abi_s390_64 ( -)]». Thomas M 10 лет назад 0
Вы также получили это сообщение во время установки util-linux: «Ваш хост glibc слишком стар; включен флаг -fgnu89-inline-компилятора. ошибка 473524»? Thomas M 10 лет назад 0
Я использую util-linux 2.17, из-за этой ошибки я не смог выполнить обновление. Предупреждение glibc - это просто предупреждение. Wilfred Hughes 10 лет назад 0
0
user2987828
emerge --autounmask-write firefox 

должен быть заменен

emerge -p --autounmask-write firefox 

Сразу после этого шага в $ EPREFIX / etc / portage / make.conf вы должны заменить

USE="-*" 

от

USE="-keyword1 -keyword2 -keyword3 ... -keywordN" 

где Ключевое слово1 ключевое слово2 ключевое слово3, ... ключевое словоN должно быть заменено различными флагами USE, показанными как emerge -p --autounmask-write firefox. Если emerge -p --autounmask-write firefoxпоказал

[ebuild R ] app-text/recode-3.6_p17-r2 USE="nls (prefix%*) -static-libs" 2,021 kB 

Тогда вы могли бы использовать

USE="-nls -static-libs" 

Это даст вам что-то с эффектом, точно эквивалентным USE="-*".

На следующем шаге вы должны попытаться угадать, какие из элементов в USE препятствуют тому, что «прокрутка колесиком мыши глючит и переключение вкладок осуществляется нажатием на них». Например, если это -nls, то вы должны заменить -nls на + nls (или ничем) в переменной USE.

Вы можете найти http://www.gentoo.org/dyn/use-index.xml, чтобы отслеживать связанные с мышью ключевые слова USE.

После этого выполните шаги ниже, чтобы скомпилировать совместимый с мышью Firefox:

emerge --autounmask-write firefox mv $EPREFIX/etc/portage/.*package.use $EPREFIX/etc/portage/package.use emerge firefox 

Примечание. Я думаю, что для создания Firefox достаточно переменной USE, сокращенной до нескольких ключевых слов. Пожалуйста, сообщите об этом здесь и в IRC, если вам удастся найти его.

-1
james-p

This assumes you have root access to install various RPMS, so I'm not sure how you get round that, but it is possible to build FF24 on EL5.

Have a look at this article.

Это цитата из вопроса: «... можете ли вы порекомендовать процедуру, как действовать систематически?» Просто сказать «это возможно» не очень полезно. Moses 11 лет назад 0
Ссылка, размещенная @ james-p, содержит ценную информацию. Я обязательно попробую то, что там предлагается. Thomas M 11 лет назад 0