While building eSASS on two different computer with different Linux distributions (Ubuntu 20.04 and Fedora 35) we encountered the same error at two different steps:
checking for library containing cbdcma_... no
configure: error: caltools not found (should be part of headas)!
make: *** [Makefile:365: config.status] Error 1
For the Ubuntu we get this error at the make step after the command:
$ ./configure --with-caldb=yes --with-healpix=/<my eSASS path>/external/Healpix_3.50 \
--with-headas=$HEADAS --with-gsl=compile --with-fftw=compile --with-lapack=compile
$ make
On the other hand, with Fedora we get the same error one step before:
$ ./configure --with-caldb=yes --with-healpix=/<my eSASS path>/external/Healpix_3.50 \
--with-headas=$HEADAS --with-gsl=compile --with-fftw=compile --with-lapack=compile
Any suggestions?
P.S.: we have a working docker but we need to work with eSASS locally, is there any way to make it work on either one of these ditributions?
configure: error: caltools not found (should be part of headas)!
- AlainGueguen
- Posts: 36
- Joined: Mon Jun 28, 2021 12:06 pm
Re: configure: error: caltools not found (should be part of headas)!
could you give us more information :
- which version of heasoft are you using ?
and what is the content of the Environment variable HEADAS
- did you actually source it with?
ideally could you copy and paste here 2 section of the file config.log :
the lines starting with
PATH:
and (if it exist in the file ) the block abouit the search for heasoft :
prpobably after a line like :
Alain on behalf of the eSASS team
- which version of heasoft are you using ?
and what is the content of the Environment variable HEADAS
- did you actually source it with?
Code: Select all
source $HEADAS/headas-init.sh
the lines starting with
PATH:
and (if it exist in the file ) the block abouit the search for heasoft :
prpobably after a line like :
Code: Select all
configure:21336: result: -lfftw3
Re: configure: error: caltools not found (should be part of headas)!
Thanks! We had not sourced heasoft. However, we managed to install eSASS only on Ubuntu 20.04. Even after the source command we are having issues with our machine with Fedora 35 and heasoft v6.28. When we source as you suggested we get to the make command and get this new error:
libtool: link: gfortran -I../external/pil -g -O2 -Wall -static-libgfortran -fdollar-ok -fall-intrinsics -std=gnu -fno-automatic -fbounds-check -frange-check -ffixed-line-length-none -ffree-line-length-none -I/soft/eSASS/external/Healpix_3.50/include -fopenmp -W -Wall -Wl,-rpath=/soft/eSASS/external/Healpix_3.50/lib -o radec2xy task/radec2xy/radec2xy_main.o -L/soft/heasoft-6.28/x86_64-pc-linux-gnu-libc2.32/lib -L/soft/eSASS/external/Healpix_3.50/lib ./.libs/libparam.a ./.libs/libradec2xy.a /data/soft/eSASS/eSASS4EDR/autoconf/build/.libs/libparam.a /data/soft/eSASS/eSASS4EDR/autoconf/external/pil/.libs/libpil.a /data/soft/eSASS/eSASS4EDR/autoconf/external/slatec/.libs/libslatec.a /data/soft/eSASS/eSASS4EDR/autoconf/external/dierckx/.libs/libdierckx.a /data/soft/eSASS/eSASS4EDR/autoconf/build/.libs/libsassversion.a ../external/pil/.libs/libpil.a ../external/slatec/.libs/libslatec.a ../external/dierckx/.libs/libdierckx.a ./.libs/libsassversion.a -llapack ../external/lapack/librefblas.a ../external/lapack/liblapack.a ../external/lapack/libtmglib.a -lhealpix -lhdutils_6.28 -lhdio_6.28 -lcaltools_6.28 -lftools_6.28 -lcfitsio.9.3.49 -lxanlib_6.28 -lape_2.9 -lfftw3f /soft/heasoft-6.28/heacore/x86_64-pc-linux-gnu-libc2.32/lib/libgsl.so /soft/heasoft-6.28/heacore/x86_64-pc-linux-gnu-libc2.32/lib/libgslcblas.so -lreadline -lncurses -lm -fopenmp -Wl,-rpath -Wl,/soft/heasoft-6.28/heacore/x86_64-pc-linux-gnu-libc2.32/lib -Wl,-rpath -Wl,/soft/heasoft-6.28/heacore/x86_64-pc-linux-gnu-libc2.32/lib
/usr/bin/ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile radec2xy] Errore 1
make[1]: uscita dalla directory «/data/soft/eSASS/eSASS4EDR/autoconf/build»
make: *** [Makefile:389: all-recursive] Errore 1
It seems that it doesn't find libgfortran. If we install libgfortran-static, however, we get this other error:
gfortran -I../external/pil -g -O2 -Wall -static -static-libgfortran -fdollar-ok -fall-intrinsics -std=gnu -fno-automatic -fbounds-check -frange-check -ffixed-line-length-none -ffree-line-length-none -I/soft/eSASS/external/Healpix_3.50/include -c -o task/srctool/srctool_generic_avign_mod.o task/srctool/srctool_generic_avign_mod.f90
task/srctool/srctool_generic_avign_mod.f90:731:9:
720 | call FTGCVD(unit,colnum_e_min, 1,1,1,huge_real64,avign%e_min, anyf,status)
| 2
......
731 | avign%coeffs(:), anyf,status)
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
task/srctool/srctool_generic_avign_mod.f90:733:9:
720 | call FTGCVD(unit,colnum_e_min, 1,1,1,huge_real64,avign%e_min, anyf,status)
| 2
......
733 | avign%e_sample(:),anyf,status)
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
make[1]: *** [Makefile task/srctool/srctool_generic_avign_mod.o] Errore 1
make[1]: uscita dalla directory «/data/soft/eSASS/eSASS4EDR/autoconf/build»
make: *** [Makefile:389: all-recursive] Errore 1
Any idea on how to solve it?
libtool: link: gfortran -I../external/pil -g -O2 -Wall -static-libgfortran -fdollar-ok -fall-intrinsics -std=gnu -fno-automatic -fbounds-check -frange-check -ffixed-line-length-none -ffree-line-length-none -I/soft/eSASS/external/Healpix_3.50/include -fopenmp -W -Wall -Wl,-rpath=/soft/eSASS/external/Healpix_3.50/lib -o radec2xy task/radec2xy/radec2xy_main.o -L/soft/heasoft-6.28/x86_64-pc-linux-gnu-libc2.32/lib -L/soft/eSASS/external/Healpix_3.50/lib ./.libs/libparam.a ./.libs/libradec2xy.a /data/soft/eSASS/eSASS4EDR/autoconf/build/.libs/libparam.a /data/soft/eSASS/eSASS4EDR/autoconf/external/pil/.libs/libpil.a /data/soft/eSASS/eSASS4EDR/autoconf/external/slatec/.libs/libslatec.a /data/soft/eSASS/eSASS4EDR/autoconf/external/dierckx/.libs/libdierckx.a /data/soft/eSASS/eSASS4EDR/autoconf/build/.libs/libsassversion.a ../external/pil/.libs/libpil.a ../external/slatec/.libs/libslatec.a ../external/dierckx/.libs/libdierckx.a ./.libs/libsassversion.a -llapack ../external/lapack/librefblas.a ../external/lapack/liblapack.a ../external/lapack/libtmglib.a -lhealpix -lhdutils_6.28 -lhdio_6.28 -lcaltools_6.28 -lftools_6.28 -lcfitsio.9.3.49 -lxanlib_6.28 -lape_2.9 -lfftw3f /soft/heasoft-6.28/heacore/x86_64-pc-linux-gnu-libc2.32/lib/libgsl.so /soft/heasoft-6.28/heacore/x86_64-pc-linux-gnu-libc2.32/lib/libgslcblas.so -lreadline -lncurses -lm -fopenmp -Wl,-rpath -Wl,/soft/heasoft-6.28/heacore/x86_64-pc-linux-gnu-libc2.32/lib -Wl,-rpath -Wl,/soft/heasoft-6.28/heacore/x86_64-pc-linux-gnu-libc2.32/lib
/usr/bin/ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile radec2xy] Errore 1
make[1]: uscita dalla directory «/data/soft/eSASS/eSASS4EDR/autoconf/build»
make: *** [Makefile:389: all-recursive] Errore 1
It seems that it doesn't find libgfortran. If we install libgfortran-static, however, we get this other error:
gfortran -I../external/pil -g -O2 -Wall -static -static-libgfortran -fdollar-ok -fall-intrinsics -std=gnu -fno-automatic -fbounds-check -frange-check -ffixed-line-length-none -ffree-line-length-none -I/soft/eSASS/external/Healpix_3.50/include -c -o task/srctool/srctool_generic_avign_mod.o task/srctool/srctool_generic_avign_mod.f90
task/srctool/srctool_generic_avign_mod.f90:731:9:
720 | call FTGCVD(unit,colnum_e_min, 1,1,1,huge_real64,avign%e_min, anyf,status)
| 2
......
731 | avign%coeffs(:), anyf,status)
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
task/srctool/srctool_generic_avign_mod.f90:733:9:
720 | call FTGCVD(unit,colnum_e_min, 1,1,1,huge_real64,avign%e_min, anyf,status)
| 2
......
733 | avign%e_sample(:),anyf,status)
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
make[1]: *** [Makefile task/srctool/srctool_generic_avign_mod.o] Errore 1
make[1]: uscita dalla directory «/data/soft/eSASS/eSASS4EDR/autoconf/build»
make: *** [Makefile:389: all-recursive] Errore 1
Any idea on how to solve it?
- AlainGueguen
- Posts: 36
- Joined: Mon Jun 28, 2021 12:06 pm
Re: configure: error: caltools not found (should be part of headas)!
eSASS was never tested on Fedora since the eSASS team doesn't have any server running this system.
But from the info in your message, I can suggest a few tests without any warranty :
Especially I don't know where exactly Fedora installs the libraries: if not in the same file structure (path ) as for ubuntu, then the LDFLAG definition in the file configure.ac could be incompatible with fedora, So:
Could you send the result of the following commands
1) To be sure of the version and localization of the gfortran compiler :
2) could you try to locate the file libgfortran.so (or any libgfortran*.so.*)
You probably could do this with
or
(could take some time )
If libgfortran is installed and you localized it on your system . have a look at the file configure.ac in autoconf/
After line 220, add a
LDFLAGS="$LDFLAGS -L/path/to/libgfortran/lib "
The path after the -L MUST finish by /lib/
then restart the whole installation form the step
autoreconf -fi
and let us know the result.
regards
Alain, on behalf of the eSASS team
But from the info in your message, I can suggest a few tests without any warranty :
Especially I don't know where exactly Fedora installs the libraries: if not in the same file structure (path ) as for ubuntu, then the LDFLAG definition in the file configure.ac could be incompatible with fedora, So:
Could you send the result of the following commands
1) To be sure of the version and localization of the gfortran compiler :
Code: Select all
which gfortran
Code: Select all
gfortran –version
You probably could do this with
Code: Select all
Locate libgfortran
Code: Select all
find ./ -name “libgfortran*”
If libgfortran is installed and you localized it on your system . have a look at the file configure.ac in autoconf/
After line 220, add a
LDFLAGS="$LDFLAGS -L/path/to/libgfortran/lib "
The path after the -L MUST finish by /lib/
then restart the whole installation form the step
autoreconf -fi
and let us know the result.
regards
Alain, on behalf of the eSASS team
Re: configure: error: caltools not found (should be part of headas)!
Hi,
thanks for your prompt reply. I am the owner of the Laptop with FC35.
Below are the info you requested
I do not have any directory path ending with lib where gfortran libraries are stored
> gfortran --version
GNU Fortran (GCC) 11.3.1 20220421 (Red Hat 11.3.1-3)
Copyright (C) 2021 Free Software Foundation, Inc.
> locate libgfortran
/data/gianluca/.local/lib/python3.8/site-packages/numpy.libs/libgfortran-2e0d59d6.so.5.0.0
/data/gianluca/.local/lib/python3.8/site-packages/scipy.libs/libgfortran-ed201abd.so.3.0.0
/data/gianluca/Software/OAB/dps/NEW_dps/makelibgfortran.sh
/data/gianluca/Software/OAB/dps/NEW_dps/makelibgfortran.sh~
/data/gianluca/stingray/lib/python3.10/site-packages/numpy.libs/libgfortran-040039e1.so.5.0.0
/data/gianluca/stingray/lib/python3.10/site-packages/scipy.libs/libgfortran-040039e1.so.5.0.0
/data/soft/ciao-4.13/ots/lib/libgfortran.so
/data/soft/ciao-4.13/ots/lib/libgfortran.so.3
/data/soft/ciao-4.13/ots/lib/libgfortran.so.3.0.0
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.a
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.la
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.so
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.so.3
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.so.3.0.0
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.spec
/data/soft/ciao-4.13/ots/lib/python3.7/site-packages/numpy/.libs/libgfortran-ed201abd.so.3.0.0
/data/soft/xmmsas_20210317_1624/libextra/libgfortran.so
/data/soft/xmmsas_20210317_1624/libextra/libgfortran.so.5
/data/soft/xmmsas_20210317_1624/libextra/libgfortran.so.5.0.0
/data/soft/xmmsas_20210317_1624/libextra/libgfortran.so.5.0.0_reduced_size
/usr/lib/gcc/x86_64-redhat-linux/11/libgfortran.so
/usr/lib/gcc/x86_64-redhat-linux/11/libgfortran.spec
/usr/lib/gcc/x86_64-redhat-linux/11/32/libgfortran.a
/usr/lib/gcc/x86_64-redhat-linux/11/32/libgfortran.so
/usr/lib64/libgfortran.so.5
/usr/lib64/libgfortran.so.5.0.0
/usr/lib64/julia/libgfortran.so.5
/usr/share/doc/gcc-gfortran/ChangeLog-2002.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2003.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2004.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2005.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2006.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2007.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2008.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2009.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2010.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2011.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2012.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2013.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2014.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2015.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2016.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2017.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2018.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2019.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2020.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog.libgfortran.bz2
I have modified the configure.ac file according to your suggestions with
LDFLAGS="$LDFLAGS -L/usr/lib/gcc/x86_64-redhat-linux/11/32"
and
LDFLAGS="$LDFLAGS -L/usr/lib64"
In both cases I obtained the error already reported yesterday:
/usr/bin/ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile radec2xy] Errore 1
make[1]: uscita dalla directory «/data/soft/eSASS/eSASS4EDR/autoconf/build»
make: *** [Makefile:389: all-recursive] Errore 1
Any other suggestions ?
Thanks !
thanks for your prompt reply. I am the owner of the Laptop with FC35.
Below are the info you requested
I do not have any directory path ending with lib where gfortran libraries are stored
> gfortran --version
GNU Fortran (GCC) 11.3.1 20220421 (Red Hat 11.3.1-3)
Copyright (C) 2021 Free Software Foundation, Inc.
> locate libgfortran
/data/gianluca/.local/lib/python3.8/site-packages/numpy.libs/libgfortran-2e0d59d6.so.5.0.0
/data/gianluca/.local/lib/python3.8/site-packages/scipy.libs/libgfortran-ed201abd.so.3.0.0
/data/gianluca/Software/OAB/dps/NEW_dps/makelibgfortran.sh
/data/gianluca/Software/OAB/dps/NEW_dps/makelibgfortran.sh~
/data/gianluca/stingray/lib/python3.10/site-packages/numpy.libs/libgfortran-040039e1.so.5.0.0
/data/gianluca/stingray/lib/python3.10/site-packages/scipy.libs/libgfortran-040039e1.so.5.0.0
/data/soft/ciao-4.13/ots/lib/libgfortran.so
/data/soft/ciao-4.13/ots/lib/libgfortran.so.3
/data/soft/ciao-4.13/ots/lib/libgfortran.so.3.0.0
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.a
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.la
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.so
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.so.3
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.so.3.0.0
/data/soft/ciao-4.13/ots/lib/gcclibs/libgfortran.spec
/data/soft/ciao-4.13/ots/lib/python3.7/site-packages/numpy/.libs/libgfortran-ed201abd.so.3.0.0
/data/soft/xmmsas_20210317_1624/libextra/libgfortran.so
/data/soft/xmmsas_20210317_1624/libextra/libgfortran.so.5
/data/soft/xmmsas_20210317_1624/libextra/libgfortran.so.5.0.0
/data/soft/xmmsas_20210317_1624/libextra/libgfortran.so.5.0.0_reduced_size
/usr/lib/gcc/x86_64-redhat-linux/11/libgfortran.so
/usr/lib/gcc/x86_64-redhat-linux/11/libgfortran.spec
/usr/lib/gcc/x86_64-redhat-linux/11/32/libgfortran.a
/usr/lib/gcc/x86_64-redhat-linux/11/32/libgfortran.so
/usr/lib64/libgfortran.so.5
/usr/lib64/libgfortran.so.5.0.0
/usr/lib64/julia/libgfortran.so.5
/usr/share/doc/gcc-gfortran/ChangeLog-2002.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2003.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2004.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2005.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2006.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2007.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2008.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2009.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2010.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2011.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2012.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2013.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2014.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2015.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2016.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2017.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2018.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2019.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog-2020.libgfortran.bz2
/usr/share/doc/gcc-gfortran/ChangeLog.libgfortran.bz2
I have modified the configure.ac file according to your suggestions with
LDFLAGS="$LDFLAGS -L/usr/lib/gcc/x86_64-redhat-linux/11/32"
and
LDFLAGS="$LDFLAGS -L/usr/lib64"
In both cases I obtained the error already reported yesterday:
/usr/bin/ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile radec2xy] Errore 1
make[1]: uscita dalla directory «/data/soft/eSASS/eSASS4EDR/autoconf/build»
make: *** [Makefile:389: all-recursive] Errore 1
Any other suggestions ?
Thanks !
- AlainGueguen
- Posts: 36
- Joined: Mon Jun 28, 2021 12:06 pm
Re: configure: error: caltools not found (should be part of headas)!
i see
/data/soft/ciao-4.13/ots/lib/libgfortran.so
so perhaps you could try with this one .
and sorry, i think it would work better to update the line 36 (instead of line 220 as i suggested in a previous message )
LDFLAGS="$LDFLAGS -fopenmp -W -Wall -llapack "
and add here the -L//data/soft/ciao-4.13/ots/lib/ or -L/usr/lib64.
Anyway; it both case it's mandatory to re do the after all modification of the configure.ac
if this doe not work i have no more suggestion, and you should contact someone with more experience in Fedora system administration
/data/soft/ciao-4.13/ots/lib/libgfortran.so
so perhaps you could try with this one .
and sorry, i think it would work better to update the line 36 (instead of line 220 as i suggested in a previous message )
LDFLAGS="$LDFLAGS -fopenmp -W -Wall -llapack "
and add here the -L//data/soft/ciao-4.13/ots/lib/ or -L/usr/lib64.
Anyway; it both case it's mandatory to re do the
Code: Select all
autoreconf -fi
if this doe not work i have no more suggestion, and you should contact someone with more experience in Fedora system administration