Apache OpenOffice (AOO) Bugzilla – Issue 5472
OO638C_MacOSX/aqua: lzip doesn't successfully call scpzip
Last modified: 2004-03-25 04:21:33 UTC
The problem in scptools/source/linker/lzip.cxx: ByteString aSysCmd( "scpzip" ); for( i = 0; i < m_nCmd; ++i ) { aSysCmd += ' '; aSysCmd += m_ppCmd[i]; } ---> system( aSysCmd.GetBuffer() ); The system() call for the Quartz build has problems calling 'scpzip'. It returns status WIFSIGNALED=true (in sys/wait.h), signal #10 (SIGBUS). Test 1) calling simply system("lzip") returns the same thing. Test 2) calling system("grep") works CORRECTLY. Test 3) copying scpzip to /scpzip, and calling system("/scpzip") works CORRECTLY. Test 4) setting: ByteString aSysCmd( "scpzip" ) to ByteString aSysCmd ( "/Developer/OpenOffice/aqua_oo638c_macosx/solver/638/unxmacxp.pro/bin/scpzip" ) also WORKS. It seems to me that the problem with the Quartz build of lzip is that paths are messing up system(). When the full path to scpzip is specified, system() has correct behavior. When simply "scpzip" is passed, system() returns SIGBUS. The following patch gets the environment variable STAR_RESOURCEPATH which should be the directory that scpzip is in, and calls system() with the full path to scpzip. 'cd' to SRC_ROOT/scptools, patch -p0 < patch-file-here, build, deliver, then go to instsetoo/ and build, deliver. ----NOTE: This is a hack, not a patch really. It covers up the problem and avoids it, but we should probably fix the real problem with system() and sh instead.
Created attachment 1829 [details] 'cd' to SRC_ROOT/scptools, patch -p0 < patch-file-here, build, deliver, then go to instsetoo/ and build, deliver.
Should really go to Ed. Forgot when creating.
committed to OO638C_MacOSX branch
forgot to change status with last commit :)
close issue.