Opened 13 years ago

Closed 13 years ago

Last modified 11 years ago

#6563 closed defect (fixed)

[with spkg, positive review] Singular fails to install header files, since it fails to find install-sh

Reported by: David Kirkby Owned by: tbd
Priority: major Milestone: sage-4.1.1
Component: build Keywords: solaris
Cc: Martin Albrecht Merged in: Sage 4.1.1.alpha1
Authors: David Kirkby Reviewers: Minh Van Nguyen
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

singular-3-1-0-2-20090620 appeared to install on a Solaris machine, with the file $SAGE_HOME/spkg/installed/singular-3-1-0-2-20090620 existing.

However, it was later realised that some of the singular header files were not copied to $SAGE_HOME/local/include/singular. Closer inspection of the install.log showed:

make[1]: Entering directory 
`/export/home/drkirkby/sage/sage-4.1/spkg/build/singular-3-1-0-2-20090620/src/kernel'
./mkinstalldirs /export/home/drkirkby/sage/sage-4.1/local/include/singular
for file in *.h; do ../.././install-sh -c $file 
/export/home/drkirkby/sage/sage-4.1/local/include/singular; done
/bin/sh: ../.././install-sh: not found
/bin/sh: ../.././install-sh: not found
/bin/sh: ../.././install-sh: not found
/bin/sh: ../.././install-sh: not found
/bin/sh: ../.././install-sh: not found
/bin/sh: ../.././install-sh: not found
/bin/sh: ../.././install-sh: not found
/bin/sh: ../.././install-sh: not found
/bin/sh: ../.././install-sh: not found

Changing to the directory `/export/home/drkirkby/sage/sage-4.1/spkg/build/singular-3-1-0-2-20090620/src/kernel' and doing an 'ls' of ../.././ I see that it got me to the root directory of the singular installation - by that I mean where spkh-install, SPKG.txt etc exist.

Copying install-sh to there solved the problem.

Willem Jan Palenstijn said on sage-devel:

If I understand things correctly, this is what happens: when src/Singular/config.status outputs ../kernel/Makefile, it interprets the two slashes in that path as the output file being two subdirectories down from Makefile, and so adjusts (the correct) './install.sh' (i.e., actually src/Singular/install-sh) to (the broken)

'../.././install.sh' .

The reason this doesn't show up on my system (and presumably other systems) is that /usr/bin/install (with an absolute path) is found and used instead of ./install.sh.

[actually, the missing file is install-sh, not install.sh]

Whatever may or may not be the real reason for this, the simplest solution is to simply copy install-sh to the top level directory. I know it's not normal to do it this way, but it might be the quickest. I've created a patch based on doing just that.

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/singular-3-1-0-2-20090620.p0/

The actual .spkg file is:

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/singular-3-1-0-2-20090620.p0/singular-3-1-0-2-20090620.p0.spkg

It should be noted there are about 10-15 identical copies of the file in the source distribution! Perhaps someone before had trouble find the file.

So far this has only been seen on Solaris I believe. but is clearly not specifically a Solaris bug.

Dave

Change History (4)

comment:1 Changed 13 years ago by Minh Van Nguyen

I've checked in all changes in your name. The updated SPKG is up at

http://sage.math.washington.edu/home/mvngu/patch/singular-3-1-0-2-20090620.p0.spkg

comment:2 Changed 13 years ago by Minh Van Nguyen

Summary: [with patch; needs review] Singular fails to install header files, since it fails to find install-sh[with spkg, needs review] Singular fails to install header files, since it fails to find install-sh

comment:3 Changed 13 years ago by Minh Van Nguyen

Merged in: Sage 4.1.1.alpha1
Resolution: fixed
Reviewers: Minh Van Nguyen
Status: newclosed
Summary: [with spkg, needs review] Singular fails to install header files, since it fails to find install-sh[with spkg, positive review] Singular fails to install header files, since it fails to find install-sh

The SPKG at

http://sage.math.washington.edu/home/mvngu/patch/singular-3-1-0-2-20090620.p0.spkg

builds OK on the machine t2 running Solaris. (It also compiles on Linux.)

comment:4 Changed 11 years ago by Jeroen Demeyer

Cc: Martin Albrecht added
Report Upstream: N/A

Did this ever get reported upstream? Just wondering whether the fix is still needed today (making a new Singular spkg at #12137).

This quote from the description really made me laugh:

It should be noted there are about 10-15 identical copies of the file in the source distribution! Perhaps someone before had trouble find the file.

So many copies but still not enough...

Note: See TracTickets for help on using tickets.