Hello,
Thanks in advance for any help you can give me with this. I've posted this issue in this subject but it may well be related to the setup of the docker and can move it to a different topic area, if more appropriate.
Having been unable to download and install the full eSASS setup, I'm currently trying to use the eSASS docker container version on my Ubuntu Linux machine (OS = Ubuntu 20.04.02 LTS, 64-bit). I believe I've mounted the docker correctly with:
sudo docker run --volume /path/to/directory/containing/fits/event/file -it --rm erosita/esass:latest /bin/bash
I'm trying to extract data products from a CalPV observation. Within the docker, I can see and enter the host event file directory - which suggests to me it is correctly mounted (hopefully). However, when I run:
srctool eventfiles="pm00_300011_020_EventList_c001.fits" exttype="POINT" srccoord="fk5;359.4625,-32.6231" todo="LC LCCORR"
I get the following readout and error message:
srctool/srctool: Initialising data structures
srctool: eSASS4EDR Sep 02 09:43:31 2021
srctool/srctool: Interpreting input parameters
srctool/srctool: Reading in eventfile(s)
srctool/srctool_evtlist_read_from_file: **ERROR3** FITSIO error (status=108): error reading from FITS file
srctool/srctool_evtlist_read_evtlists_f: **ERROR3** Problem reading evtlist from file: pm00_300011_020_EventList_c001.fits
srctool/srctool: **STOP** Error reading input events tables: pm00_300011_020_EventList_c001.fits
srctool: FAILED
Am I not implementing the source tool correctly? Or do I need to do something to the event file before doing this for it to work? Or have I missed something and it's a problem with the mounting of the docker, so srctool cannot access the fits file properly?
All the best,
Duncan MacKenzie
Problem Reading Event List from file in Docker Container version
-
- Posts: 4
- Joined: Thu Jul 08, 2021 11:15 am
-
- Posts: 24
- Joined: Wed Jun 23, 2021 11:46 am
Re: Problem Reading Event List from file in Docker Container version
Dear Duncan,
Thanks for contacting us!
1.- Could you tell us what kind of trouble you encounter to download and install eSASS on your Linux machine? Perhaps we can help you with that and you may get a running eSASS on your Ubuntu system.
2.- Have you checked the event file permissions? Such that Docker is able to access and read the file.
Best wishes,
Miriam
Thanks for contacting us!
1.- Could you tell us what kind of trouble you encounter to download and install eSASS on your Linux machine? Perhaps we can help you with that and you may get a running eSASS on your Ubuntu system.
2.- Have you checked the event file permissions? Such that Docker is able to access and read the file.
Best wishes,
Miriam
-
- Posts: 4
- Joined: Thu Jul 08, 2021 11:15 am
Re: Problem Reading Event List from file in Docker Container version
Dear Miriam,
Thanks for getting back to me.
1. The problem is when I install and configure eSASS. At the step where I run the ./configure script inside the autoconf directory, I receive the following error message:
checking for library containing sin... no
configure: error: No math library found!
At this step, I have HEASoft (now working with version 6.29, I think) and have configured and "made" Healpix_3.50. But, I will say that sometimes ./configure does seem to work:
config.status: executing depfiles commands
config.status: executing libtool commands
### CALDB SETUP ###
configure: Shipped caldb will be used
### Installation location: /home/path/to/eROSITA/eSASS/eSASS4EDR ###
But when I then run make I get errors about missing aclocal which I try to fix but it ultimately comes back to the first error at the top of this post.
2. That was my concern. I thought it might be linked to something like that. Even though it seems I can see and get into the event file directory through the docker while it is mounted - I don't know how to make sure it can actually access and work on the file... how can I check the permissions?
All the best,
Duncan
Thanks for getting back to me.
1. The problem is when I install and configure eSASS. At the step where I run the ./configure script inside the autoconf directory, I receive the following error message:
checking for library containing sin... no
configure: error: No math library found!
At this step, I have HEASoft (now working with version 6.29, I think) and have configured and "made" Healpix_3.50. But, I will say that sometimes ./configure does seem to work:
config.status: executing depfiles commands
config.status: executing libtool commands
### CALDB SETUP ###
configure: Shipped caldb will be used
### Installation location: /home/path/to/eROSITA/eSASS/eSASS4EDR ###
But when I then run make I get errors about missing aclocal which I try to fix but it ultimately comes back to the first error at the top of this post.
2. That was my concern. I thought it might be linked to something like that. Even though it seems I can see and get into the event file directory through the docker while it is mounted - I don't know how to make sure it can actually access and work on the file... how can I check the permissions?
All the best,
Duncan
Re: Problem Reading Event List from file in Docker Container version
Dear Duncan
Regarding file permissions you could just check if you are able to open the file by other means - perhaps with ''fold' to read the header or with one of the HEASoft ftools. Also perhaps check if you can write a file into the directory from the container.
So far I have not encountered a case where a mounted directory cannot be read from the container, but you might have found an edge case.
I notice you are starting the docker container with sudo, is that something you need to do from the way the docker client is installed? If so the problem might perhaps be that the owner of the Docker process does not have the same permissions to the data as your own user.
cheers
Jonas
Regarding file permissions you could just check if you are able to open the file by other means - perhaps with ''fold' to read the header or with one of the HEASoft ftools. Also perhaps check if you can write a file into the directory from the container.
So far I have not encountered a case where a mounted directory cannot be read from the container, but you might have found an edge case.
I notice you are starting the docker container with sudo, is that something you need to do from the way the docker client is installed? If so the problem might perhaps be that the owner of the Docker process does not have the same permissions to the data as your own user.
cheers
Jonas
-
- Posts: 4
- Joined: Thu Jul 08, 2021 11:15 am
Re: Problem Reading Event List from file in Docker Container version
Dear Jonas,
Thanks very much. I've just tried writing or creating a simple text file (testing.txt) with cat or touch on the command line from within the docker container at the point within it where it is mounted to my own host directories and got Permission denied.
I fear I might have ended up with an edge case... I have been starting up the docker container with sudo since it was the only way I could get the docker container to start up or initialise, which as you've said is probably needed because of the way I have installed the docker client.
Because of this and what you've said, I've now tried to edit the permissions / change the mode (chmod) on the file so that the owner of the docker process (root user??) has the same permissions on the file as my user - but so far, I'm still getting the same error when I run srctool.
Thanks again for all the help so far.
All the best,
Duncan
Thanks very much. I've just tried writing or creating a simple text file (testing.txt) with cat or touch on the command line from within the docker container at the point within it where it is mounted to my own host directories and got Permission denied.
I fear I might have ended up with an edge case... I have been starting up the docker container with sudo since it was the only way I could get the docker container to start up or initialise, which as you've said is probably needed because of the way I have installed the docker client.
Because of this and what you've said, I've now tried to edit the permissions / change the mode (chmod) on the file so that the owner of the docker process (root user??) has the same permissions on the file as my user - but so far, I'm still getting the same error when I run srctool.
Thanks again for all the help so far.
All the best,
Duncan
- AlainGueguen
- Posts: 36
- Joined: Mon Jun 28, 2021 12:06 pm
Re: Problem Reading Event List from file in Docker Container version
Dear Duncan
about this :
the path looks strange
more important to try to understand better the installation problem:
- what are the messages if you type "aclocal"
- what are the messages if you type "autoreconf -fi"
- could you tel us which compiler you used ? (name / version)
best wishes
Alain
about this :
do you really have /home/path/to/eROSITA/eSASS/eSASS4EDR or did you edit this part ?ADuncanMacK wrote: ↑Thu Nov 11, 2021 10:59 am ### CALDB SETUP ###
configure: Shipped caldb will be used
### Installation location: /home/path/to/eROSITA/eSASS/eSASS4EDR ###
the path looks strange
more important to try to understand better the installation problem:
- what are the messages if you type "aclocal"
- what are the messages if you type "autoreconf -fi"
- could you tel us which compiler you used ? (name / version)
best wishes
Alain
-
- Posts: 4
- Joined: Thu Jul 08, 2021 11:15 am
Re: Problem Reading Event List from file in Docker Container version
Dear Alain,
I'd just edited the name of path to eSASS4EDR. The last three directories appear as they are and the full, correct path is returned to me.
When I type/run make after a seemingly successful configure, I get:
/home/zbhj74/Documents/eROSITA/eSASS/eSASS4EDR/autoconf/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.
I then run aclocal into the terminal without any errors or response, then make:
/home/zbhj74/Documents/eROSITA/eSASS/eSASS4EDR/autoconf/missing: line 81: automake-1.15: command not found
WARNING: 'automake-1.15' is missing on your system.
You should only need it if you modified 'Makefile.am' or
'configure.ac' or m4 files included by 'configure.ac'.
If I then choose to run:
"autoreconf -fi"
"aclocal"
"make"
I go back to the original error:
checking for library containing sin... no
configure: error: No math library found!
make: *** [Makefile:365: config.status] Error 1
I can confirm I haven't directly modified any of those files mentioned. That I know about.
I think the compiler I'm using is g++ 9.3.0
All the best,
Duncan
I'd just edited the name of path to eSASS4EDR. The last three directories appear as they are and the full, correct path is returned to me.
When I type/run make after a seemingly successful configure, I get:
/home/zbhj74/Documents/eROSITA/eSASS/eSASS4EDR/autoconf/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.
I then run aclocal into the terminal without any errors or response, then make:
/home/zbhj74/Documents/eROSITA/eSASS/eSASS4EDR/autoconf/missing: line 81: automake-1.15: command not found
WARNING: 'automake-1.15' is missing on your system.
You should only need it if you modified 'Makefile.am' or
'configure.ac' or m4 files included by 'configure.ac'.
If I then choose to run:
"autoreconf -fi"
"aclocal"
"make"
I go back to the original error:
checking for library containing sin... no
configure: error: No math library found!
make: *** [Makefile:365: config.status] Error 1
I can confirm I haven't directly modified any of those files mentioned. That I know about.
I think the compiler I'm using is g++ 9.3.0
All the best,
Duncan
- AlainGueguen
- Posts: 36
- Joined: Mon Jun 28, 2021 12:06 pm
Re: Problem Reading Event List from file in Docker Container version
Dear Ducan,
could either join the file configure.ac from the autoconf/ folder,
or copy the section from the line 29 to 50 ?
the file config.log can also be useful , could you join it also ?
in the meantime :
The exact sequence of command is not
"autoreconf -fi"
"aclocal"
"make"
but
autoreconf -fi
aclocal
./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
and Heasoft must be initialised, so not only the variable HEADAS must be set but the script headas-init.sh must be sourced :
source $HEADAS/headas-init.sh
could either join the file configure.ac from the autoconf/ folder,
or copy the section from the line 29 to 50 ?
the file config.log can also be useful , could you join it also ?
in the meantime :
The exact sequence of command is not
"autoreconf -fi"
"aclocal"
"make"
but
autoreconf -fi
aclocal
./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
and Heasoft must be initialised, so not only the variable HEADAS must be set but the script headas-init.sh must be sourced :
source $HEADAS/headas-init.sh