configure: error: caltools not found (should be part of headas)!

eSASS download and installation
Post Reply
MattImbr
Posts: 6
Joined: Mon Feb 27, 2023 3:25 pm

configure: error: caltools not found (should be part of headas)!

Post by MattImbr »

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?
User avatar
AlainGueguen
Posts: 36
Joined: Mon Jun 28, 2021 12:06 pm

Re: configure: error: caltools not found (should be part of headas)!

Post by AlainGueguen »

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?

Code: Select all

source $HEADAS/headas-init.sh
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 :

Code: Select all

configure:21336: result: -lfftw3
Alain on behalf of the eSASS team
MattImbr
Posts: 6
Joined: Mon Feb 27, 2023 3:25 pm

Re: configure: error: caltools not found (should be part of headas)!

Post by MattImbr »

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:1819: 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:1890: 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?
User avatar
AlainGueguen
Posts: 36
Joined: Mon Jun 28, 2021 12:06 pm

Re: configure: error: caltools not found (should be part of headas)!

Post by AlainGueguen »

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 :

Code: Select all

which gfortran 

Code: Select all

gfortran –version
2) could you try to locate the file libgfortran.so (or any libgfortran*.so.*)
You probably could do this with

Code: Select all

Locate libgfortran 
or

Code: Select all

find ./ -name “libgfortran*”
(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
glisrael
Posts: 1
Joined: Wed Feb 15, 2023 8:03 am

Re: configure: error: caltools not found (should be part of headas)!

Post by glisrael »

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:1819: 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 !
User avatar
AlainGueguen
Posts: 36
Joined: Mon Jun 28, 2021 12:06 pm

Re: configure: error: caltools not found (should be part of headas)!

Post by AlainGueguen »

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

Code: Select all

autoreconf -fi 
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
Post Reply