Opened 17 years ago
Closed 16 years ago
#1270 closed defect (fixed)
libcfitsio 'make' options need to be 'all,shared'
| Reported by: | welling | Owned by: | eugene |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | DVO | Version: | |
| Severity: | normal | Keywords: | |
| Cc: |
Description
There is a longstanding problem where psbuild fails because libcfitsio is not found during the making of the cfitsio package. The usual work-around has been to add the built lib directory to LDFLAGS before beginning psbuild. I am automating a build process on Odyssey and that fix stopped working for me, probably because of some subshell environment details. I believe I have an easy solution.
pschecklibs does a 'make' followed by a 'make install' when it builds an external lib. For cfitsio the 'make' gets the argument 'shared', which causes a shared lib to be built but not a .a lib. 'make install' causes a .a lib to be built, but it is immediately moved to ${PSCONFDIR} and thus not found by the immediately following build of fpack. The pointer to ${PSCONFDIR} in LDFLAGS was covering this problem.
If 'make' is called as 'make all shared' instead of just 'make shared' the .a lib gets built, and fpack and the other executables get built successfully. Thus changing the tagsets/ipp-2.9.libs line for cfitsio to specify 'all,shared' rather than just 'shared' avoids the problem.
Change History (2)
comment:1 by , 17 years ago
comment:2 by , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
This seems to have fixed the reported issue.
(fix is in r26272)

I have updated the ipp-2.9.libs table as suggested and it seems to work, but a double check on other platforms would be helpful.