Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add latest obit #222

Open
gijzelaerr opened this issue Apr 28, 2020 · 9 comments
Open

Add latest obit #222

gijzelaerr opened this issue Apr 28, 2020 · 9 comments
Milestone

Comments

@gijzelaerr
Copy link
Member

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

@gijzelaerr gijzelaerr added this to the KERN-6 milestone May 13, 2020
@gijzelaerr
Copy link
Member Author

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
Copy link
Member Author

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
Copy link
Member Author

running make shared in Obit\lib helps!

@gijzelaerr
Copy link
Member Author

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

@Athanaseus
Copy link
Collaborator

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
Copy link
Member Author

maybe @haavee has an idea?

@haavee
Copy link

haavee commented Sep 10, 2021

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

@kettenis
Copy link

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
Copy link
Collaborator

Athanaseus commented Jan 13, 2022

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)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants