Как мне установить gcc-4.3?

Есть ли простой способ установить gcc-4.3 на Oneiric? Мне это действительно нужно, потому что Matlab зависит от меня для создания мекс-файлов

Я попытался изменить все мои резисторы обратно на Maverick просто для установки gcc-4.3, но я получаю эту ошибку:

refl_v0p8_linux_and_windows % sudo apt-get install gcc-4.3-multilib libstdc++6-4.3-        dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gcc-4.3-multilib : Depends: gcc-4.3 (= 4.3.5-3ubuntu1) but it is not going to be     installed
                Depends: libc6-dev-i386 (>= 2.5) but it is not going to be installed
 libstdc++6-4.3-dev : Depends: g++-4.3 (= 4.3.5-3ubuntu1) but it is not going to be         installed
    E: Broken packages

5 ответов

1) Отредактируйте файл sources.list:

sudo gedit /etc/apt/sources.list

добавьте эту строку:

deb http://mirror.pnl.gov/ubuntu/ hardy-updates main universe

полный список зеркальных сайтов приведен здесь

Сохраните и закройте файл

2) Выйти из системы

3) Откройте Synaptic. Если вы не видите mirror.pnl.gov/ubuntu/ hardy-updates main universe в списке источников слева нажмите " Перезагрузить".

4) Выберите mirror.pnl.gov/ubuntu/ hardy-updates main universe из левого столбца - должен отобразиться список пакетов.

5) Выберите g77 из списка, отметьте для установки и примените. g77 теперь установлен и готов к использованию.

Определенно нет необходимости использовать gcc-4.3. Конечно, вы всегда получаете предупреждение при создании mex-файлов:

Предупреждение: вы используете gcc версии "4.6.xx)". Версия, в настоящее время поддерживаемая с MEX - "4.3.4". Список поддерживаемых в настоящее время компиляторов см. По адресу: http://www.mathworks.com/support/compilers/current_release/

но это предупреждение - функция MEX все равно будет компилироваться!!!

Единственное, что нужно изменить - это новая ссылка на библиотеку libc.so.6: (см. http://morganbye.net/blog/2011/10/matlab-ubuntu-1110)

Таким образом, для 64-разрядных: удалить старую ссылку

sudo rm /lib64/libc.so.6

(Будьте осторожны при удалении старой ссылки. Очень важно, чтобы Linux загрузился. Поэтому, если вы перезагрузитесь, прежде чем заменить ссылку новой версией, тогда будет время выкопать живой диск. Если вы параноик, тогда вы можете сначала скопируйте "cp" libc.so.6 во что-то вроде libc.so.6.backup.)

Заменить на новую ссылку

sudo ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6

Для 32-разрядных: (я не проверял это, так как я запускаю только системы x64, но из комментариев я думаю, что это должно работать)

Удалить старую ссылку (снова будьте осторожны с этой командой)

sudo rm /lib32/libc.so.6

Заменить на новую ссылку

sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6

Конечно, если это новая установка Ubuntu, вам, вероятно, не понадобится команда rm (remove).

Возможное решение: (исправьте для MATLAB, а не GCC-4.3)

от: http://xcorr.net/2010/05/07/getting-gcc-to-work-with-matlab-r2009b-on-linux-ubuntu-karmic-to-compile-mex-files/

(В итоге)

Шаг 1:

для MATLAB с помощью sudo запустите mex -setup и выберите (последний) компилятор GCC.

Шаг 2:

sudo gedit ~/.matlab/R2009b/mexopts.sh

Замените ВСЕ экземпляры CC= 'gcc' на CC= 'gcc-4.6 ′

(необязательно) Замените -ansi на -std = c99, чтобы разрешить использование // комментариев в стиле C++.

Примечание: если вы позже запустите mex -setup, это перезапишет файл mexopts.sh.

Я знаю, что этому вопросу уже два года, но мне не нравятся вопросы, на которые так и не получили приемлемого ответа, поэтому я пытаюсь помочь.

Он не использует менеджер пакетов, но по адресу http://gcc-uk.internet.bs/releases/ вы можете найти практически все версии GCC. Версия 4.3.0 (и, вероятно, все остальные) включает инструкции по установке HTML. Если вам не нравятся британские серверы, на сайте GCC есть список зеркал; некоторые из них могут иметь старые версии, как эта.

Я должен не согласиться с Михалом Квасницким, вы всегда должны использовать указанную версию GCC.

Вы нарушили зависимости. Вы можете "починить" их, делая

sudo apt-get -f install

Но прежде чем сказать да, пожалуйста, посмотрите, что apt пытается удалить.

И как подсказка: не стоит понижать версию Ubuntu, чтобы получить еще одну версию gcc. Вы можете иметь несколько версий GCC на одной машине! Я бы снова обратился к той версии, которая была у вас до неудачной попытки понизить версию и сохранить версию gcc, которая была у вас ранее. Тогда возьмите tar-ball из gcc 4.3 и скомпилируйте его самостоятельно, это не сложно. После этого у вас есть две версии gcc, после чего вы можете указать matlab на другую версию (указать путь к gcc где-нибудь в matlab).

Не рекомендуется компилировать другое программное обеспечение с версией gcc, отличной от той, которая была установлена ​​по умолчанию в Ubuntu.

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