Issue 21042 - project smoketest does not build under cygwin/tcsh
Summary: project smoketest does not build under cygwin/tcsh
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: OOo 1.1
Hardware: PC Windows 2000
: P3 Trivial (vote)
Target Milestone: OOo 1.1.1
Assignee: kurt.zenker
QA Contact: issues@tools
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-11 07:22 UTC by simonbr
Modified: 2004-02-27 13:00 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description simonbr 2003-10-11 07:22:32 UTC
I was looking to see what the smoketest project is about, but the results
of building it in tcsh are not very impressive:
 
 [Simon@max ...oo_11rc5_src/smoketest]$ build
 build -- version: 1.86
 
 /cygdrive/c/oo_11rc5_src/smoketest
 mkout -- version: 1.3
 ------------------------------
 Making: ./wntmsci9.pro/misc/t1.dpc
 dmake subdmake=true  -f makefile.mk  depend=t ALLDPC
 ------------------------------
 No Dependencies
 -------------
 smoketest -- version: 1.8
 can't open solarfile
 /cygdrive/c/oo_11rc5_src/smoketest\wntmsci9.pro\misc\respon
 se_fat.new at smoketest.pl line 545.
 dmake:  Error code 2, while making 'make_test'
 echo: No match.
 
 ERROR: Error 65280 occurred while making /cygdrive/c/oo_11rc5_src/smoketest

According to Volker: "Yes, the usual problem. Cygwin path for windows binary -> 
guw.pl missing in the right places."
Comment 1 quetschke 2003-10-14 08:30:52 UTC
Sorry, really no time at the moment.
Comment 2 quetschke 2003-10-20 17:23:37 UTC
OK, I analyzed the problem a bit.

I was totally wrong, the problem is that this project immediately
starts smoketest.pl, and it assumes that the perl interpreter has no
problems with strings containing "\". Short: It assumes activestate
perl, and dos style paths. :-(

The script uses lots of $ENV{ENVVAR}, the cleanest solution to this
is to get all used variables at the top of the script, and convert them
if necessary, like:

$var1=$ENV{VAR1}
..
$varN=$ENV{VARN}
if ( $perl_os =~ /cygwin/ ) {
 $var1 =~ s#\\#\\\\#g;
(or if needed)
 chomp( $var1 = qx{cygpath -d "$var1"} );
 ...
 $varN = ..; 
 }

Errm, there is a "Anwendungsdaten" used for $SVERSION_INI! Does that
work for non-german Windows?
Comment 3 Martin Hollmichel 2003-10-21 10:28:20 UTC
reassigned to kurt.
Comment 4 kurt.zenker 2003-11-10 13:30:35 UTC
As Volker Quetschke mentioned all paths must be converted if the 
shell is a tsch. 

The use of "Anwendungsdaten" in the path for $SVERSION_INI works 
really only on a german Windows. I could change this to "Application 
Data" for the english version, but at the moment I have no safe 
solution for all languages, because there is no environmentvariable 
for this. Any ideas?


Comment 5 kurt.zenker 2003-12-16 10:21:04 UTC
KZ->DV: The responsfileinstallation on cygwin doesn't work. Setup can't find 
the path of the responsefile.
Comment 6 kurt.zenker 2003-12-16 10:25:43 UTC
reassigned to Dirk
Comment 7 dirk.voelzke 2003-12-16 11:17:38 UTC
The responsefile installation works, when the path to the response file is
correctly quoted!
Comment 8 kurt.zenker 2003-12-17 17:51:29 UTC
new solution for cygwin ready
Comment 9 Martin Hollmichel 2004-02-27 13:00:32 UTC
close issue.