Apache OpenOffice (AOO) Bugzilla – Issue 25475
W32-tcsh breaks in scp/source/javafilter
Last modified: 2004-04-19 16:54:15 UTC
The build of cws_src680_ooo20040225 breaks in scp/source/javafilter with: ------------------------------ Making: ../../wntmsci8.pro/par/fam/basic_javafilter.par cpplcc -+ -P -I. -I. -I../inc -I../../inc -I../../WIN/inc -I../../wntmsci8.pro/inc -I. -I/cygdrive/d/v1/cws_src680_ooo20040225/solver/680/wntmsci8.pro/inc/stl -I/cygdrive/d/v1/cws_src680_ooo20040225/solver/680/wntmsci8.pro/inc/external -I/cygdrive/d/v1/cws_src680_ooo20040225/solver/680/wntmsci8.pro/inc -I/cygdrive/d/v1/cws_src680_ooo20040225/solenv/wntmsci8/inc -I/cygdrive/d/v1/cws_src680_ooo20040225/solenv/inc -I/cygdrive/d/v1/cws_src680_ooo20040225/res -I/cygdrive/d/v1/cws_src680_ooo20040225/solver/680/wntmsci8.pro/inc/stl -I/cygdrive/c/j2sdk1.4.1_02/include/win32 -I/cygdrive/c/j2sdk1.4.1_02/include -I'/cygdrive/C/Programme/Microsoft SDK/include' -I/cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/include -I. -I../../res -I. -DFAM_PRODUCT -DWNT -DWNT -DNT351 -DMSC -DM1300 -DINTEL -D_USE_NAMESPACE -D_X86_=1 -DFULL_DESK -DSTLPORT_VERSION=400 -DWINVER=0x400 -D_WIN32_IE=0x400 -D_MT -DCPPU_ENV=msci -DSUPD=680 -DBUILD=8741 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_OFF -DCUI -DSOLAR_JAVA -DSRC680 -DWITHOUT_MOZILLA -DSCP_DATESTRING=13022004 -DUDK_MAJOR=3 -DUDK_MINOR=1 -DUDK_MICRO=0 -DOFFICEUPD=680 -UMSC -DCOMID=MSC -DCOMNAME=msci -D_MSC -DCCNUMVER=001300009466 -DDLLSUFFIX=mi basic_javafilter.scp > ../../wntmsci8.pro/misc/fam/basic_javafilter.pre cpp version 17.8.1999 /bin/perl /cygdrive/d/v1/cws_src680_ooo20040225/solenv/bin/pre2par.pl -s ../../wntmsci8.pro/misc/fam/basic_javafilter.pre -o ../../wntmsci8.pro/par/fam/basic_javafilter.par pre2par -s ../../wntmsci8.pro/misc/fam/basic_javafilter.pre -o ../../wntmsci8.pro/par/fam/basic_javafilter.par *************************************************************** Error: Could not create directory: in function: create_directory Saved logfile: logfile.log *************************************************************** dmake: Error code 255, while making '../../wntmsci8.pro/par/fam/basic_javafilter.par' echo: No match. ERROR: Error 65280 occurred while making /cygdrive/d/v1/cws_src680_ooo20040225/scp/source/javafilter dmake: Error code 1, while making 'build_all' echo: No match. -------------------------------------------------- I bet that there are some 4NTisms used in that perl script.
of @ mh: Please have a look.
Hi, there is not much that can go wrong in the perl script pre2par. But of course this is the first time we use this new scp tooling. Some questions: Is this the first call of pre2par or are there successful calls before? Is there already the output directory in your scp project (../../wntmsci8.pro/par/fam) or does the script has to create the output directory? My first idea is, that you do not have enough access rights in the output directory of scp or that this disk is full.
OK, here comes some debugging info, the line: pre2par::directory::check_directory($pre2par::globals::parfilename); in solenv/bin/pre2par.pl fails. The value of $pre2par::globals::parfilename is: ../../wntmsci8.pro/par/osl/python.par The logfile.log says: *************************************************************** Error: Could not create directory: -----------------------------------^ No! in function: create_directory *************************************************************** So somehow we loose the parameter. I was in the middle of writing this as your comment arrived, I'll address it: > Some questions: > Is this the first call of pre2par or are there successful calls before? Yes, first call. > Is there already the output directory in your scp project > (../../wntmsci8.pro/par/fam) or does the script has to create the output > directory? No, has to be created. > My first idea is, that you do not have enough access rights in the output > directory of scp or that this disk is full. The disc has plenty of space, I'll look into the rights issue.
Ok, in sub check_directory in directory.pm the following line pre2par::pathanalyzer::get_path_from_fullqualifiedname(\$productdirectory); changes $productdirectory from "../../wntmsci8.pro/par/osl/python.par" to "". I still bet on something "/" vs. "\" related ;-)
I found this as root of the problem in par2script/globals.pm: if ( $plat =~ /win/i ) { $separator = "\\"; $pathseparator = "\;"; $isunix = 0; $iswin = 1; } else { $separator = "/"; $pathseparator = "\:"; $isunix = 1; $iswin = 0; } Brrrr, ^O gives "cygwin" for the cygwin perl and "MSWin32" for ActiveState perl. Can someone please explain for which purpose $isunix or $iswin are used? Is it OK for w32-tcsh to use $isunix = 1? What is pre2par supposed to do?
Errm for this error it is pre2par/globals.pm.
Created attachment 13121 [details] Patch for solenv/bin/modules/.../globals.pm
With the previous patch scp builds completely with w32-tcsh, but does it do the right thing(TM) ?
reassigned to is for review.
Absolutely correct to fix this in globals.pm. To check if ( $plat =~ /win/i ) is obviously not sufficient, because of "darwin" and "cygwin". Sorry, this was my error. This has also to be fixed in globals.pm of par2script.
Fixed in globals.pm of pre2par and par2script in cws scp2fix1
Verified.
Closing this task