Ubuntu 12 breaks gcc 4.7 build from source

Flash-видео не будет воспроизводиться на новой установке Ubuntu 14.04, даже с adobe-flashplugin из репозитория «партнер» - получился черный экран на YouTube (за исключением того, что он установил его для использования HTML5), dailymotion и т. д. Установка freshplayerplugin (по-видимому, обертка для флеш-проигрывателя Chrome) решил проблему:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install freshplayerplugin
2
задан 1 May 2012 в 05:22

1 ответ

Как я уже сказал в своем комментарии, проблема не является ошибкой в ​​GCC или Ubuntu, а скорее в несовместимой функции: multiarch. Точка мультиархива заключается в том, чтобы позволить двоичным файлам для нескольких архитектур быть установленными в одной и той же файловой системе одновременно без столкновений. Это заменит старую 32-битную или 64-битную систему библиотек, которая раньше существовала, но на самом деле важнее, когда мы хотим, чтобы одновременно устанавливались как Intel, так и ARM. Предположительно, это не очень интересно для настольных компьютеров, но Ubuntu существует во многих встроенных устройствах (или будет делать), которые могли бы делать такие вещи.

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

Начиная с стандартной установки рабочего стола эти этапы настройки позволили построить для меня работу:

[d5 ] amd64 (я проверил это):

sudo -i
# apt-get install libppl0.11-dev libmpfr-dev libgmp-dev libc6-dev-i386
# cd /usr/include
# ln -s x86_64-linux-gnu/* .
# cd /usr/lib
# ln -s x86_64-linux-gnu/crt* .

Я вижу, вы используете 32-битный Ubuntu. Я не проверял это, но я сделал очевидные изменения.

ix86:

sudo -i
# apt-get install libppl0.11-dev libmpfr-dev libgmp-dev libc6-dev
# cd /usr/include
# ln -s i386-linux-gnu/* .
# cd /usr/lib
# ln -s i386-linux-gnu/crt* .

ВНИМАНИЕ: вставка мягких ссылок - bug безвредный, для большинства людей, но может привести к дальнейшим проблемам. (В основном, только если вы хотите построить как 64-битные, так и 32-разрядные проекты на одной машине.)

4
ответ дан 25 May 2018 в 12:05
  • 1
    Несколько каталогов и файлов в / usr / include были дубликатами в / usr / include / i386-linux-gnu, поэтому я переместил их в & lt; предыдущее имя & gt; -old. Пока это работает. Благодаря! – Matt Kline 2 May 2012 в 05:18

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

Похожие вопросы: