Сборка пакета с пользовательским расположением GCC - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь собрать пакет c ++ с gcc4.9 через Makefile. По умолчанию система всегда использует системный компилятор (/ usr / bin / g ++), то есть gcc4.5. Чтобы использовать 4.9, я добавил его в качестве зависимости от моего пакета.

Чтобы использовать пользовательское местоположение GCC, я установил ниже команду в Makefile

override CXX := $(shell  {some path})/gcc-rhel5/bin/g++
override CC := $(shell  {some-path})/gcc-rhel5/bin/g++

После сборки пакета с вышеупомянутым путем g ++, но я получаю исключение ниже.

/ cc1plus: ошибка при загрузке общих библиотек: libmpc.so.3: не удается открыть файл общих объектов: нет такого файла или каталога

Как я могу исправить эту проблему.

1 Ответ

0 голосов
/ 28 апреля 2018

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

$ cd yourproject/
$ PATH={some path}/gcc-rhel5/bin LD_LIBRARY_PATH={some path}/gcc-rhel5/lib make

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

-gcc-rhel5/
--bin/
---gcc
---g++
---make
---ld
--lib/
---libmpc.so.3
---libc.so.6
--(some other files)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...