GALFIT package make failed

The source code of galfit is here maybe someone can write a pkgfile for that and put it in the AUR.

"Contact me if yours is not in one of them and we'll find a solution."
The website says this, so I contact the author at chien.y.peng@gmail.com.
"Please follow README.INSTALL to compile."
But now when I typed:

gunzip galfit-version-number.tar.gz
tar xvf galfit-version-number.tar
cd galfit/cfitsio
./configure
make
cd ..
make

It says:

/usr/bin/ld: search_min.o:(.bss+0x0): multiple definition of `pfunc'; galfit.o:(.bss+0x4d8): first defined here
/usr/bin/ld: search_min.o:(.bss+0x40): multiple definition of `input'; galfit.o:(.data+0x20): first defined here
/usr/bin/ld: LevMar.o:(.bss+0x0): multiple definition of `input'; galfit.o:(.data+0x20): first defined here
/usr/bin/ld: menu.o:(.bss+0x0): multiple definition of `totnobj'; read_input.o:(.bss+0x0): first defined here
/usr/bin/ld: errorcheck.o:(.bss+0x0): multiple definition of `pfunc'; galfit.o:(.bss+0x4d8): first defined here
/usr/bin/ld: shift_psf.o:(.bss+0x8): multiple definition of `cg'; search_min.o:(.bss+0x8): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:79: redhat] Error 1

1 Like

Did they define any versions for the build tools needed?

Manjaro (and Arch) uses about the newest, so the code needs to be GCC 10 compatible. And as far as I can see, their latest binary release was in 2013 (8 years ago)…

No, you can see its README.INSTALL:


To install GALFIT, do the following:

(For WinXP/Cygwin, see README.INSTALL-Cygwin.)

1.  put galfit.tar.gz into the directory where you normally store all your
    source code, and "cd" into that directory.  Below, I'll assume that the
    directory is ~/src.  If it doesn't exist, simply create one.

2.  gunzip galfit-version-number.tar.gz

3.  tar xvf galfit-version-number.tar

-- The next 4 steps assume you do not have CFITSIO already installed.  If you
   already have CFITSIO, you should modify the Makefile in the "galfit"
   directory, and set the CFITSIO parameter to your CFITSIO directory.  GALFIT
   will work with the cfitsio package included in the same tar file, but I
   don't know if it works with other older or newer versions.

4.  cd galfit/cfitsio

5.  ./configure

6.  make  (wait for it to finish, then)

7.  cd ..

8.  For MacOS X do:

    	make macosx

	In MacOS Catalina, If you try to run galfit and there's an error about rpath, then do:

	  install_name_tool -add_rpath /FULL_PATH_TO_GALFIT_SOURCE_CODE_DIRECTORY/cfitsio/ galfit

	For example, I have galfit under in my '~/src/galfit3.0.7b' directory, so:

	  install_name_tool -add_rpath ~/src/galfit3.0.7b/cfitsio/ galfit


    For Redhat linux, do:

        make

    or  
	make redhat

    For sun/solaris operating system (if experiencing CFITSIO "floatdisf"
    or "floatdidf" symbol problems, see comments below), do:

        make sun

    For Suse linux, do:

	make suse



9.  The executable is called "galfit" in the ~/src/galfit/
    directory.  So either make a link or alias to it by:

        alias galfit "~/src/galfit/galfit"
    or
        ln -s ~/src/galfit/galfit

    in a directory where you store all your executable files.

Done!


In the galfit source directory, I prepared a "Quick Start" document called
README.pdf which will hopefully get new users started quickly on fitting.  A
template file called EXAMPLE.INPUT can be copied and modified as needed, and
fed into GALFIT.

In Mac OS X, if you want to use the interaction window (i.e. Option O = both),
you need to run GALFIT under X11.  Otherwise, if you don't have X11 installed,
set Option O) to "regular".

Any problems or questions, feel free to email: cyp@nrc-cnrc.gc.ca
or call (Canada):  (520) 363 - 0024.

Yeah, that readme is pretty scarse, regarding dependencies.

PS: Are you sure you are allowed to share the source code, according to their license?
I’m asking because I don’t know how the software is licensed.
Only thing I found was:

Can you manage its dependencies from its error message?

In fact, as GALFIT provides only deb and rpm packages, I am forced to use Kubuntu now.

1 Like

Uh… you are aware that there are a lot of proprietary packages on AUR that are deb packages that are converted and rebuilt for Arch / Manjaro on your system right?

For example, Spotify

source_x86_64=("${pkgname}-${pkgver}-x86_64.deb::http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${pkgver}.${_commit}-${_ver_x86_64}_amd64.deb"
               "${pkgname}-${pkgver}-x86_64-Packages::http://repository.spotify.com/dists/stable/non-free/binary-amd64/Packages")

You could just look up on how to convert a deb package for Manjaro or ask for help… Heck, you can also be an AUR package maintainer for this specific package as well, which helps you and others.

Or contact the dev… because on their website it says:

the operating systems below represent only those to which I have access. Contact me if yours is not in one of them and we’ll find a solution.

You can see on the website it doesn’t provide .deb or .rpm package but a executable file. If we install

pamac install ncurses5-compat-libs lib32-ncurses5-compat-libs

it can use in Manjaro too. So I can use Manjaro now.

GALFIT Version 3.0.5 -- Apr. 23, 2013

Enter template file name: galfit.feedme
1 Like

Not according to the website:

Due to the use of several copyrighted algorithms embedded in GALFIT, the source code itself currently cannot be made publicly available.

No, but it seems you already did.

Please do not post the source code link again, I’ve removed it in the other thread and moved your posts here. Continue troubleshooting with the developer via email as he asked.

The author send me a version that can be compiled successfully by gcc-10.2.0-6 gdb-10.1-4 make-4.3-3 on Manjaro 21.0

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.