Recently, I faced problem with compilation DIRAC program which uses PCMSolver as an external program on ubuntu20.04-like system with ifort (tried versions of 2019 and 2020 year) as fortran compiler.
I should notice that this problem is not the case for gfortran.
For clean system everything works well until I install pip3 via apt but if I use conda everything is fine. At this point, gnumake throw the following error at configuration step:
/usr/bin/ld: libVerifyFortran.a(VerifyFortran.f.o): relocation R_X86_64_32 against '.rodata' can not be used when making a PIE object; recompile with -fPIE.
Moreover, if I compile DIRAC without PCMSolver I do not receive any error during configuration steps.
Expected Behavior
Successful configuration via gnumake for ifort
Current Behavior
Error:
/usr/bin/ld: libVerifyFortran.a(VerifyFortran.f.o): relocation R_X86_64_32 against '.rodata' can not be used when making a PIE object; recompile with -fPIE
at the PCMSolver configuration step right after downloading.
Possible Solution
I have found that even if I uninstall python3-pip from my system problem still exists. Nevertheless, if I reinstall gcc, g++ or gfortran after that everything becomes as supposed to be, I guess this is due to updating some links(?)
#
Steps to Reproduce (for bugs)
I do not if this in some sense common issue, but I always reproduce this problem following these steps from clean installation of ubuntu20.04-like system
install g++, gfortran via apt
install ifort of version of 2019 (last update) or 2020 (update 4) year
install python3-pip via apt
setup DIRAC with ifort: ./setup --fc=ifort
run make from build directory
Your Environment
Version used: I guess that due to downloading PCMSolver every compilation it is the most recent
Recently, I faced problem with compilation DIRAC program which uses PCMSolver as an external program on ubuntu20.04-like system with
ifort
(tried versions of 2019 and 2020 year) as fortran compiler. I should notice that this problem is not the case forgfortran
. For clean system everything works well until I install pip3 via apt but if I useconda
everything is fine. At this point,gnumake
throw the following error at configuration step:/usr/bin/ld: libVerifyFortran.a(VerifyFortran.f.o): relocation R_X86_64_32 against '.rodata' can not be used when making a PIE object; recompile with -fPIE
. Moreover, if I compile DIRAC without PCMSolver I do not receive any error during configuration steps.Expected Behavior
Successful configuration via
gnumake
forifort
Current Behavior
Error:
/usr/bin/ld: libVerifyFortran.a(VerifyFortran.f.o): relocation R_X86_64_32 against '.rodata' can not be used when making a PIE object; recompile with -fPIE
at the PCMSolver configuration step right after downloading.Possible Solution
I have found that even if I uninstall
python3-pip
from my system problem still exists. Nevertheless, if I reinstallgcc
,g++
orgfortran
after that everything becomes as supposed to be, I guess this is due to updating some links(?)#
Steps to Reproduce (for bugs)
I do not if this in some sense common issue, but I always reproduce this problem following these steps from clean installation of ubuntu20.04-like system
g++
,gfortran
viaapt
ifort
of version of 2019 (last update) or 2020 (update 4) yearpython3-pip
viaapt
./setup --fc=ifort
make
frombuild
directoryYour Environment
Version used: I guess that due to downloading PCMSolver every compilation it is the most recent
OS info: NAME="Linux Mint" VERSION="20 (Ulyana)" ID=linuxmint ID_LIKE=ubuntu PRETTY_NAME="Linux Mint 20" VERSION_ID="20" HOME_URL="https://www.linuxmint.com/" SUPPORT_URL="https://forums.linuxmint.com/" BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/" PRIVACY_POLICY_URL="https://www.linuxmint.com/" VERSION_CODENAME=ulyana UBUNTU_CODENAME=focal
Compilers info:
Also here is folders with logs. pcmsolver_ifort_logs.zip
If any additional info I could provide I will be happy to help