GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » Fairroot » External Packages » Millepede could not be created.
Millepede could not be created. [message #19804] Sat, 29 October 2016 19:17 Go to next message
Jarok is currently offline  Jarok
Messages: 17
Registered: January 2016
Location: Santiago de Compostela
occasional visitor
From: *76.60.213.dynamic.reverse-mundo-r.com
Hallo,

I tried to install the last version of the external packages in a Ubuntu 16.04 (64 bit) machine with the Root6 option. From another users I found out that it seems to be problem between Root6 and gcc5, so I downgraded to gcc-4.9 and compiled with this version. During the installation I get the error:

[100%] Linking CXX shared library libMille.so
[100%] Built target Mille
Install the project...
-- Install configuration: "Release"
-- Installing: /home/jose/Simulacion/external/root6/lib/libMille.so
-- Installing: /home/jose/Simulacion/external/root6/include/Mille.h
*** ERROR: Millepede could not be created.
*** End installation of external packages with Errors***


What could be the problem?

Thank you very much.
Re: Millepede could not be created. [message #19806 is a reply to message #19804] Mon, 31 October 2016 08:55 Go to previous messageGo to next message
Jarok is currently offline  Jarok
Messages: 17
Registered: January 2016
Location: Santiago de Compostela
occasional visitor
From: *usc.es
Hello again.

I found in this forum that another person had problems with millepede (was not in the tittle)

https://forum.gsi.de/index.php?t=tree&th=4642&start=0&

One of the answers suggested that the problem is caused because the gfortran version is below 4.9. In my case, I use the gfortran version 5.4.0

Any other thoughts?

Thank you again.

Jose
Re: Millepede could not be created. [message #19810 is a reply to message #19804] Mon, 31 October 2016 09:10 Go to previous messageGo to next message
Florian Uhlig is currently offline  Florian Uhlig
Messages: 424
Registered: May 2007
first-grade participant
From: *gsi.de
Hi Jarok,

could you please attach a log file with the complete output from the millepede compilation.

Ciao

Florian
Re: Millepede could not be created. [message #19817 is a reply to message #19810] Mon, 31 October 2016 14:51 Go to previous messageGo to next message
Jarok is currently offline  Jarok
Messages: 17
Registered: January 2016
Location: Santiago de Compostela
occasional visitor
From: *usc.es
Hello;

this is the output (gcc-4.9.3 and gfortran 5.4.0)

Hope it helps.

Jose
Re: Millepede could not be created. [message #19820 is a reply to message #19804] Mon, 31 October 2016 15:08 Go to previous messageGo to next message
Florian Uhlig is currently offline  Florian Uhlig
Messages: 424
Registered: May 2007
first-grade participant
From: *gsi.de
Hi Jarok,

the problem is due to the linkage of the pede executable.

Quote:

gcc -Wall -O3 \
-o pede mpdef.o mpdalc.o mpmod.o mpbits.o mpqldec.o mptest1.o mptest2.o mille.o mpnum.o mptext.o mphistab.o minresDataModule.o minresModule.o minresqlpDataModule.o minresqlpBlasModule.o minresqlpModule.o randoms.o vertpr.o linesrch.o Dbandmatrix.o pede.o readc.o -lgfortran -lm -lgomp -L= -lz
/usr/bin/ld: no se puede encontrar -lgfortran
collect2: error: ld returned 1 exit status
Makefile:115: fallo en las instrucciones para el objetivo 'pede'
make: *** [pede] Error 1


Somehow gcc can not find the corresponding gfortran library.

Looking at the following compilation unit for me it looks like that there is a mismatch between the fortran and c++ versions.

Quote:

-- The Fortran compiler identification is GNU 5.4.0
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- The C compiler identification is GNU 4.9.3
-- The CXX compiler identification is GNU 4.9.3


Could it be that you have only installed the c and c++ compilers of gcc version 4.9.3 but not the fortran compiler?

Ciao

Florian
Re: Millepede could not be created. [message #19824 is a reply to message #19820] Mon, 31 October 2016 15:13 Go to previous messageGo to next message
Jarok is currently offline  Jarok
Messages: 17
Registered: January 2016
Location: Santiago de Compostela
occasional visitor
From: *usc.es
Hello,

so if I understand you properly the gcc and gfortran should be in the same version...because the fortran compiler is installed and working:

-- The Fortran compiler identification is GNU 5.4.0
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran -- works


Thank you for your answer

Jose
Re: Millepede could not be created. [message #19828 is a reply to message #19804] Mon, 31 October 2016 15:29 Go to previous messageGo to next message
Florian Uhlig is currently offline  Florian Uhlig
Messages: 424
Registered: May 2007
first-grade participant
From: *gsi.de
Hi,

normally gcc knows where to find the gfortran library because this is a build-in path. In your case the gfortran library is installed at a different location. There are now two differen possibilities to solve the problem. Either you install the proper version of gfortran. Then gcc should find the gfortran library during the linking or you define the proper gfortran location in the link command. I would favor the second option because otherwise you have to recompile with the new fortran compiler.

Could you please execute the following command and report the result.

Quote:

gfortran -print-file-name=libgfortran.so


Ciao

Florian
Re: Millepede could not be created. [message #19829 is a reply to message #19828] Mon, 31 October 2016 15:33 Go to previous messageGo to next message
Jarok is currently offline  Jarok
Messages: 17
Registered: January 2016
Location: Santiago de Compostela
occasional visitor
From: *usc.es
The result:

/usr/lib/gcc/x86_64-linux-gnu/5/libgfortran.so
Re: Millepede could not be created. [message #19830 is a reply to message #19804] Mon, 31 October 2016 16:41 Go to previous messageGo to next message
Florian Uhlig is currently offline  Florian Uhlig
Messages: 424
Registered: May 2007
first-grade participant
From: *gsi.de
Hi,

this is okay. Please chenge the following lines in scrips/install_millepede.sh

Quote:

if [ "$platform" = "macosx" ];
then
fortran_filepath=$(gfortran -print-file-name=libgfortran.dylib)
fortran_libdir=$(dirname $fortran_filepath)
mysed "-lgfortran " "-L${fortran_libdir} -lgfortran " Makefile has_slash
fi


to

Quote:

# if [ "$platform" = "macosx" ];
# then
fortran_filepath=$(gfortran -print-file-name=libgfortran.so)
fortran_libdir=$(dirname $fortran_filepath)
mysed "-lgfortran " "-L${fortran_libdir} -lgfortran " Makefile has_slash
# fi


and recompile. I hope that this change will solve your problem.

Ciao

Florian
Re: Millepede could not be created. [message #19831 is a reply to message #19830] Mon, 31 October 2016 19:43 Go to previous messageGo to next message
Jarok is currently offline  Jarok
Messages: 17
Registered: January 2016
Location: Santiago de Compostela
occasional visitor
From: *76.60.213.dynamic.reverse-mundo-r.com
Hello again.

Unfortunately I still get the same problem Sad

Jose
Re: Millepede could not be created. [message #20774 is a reply to message #19831] Tue, 28 March 2017 19:33 Go to previous messageGo to next message
Dmitry Blau is currently offline  Dmitry Blau
Messages: 1
Registered: February 2017
occasional visitor
From: *pppoe.spdop.ru
It seems that in Ubuntu gcc-4.9 there is no gfortran installed by default, only in gcc-5. It should be manually installed
sudo apt-get install gfortran-4.9
Than compilation works.
Re: Millepede could not be created. [message #20778 is a reply to message #20774] Tue, 28 March 2017 19:42 Go to previous message
Florian Uhlig is currently offline  Florian Uhlig
Messages: 424
Registered: May 2007
first-grade participant
From: *unity-media.net
Why do you choose specific versions of the packages. Normally you do

sudo apt-get install gcc g++ gfortran

Please check the DEPENDENCIES file in the FairSoft source directory.
Previous Topic: install_cmake.sh script does not recognize installed cmake correctly
Next Topic: FairSoft not compiling due to gfortran problems in mac OS
Goto Forum:
  


Current Time: Mon Nov 25 05:56:53 CET 2024

Total time taken to generate the page: 0.00784 seconds