Я получаю сообщение об ошибке с компиляторами gcc (7.2.0) и pgi (18.4).Есть компиляция научного приложения (на фортране), которая имеет некоторые зависимости.Эти зависимости компилируются с флагом -fPIC.При компиляции основного приложения я получаю сообщение об ошибке «перемещение урезано для соответствия».Когда я добавляю флаг -mcmodel = medium (pgi), компиляция завершается успешно.Но я не желаю добавлять этот флаг по некоторым причинам.Также, когда я компилирую основное приложение с -fPIC, я получаю ошибку компоновщика и предложение добавить флаг --no-relax.После добавления того же, я все еще получаю ошибку перемещения.Можно ли как-нибудь компилировать без флага -mcmodel = medium?
Edit: Кроме того, при использовании компиляторов gnu, независимо от того, какой mcmodel я использую, я получаю ошибку перемещения.Может ли это быть что-то, связанное со старым компоновщиком.Поскольку я думаю, что приложение и его зависимости скомпилированы с 64-битными библиотеками, а компоновщик, как я предполагаю, работает с 32-битными библиотеками.В качестве причины успешной компиляции с pgi, когда я выполняю /ld-linux.so --list, я получаю сообщение об ошибке, в котором говорится, что невозможно сопоставить страницы с нулевым заполнением.И пока я запускаю исполняемый файл, я получаю сообщение Killed.