Возможно ли иметь два исполняемых файла g ++ с разделяемой библиотекой lib?

Это может звучать странно, но я хочу иметь два исполняемых файла g ++. Один в нормальном / usr / bin / g ++, который в настоящее время работает хорошо. Другой в / sandbox / g ++, который защищен apparmor. Однако, когда я скопировал g ++ (не символическую ссылку, исходный исполняемый файл g ++ - 4.6) в / sandbox / g ++, он не может быть выполнен со следующей ошибкой:

g++-4.6: error trying to exec 'cc1plus': execvp: No such file or directory

Как настроить его на использование того же пути / lib как нормальный g ++? Я искал в Интернете общий ответ на вышеуказанную ошибку - переустановить g ++, но мой g ++ работает хорошо, я просто хочу, чтобы этот работал одновременно.

Спасибо за любые предложения!

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

После добавления нескольких правил PATH в bashrc, cc1plus найден, но путь всех включаемых файлов испорчен. Думаю, я последую совету по созданию исходных файлов локально и посмотрю, как его настроить.

1
задан 6 July 2013 в 04:54

1 ответ

Попробуйте:

cd ~
cp /usr/bin/g++ gx
touch x.cpp
strace ./gx -o x x.cpp 2>xlog

Сбой с тем же сообщением об ошибке, и в xlog вы можете увидеть, что g ++ ожидает найти cc1plus в относительном каталоге ../lib/etc. Это не зависит от одежды.

Теперь, возможно, есть какой-то параметр конфигурации, который вы можете использовать, чтобы g ++ искал cc1plus в другом месте, если вы хотите собрать его из исходного кода самостоятельно, но, не зная этого параметра, я бы сказал, что g ++ должен запускаться из обычного установленного каталога. g ++ будет запускаться из своей копии в обычном каталоге, переименованном, конечно. Я думаю, что вы могли бы подвергнуть копию apparmor, если это способствует вашим цыплятам.

0
ответ дан 6 July 2013 в 04:54

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

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