Использование gcc 3.4 на Ubuntu 14.04

Вопрос или проблема

Следуя точно этому посту, я смог установить gcc 3.4 на чистую установку Ubuntu 14.04. Но, когда я пытаюсь скомпилировать программу, она выдает следующую ошибку:

/usr/bin/ld: не удается найти crt1.o: Нет такого файла или директории
/usr/bin/ld: не удается найти crti.o: Нет такого файла или директории
/usr/bin/ld: не удается найти -lgcc_s
collect2: ld вернул 1 статус выхода

Я посмотрел на этот ответ и установил build-essential, но это не решило проблему. Ошибка остается прежней.

Также я установил зависимости для g++-3.4 перед его установкой:

sudo apt-get build-dep g++-3.4

ОБНОВЛЕНИЕ:

Попробовав gcc-3.4 -B/usr/lib/x86_64-linux-gnu hello.c, я устранил первые две ошибки.

/usr/bin/ld: не удается найти -lgcc_s
collect2: ld вернул 1 статус выхода

ОБНОВЛЕНИЕ 2:

Я прочитал этот пост и попробовал его на своей системе, как указано ниже, но это не помогло:

gcc-3.4 -B /usr/lib/x86_64-linux-gnu -L /usr/lib/gcc/x86_64-linux-gnu/3.4.6/ hello.c

Попробуйте следующие шаги:

  1. Выполните следующие команды:

    LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH
    export LIBRARY_PATH
    

Это уберет необходимость явно указывать путь каждый раз, когда компилируется программа на C.

  1. Установите следующие пакеты:

    sudo apt-get install libc6-dev
    sudo apt-get install gcc-multilib
    
  2. Создайте символическую ссылку:

    sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
    

Ответ или решение

Чтобы решить проблему с компиляцией кода с использованием gcc 3.4 на Ubuntu 14.04, вам нужно выполнить несколько шагов. Давайте рассмотрим их подробно.

  1. Настройка переменной окружения LIBRARY_PATH: Это поможет компилятору находить нужные библиотеки. Выполните следующую команду в терминале:

    LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH
    export LIBRARY_PATH

    Вы можете добавить эти строки в ваш файл ~/.bashrc, чтобы они применялись автоматически при каждом запуске терминала.

  2. Установка необходимых пакетов: Убедитесь, что у вас установлены все необходимые библиотеки для работы с gcc 3.4:

    sudo apt-get install libc6-dev
    sudo apt-get install gcc-multilib

    Эти пакеты обеспечат наличие необходимых библиотек и заголовков для компиляции программ.

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

    sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

    Это создаст символическую ссылку, которая поможет linker’у находить нужные файлы, такие как crt1.o и другие.

  4. Команда компиляции: Теперь вы можете попробовать снова скомпилировать ваше приложение, используя gcc 3.4. Если проблема с отсутствующими библиотеками продолжается, попробуйте явно указать пути к библиотекам, используя опции -L и -B, как это было предложено в ваших обновлениях:

    gcc-3.4 -B /usr/lib/x86_64-linux-gnu -L /usr/lib/gcc/x86_64-linux-gnu/3.4.6/ hello.c
  5. Проверка наличия файлов crt1.o и crti.o: Если ошибки продолжают возникать, проверьте, существуют ли файлы crt1.o и crti.o в указанных директориях:

    ls /usr/lib/x86_64-linux-gnu/crt*

    Если они отсутствуют, это может означать, что вам нужно переустановить пакет, который их предоставляет (обычно это libc6-dev).

Следуйте этим шагам, и вы должны решить проблемы, связанные с компиляцией программ с использованием gcc 3.4 на Ubuntu 14.04. Если после выполнения всех указанных действий проблема не будет решена, прошу сообщить об этом с приведением новых сообщений об ошибках для более глубокого анализа.

Оцените материал
Добавить комментарий

Капча загружается...