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

External non-python software dependencies should be removed #3

Open
DaveStrickland opened this issue Feb 21, 2021 · 2 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@DaveStrickland
Copy link
Owner

Currently I'm using external, non-python, tools for image resampling/co-addition and color composite generation, and also adaptive smoothing.

  • Astromatic swarp (resampling/coaddition) and stiff (FITS to rgb image composition), installed via macports (or dnf)
  • Jeremy Sanders' contbin (adaptive S/N-dependent image smoothing), installed via git and compiled locally, and requiring some Makefile modifications to get working.

These are used currently in my driver bash scripts (see Issue #2), not called directly from python. I also can't do exposure maps properly or very easily with swarp without requiring more tools to do FITS image math (e.g. Heasoft farith, fcarith).

These external dependencies make it harder for other potential users to install and use the software, and introduce potential points of software instability. A pure python solution would be more flexible and robust going forward, even if it sacrificed some of the power that these 3rd party non-python tools provide. It would also make it easier to write fully python end-to-end processing scripts that would not need to call subprocess.

@DaveStrickland
Copy link
Owner Author

DaveStrickland commented Jan 31, 2024

Added motivation for moving away from non-pythonic dependencies.

Fedora 39 does not have RPMs for stiff, and the astromatic repo itself only supplies RPMs to Fedora 37. Attempting to clone and build stiff from github eventually fails (after installing dependencies and running autoreconf -f -i) at the build stage.

Error message is multiple definitions of large numbers of functions. Googling shows debian patched the stiff C sources (large number of added extern ...). I'm not sure I want to have to do the same.

@DaveStrickland
Copy link
Owner Author

After looking at the mageia source rpm for stiff I see that they add -fcommon to the CFLAGS. Which allowed me to build stiff from the astromatic github source code:

export GCC
autoreconf -vfi
autoupdate
./configure 'CFLAGS=-O2 -g -fcommon'
make
sudo make install

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

No branches or pull requests

1 participant