ratt-ru / meqtrees-timba

software system for implementing and solving arbitrary Measurement Equations
4 stars 5 forks source link

Use of sys_siglist fails under glibc #75

Closed bennahugo closed 9 months ago

bennahugo commented 10 months ago

It looks like sys_siglist is deprecated, although the documentation is sparse. Replacement seems to be: https://linux.die.net/man/3/strsignal

This is not to do with GCC this time around on Ubuntu 18.04 and GCC 11.4 this compiles - on Ubuntu 22.04 it does not. I will look at putting in macros to make this backward compatible with older systems

[ 16%] Built target dmi
[ 17%] Building CXX object OCTOPUSSY/CMakeFiles/octopussy.dir/src/AID-OCTOPUSSY-Registry.cc.o
[ 17%] Building CXX object OCTOPUSSY/CMakeFiles/octopussy.dir/src/Dispatcher.cc.o
/code/OCTOPUSSY/src/Dispatcher.cc: In static member function 'static void Octopussy::Dispatcher::signalHandler(int, siginfo_t*, void*)':
/code/OCTOPUSSY/src/Dispatcher.cc:64:85: error: 'sys_siglist' was not declared in this scope
   64 |     printf("thread %ld: received signal %d (%s)\n",(long)Thread::self().id(),signum,sys_siglist[signum]);
      |                                                                                     ^~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
make[2]: *** [OCTOPUSSY/CMakeFiles/octopussy.dir/build.make:90: OCTOPUSSY/CMakeFiles/octopussy.dir/src/Dispatcher.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:427: OCTOPUSSY/CMakeFiles/octopussy.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
bennahugo commented 10 months ago

Alright I believe I have this addressed. There is some upstream issues with the lofar stuff in makems I need to properly test this, but Timba is compiling at least with the fix - PR incoming to fix this

bennahugo commented 10 months ago

OK things compile and run through. However there are numerical differences to track down:

======================================================================
ERROR: batch_test.testMeqtreesBatchJob
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/venv/lib/python3.10/site-packages/nose/case.py", line 170, in runTest
    self.test(*self.arg)
  File "/src/pyxis-1.7.4.3/Pyxis/recipes/meqtrees-batch-test/batch_test.py", line 163, in testMeqtreesBatchJob
    verify_image(os.path.join(PACKAGE_TEST_DIR, "WSRT.MS.MODEL_DATA.channel.1ch.fits"),
  File "/src/pyxis-1.7.4.3/Pyxis/recipes/meqtrees-batch-test/batch_test.py", line 53, in verify_image
    raise RuntimeError("%s and %s differ by %g"%(file1,file2,delta));
RuntimeError: /opt/venv/lib/python3.10/site-packages/Pyxis/recipes/meqtrees-batch-test/WSRT.MS.MODEL_DATA.channel.1ch.fits and /opt/venv/lib/python3.10/site-packages/Pyxis/recipes/meqtrees-batch-test/test-refimage.fits differ by 0.00137325

----------------------------------------------------------------------
Ran 1 test in 26.832s

I have pushed changes but this is not quite there yet

bennahugo commented 9 months ago

It seems this is stemming from a non-functional casacore data system now distributed with Ubuntu 22.04. I'm just going to revert back to NRAO-provided data for now.

bennahugo commented 9 months ago

@Athanaseus and I are busy testing the kern-9 releases of casacore against the test suite now. We will debug it further if they fail.