IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Opened 17 years ago

Last modified 16 years ago

#1321 assigned defect

Dynamic shared library libcfitsio not referred to most portably in Mac OS X

Reported by: Michael Wood-Vasey Owned by: eugene
Priority: normal Milestone:
Component: psconfig Version:
Severity: normal Keywords:
Cc:

Description

On Aug 30, 2009, at 16:10 , Michael Wood-Vasey wrote:
My compilation of today's SVN head (r25223) on my Mac Pro (Intel) failed with

---
[serenity ippdb.src] psautogen

You must have installed to compile ippdb.
Download the appropriate package for your distribution,
or get the source tarball at http://ftp.gnu.org/gnu/libtool/
---

Is this a libtool issue?

I installed the distribution version of libtool, and compilation went fine, but now I get missing dylib library errors:

---
[serenity psconfig] ppSub
dyld: Library not loaded: libcfitsio.dylib

Referenced from: /Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/bin/ppSub
Reason: image not found

Trace/BPT trap
[serenity psconfig] echo $CFITSIO
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86
[serenity psconfig] ls /Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/*cfits*
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libcfitsio.a
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libcfitsio.dylib*
[serenity psconfig] echo $LD_LIBRARY_PATH
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib:/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/mysql:/usr/local/lib:/usr/lib:/usr/X11R6/lib:/sw/lib:
[serenity psconfig] otool -D /Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libcfitsio.dylib*
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libcfitsio.dylib:
libcfitsio.dylib
[serenity psconfig] otool -L /Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libcfitsio.dylib
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libcfitsio.dylib:

libcfitsio.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)

[serenity psconfig] otool -L /Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/bin/ppSub
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/bin/ppSub:

/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libppStats.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libpsphot.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libpsmodules.1.dylib (compatibility version 2.0.0, current version 2.1.0)
/Volumes/data/PS1/src/ipp-2.9/Ohana/src/libkapa/lib/libkapa.darwin_x86.dylib (compatibility version 0.0.0, current version 0.0.0)
/Volumes/data/PS1/src/ipp-2.9/Ohana/src/libdvo/lib/libdvo.darwin_x86.dylib (compatibility version 0.0.0, current version 0.0.0)
/Volumes/data/PS1/src/ipp-2.9/Ohana/src/libfits/lib/libFITS.darwin_x86.dylib (compatibility version 0.0.0, current version 0.0.0)
/Volumes/data/PS1/src/ipp-2.9/Ohana/src/libohana/lib/libohana.darwin_x86.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current version 9.0.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libpng12.0.dylib (compatibility version 16.0.0, current version 16.0.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libnebclient-0.17.dylib (compatibility version 0.0.0, current version 0.0.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libpslib.1.dylib (compatibility version 2.0.0, current version 2.1.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/mysql/libmysqlclient.15.dylib (compatibility version 16.0.0, current version 16.0.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
libcfitsio.dylib (compatibility version 0.0.0, current version 0.0.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libfftw3f.3.dylib (compatibility version 4.0.0, current version 4.1.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libgsl.0.dylib (compatibility version 13.0.0, current version 13.0.0)
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib/libgslcblas.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
/usr/lib/libmx.A.dylib (compatibility version 1.0.0, current version 292.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

[serenity psconfig] otool -L /Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/bin/ppSub | grep cfitsio

libcfitsio.dylib (compatibility version 0.0.0, current version 0.0.0)

[serenity lib] pwd
/Volumes/data/PS1/code/ipp-2.9/default.darwin_x86/lib
[serenity lib] ppSub
2009-08-30 21:41:13Z|serenity.phyast.pitt.edu|I|ppSub

ppSub at 2009-08-30T21:41:47.677001

2009-08-30 21:41:13Z|serenity.phyast.pitt.edu|I|ppSub

psLib trunk/psLib@25223M from 60eb6cdc-a59c-4636-a4e0-dba66a9721fd, built Aug 30 2009, 16:14:57 with cfitsio-3.100 gsl-1.11 fftw-3.0.1 mysql-5.0.51a optimised without trace

2009-08-30 21:41:13Z|serenity.phyast.pitt.edu|I|ppSub

psModules trunk/psModules@25223 from 60eb6cdc-a59c-4636-a4e0-dba66a9721fd, built Aug 30 2009, 16:16:22 optimised with nebclient

2009-08-30 21:41:13Z|serenity.phyast.pitt.edu|I|ppSub

psphot trunk/psLib@25223M from 60eb6cdc-a59c-4636-a4e0-dba66a9721fd, built Aug 30 2009, 16:17:12 optimised with libkapa

2009-08-30 21:41:13Z|serenity.phyast.pitt.edu|I|ppSub

ppStats trunk/ppStats@25223 from 60eb6cdc-a59c-4636-a4e0-dba66a9721fd, built Aug 30 2009, 16:16:44 optimised

2009-08-30 21:41:13Z|serenity.phyast.pitt.edu|I|ppSub

ppSub trunk/ppSub@25223 from 60eb6cdc-a59c-4636-a4e0-dba66a9721fd, built Aug 30 2009, 16:19:28 optimised

Pan-STARRS PSF-matched image subtraction

Usage: ppSub OUTPUT_ROOT

[-psf REFERENCE.psf.fits]

This subtracts the convolved REFERENCE from the INPUT, by default.

Optional arguments, with default values:

RECIPES OPTIONS -inimage () Input image
-inmask () Input mask image
-invariance () Input variance image
-insources () Input source list
-refimage () Reference image
-refmask () Reference mask image
-refvariance () Reference variance image
-refsources () Reference source list
-kernel () Precalculated kernel to apply
-stats () Statistics file
-stamps () Stamps filename; x,y on each line
-threads (0) Number of threads
-dumpconfig () file to dump configuration to
-convolve (0) Image to convolve [1 or 2]
-photometry (FALSE) Perform photometry?
-inverse (FALSE) Generate inverse subtractions?
-visual (FALSE) Show diagnostic plots

---

So I think my concern is that 'libcfitsio.dylib' is not fully specified in the ppSub executable and it's not in the default dynamic library paths. See the helpful post at

http://lists.apple.com/archives/xcode-users/2009/Aug/msg00165.html

for some details on how this works. You can muck around with environment variables to try to help find dylib paths, but that actually tends to cause problems when loading just normal programs. It's my understanding that the "correct" thing to do is install the dynamic library with the path of:

@executable_path/../lib/libcfitsio.dylib

In the ideal world this makes the directory completely portable. You can just move the directory around and all the paths are still find. This is how Mac OS X handles application bundles.

Change History (1)

comment:1 by eugene, 16 years ago

Component: buildpsconfig
Owner: changed from Paul Price to eugene
Status: newassigned
Note: See TracTickets for help on using tickets.