kernsuite / packaging

Use this repository to report issues with packages or request new packages
13 stars 4 forks source link

Add latest obit #222

Open gijzelaerr opened 4 years ago

gijzelaerr commented 4 years ago

from https://github.com/bill-cotton/Obit

gijzelaerr commented 4 years ago

A google document containing a successful compile story can be found here:

https://docs.google.com/document/d/1hhvQkOIKC--RwrAmTJmXzonTv8D0ZwRURxGA7fJuWmU/edit?usp=sharing

The biggest issue seems to be the GSL 1.16 requirements. I managed to get a 1.16 Debian package forwardported:

https://salsa.debian.org/edd/gsl/-/tree/debian/1.16+dfsg-4

gijzelaerr commented 4 years ago

If I clone the GitHub repository on a system with all requirements installed and run

./configure --without-plplot --without-wvr

in

ObitSystem/Obit

The software compiles until:

ranlib libObit.a
make[1]: Leaving directory '/home/gijs/Work/Obit/ObitSystem/Obit/lib'
cd python; make
make[1]: Entering directory '/home/gijs/Work/Obit/ObitSystem/Obit/python'
Makefile:103: warning: overriding recipe for target 'Obit'
Makefile:84: warning: ignoring old recipe for target 'Obit'
make[1]: *** No rule to make target '../lib/libObit.so', needed by 'Obit'.  Stop.
make[1]: Leaving directory '/home/gijs/Work/Obit/ObitSystem/Obit/python'
make: *** [Makefile:106: pythonupdate] Error 2

To me, it looks like the obit library is compiled statically, but the python specific Makefile logic doesn't pick this up and expects a shared library. This is probably a bug in the autoconf logic, but I can't figure out where exactly, I'm using cmake mostly these days and my autoconf became too rusty.

I've tried to find a flag to trigger a shared library build (--enable-shared?) but that doesn't seem to exist. I also tried to disable the python module building but that doesn't result in success either.

if you know what is going wrong please let me know :)

gijzelaerr commented 4 years ago

running make shared in Obit\lib helps!

gijzelaerr commented 2 years ago

there seems to be an update of the jive build of obit: http://www.jive.nl/parseltongue/releases/

Athanaseus commented 2 years ago

I'm getting the following (even after installing pkg-config & autoconf).

dh build --with autoreconf
   dh_update_autotools_config
   debian/rules override_dh_autoreconf
make[1]: Entering directory '/build/obit-27JUL20a'
aclocal -I m4
autoreconf --install
configure.ac:67: warning: macro 'AM_PATH_PGPLOT' not found in library
configure.ac:53: error: possibly undefined macro: AC_CHECK_FPIC
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:55: error: possibly undefined macro: AC_CHECK_SSE
configure.ac:60: error: possibly undefined macro: AC_PATH_CFITSIO
configure.ac:61: error: possibly undefined macro: AC_PATH_FFTW3
configure.ac:62: error: possibly undefined macro: AC_PATH_FFTW
configure.ac:63: error: possibly undefined macro: AC_PATH_GSL
configure.ac:64: error: possibly undefined macro: AC_PATH_XMLRPC
configure.ac:65: error: possibly undefined macro: AC_PATH_ZLIB
configure.ac:66: error: possibly undefined macro: AC_PATH_PLPLOT
configure.ac:67: error: possibly undefined macro: AM_PATH_PGPLOT
configure.ac:68: error: possibly undefined macro: AC_PATH_PYTHON2_5
configure.ac:69: error: possibly undefined macro: AC_PATH_WVR

Any idea? Running the autoreconf --install command manually without debuild works.

gijzelaerr commented 2 years ago

maybe @haavee has an idea?

haavee commented 2 years ago

Hi all, no I don't have an idea, sorry. For Obit build related questions I think it's better to ask @kettenis.

kettenis commented 2 years ago

Well, the "jive build" of Obit is deliberately stripped down to avoid all sorts of build problems. But it only provides a basic Obit python module for use with ParselTongue. All Obit tasks have been removed.

Packages for most Ubuntu releases are available in my PPA:

https://launchpad.net/~kettenis-w/+archive/ubuntu/parseltongue

The package for Python 3 is called python3-obit.

Patches to make things build can be found in the relevant package files, e.g. https://launchpad.net/~kettenis-w/+archive/ubuntu/parseltongue/+sourcefiles/python3-obit/27JUL20-1ubuntu1ppa1~hirsute1/python3-obit_27JUL20-1ubuntu1ppa1~hirsute1.debian.tar.xz

That may give you some clues to get things to build. But as I said the "jive build" is only a partial build so this probably doesn't fix all issues with building the full Obit on something that isn't an ancient RHEL.

Athanaseus commented 2 years ago

Hi @kettenis thank you for the information it helped. I successfully built obit and python3-obit. (I also tried installing the version from your PPA)

How do I go about testing if it works after installation (I never used obit before and I find the documentation not straightforward)?