Hi Christopher,
Thank you very much, the outputs were really helpful and after following
each step much more closely I think I was able to find the problem. Could
you try `make check' (everything set as default) on the tarball below:
https://cral.univ-lyon1.fr/labo/perso/mohammad.akhlaghi/gnuastro-0.2-poss
ible-fix.tar.gz (will be removed after this bug is fixed.)
If I am correct, the problem was caused by a bad call to WCSLIB's
`wcsp2s' function in the `wcscheckprepare' function of
`bin/imgcrop/wcsmode.c'. The `status' variable should actually have been
an array, not a single value. So WCSLIB was writing values in regions of
memory that it thought belong to this array. But in fact, these regions
had information of the other constructs, so after WCSLIB changed them you
get a segmentation error.
To be honest, I am surprized how other compilers (or your compiler in
non-optimized mode) hadn't caught this error. But I hope this is the
solution ;-).
Thanks again,
Mohammad
On 12/02/2016 12:25 PM, Christopher Willmer wrote:
Hello Mohammad,
I downloaded the tar file you made into a separate directory and ran
configure with
./configure --prefix=/home/cnaw/bin LDFLAGS=-L/home/cnaw/bin/lib
CPPFLAGS=-I/home/cnaw/bin/include
and then
make -j4
I did three runs of make check;
In the first run (test-suite_org.log) I used the scripts as they came.
For
the second run I edited the 3 scripts that fail by adding the valgrind
command (test-suite_valgrind.log)
valgrind --leak-check=full --show-reachable=yes $execname ...
and the third (test-suite_valgrind_minus_v.log)
valgrind -v --leak-check=full --show-reachable=yes $execname ...
Hopefully this will be useful
Cheers,
Christopher