ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 10752] New: - cygwin fails to work with wrapper
Date Fri, 12 Jul 2002 17:59:28 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10752>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10752

cygwin fails to work with wrapper

           Summary: cygwin fails to work with wrapper
           Product: Ant
           Version: 1.5
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Wrapper scripts
        AssignedTo: ant-dev@jakarta.apache.org
        ReportedBy: kostella@mayaviz.com


A recent (ahem) version of cygwin/cygpath fails to build the classpath used by the final line
of 
the 'ant' wrapper script. This results in:

  Exception in thread "main" 
java.lang.NoClassDefFoundError: org/apache/tools/ant/Main

The problem seems to be 
that when assembling the list of jars, the jar paths are half dos and half unix and when 
concatenated together they do not make it through cygpath correctly. I got this as the classpath

arg in the final line:

 C:\dev\ant/lib/xml-
apis.jar:C:\dev\ant/lib/xercesImpl.jar:C:\dev\ant/lib/optional.jar:C:\dev\ant/lib/ant.jar:/cygdrive/c/java/jdk1.3.1_03/jre/lib/rt.jar:/cygdrive/c/java/jdk1.3.1_03/lib/tools.jar

which 
is not a legal classpath on either platform.

I corrected the problem by forcing the 
individual jar paths to be unix paths instead of dos paths by modifying the 'ant' script 
thus:

line 125:
# add in the dependency .jar files in non-RPM mode (the default)
for i in 
"${ANT_LIB}"/*.jar
do
  #### CHANGE BEGINS HERE
  # For Cygwin, switch paths to unix format 
before converting back
  if $cygwin; then
    i=`cygpath --path --unix "$i"`
  fi
  #### CHANGE ENDS 
HERE
  # if the directory is empty, then it will return the input string

I'm not sure which 
version of cygwin is installed on the failing machine, but 
cygcheck shows this:

    Cygwin DLL 
version info:
        DLL version: 1.3.10
        DLL epoch: 19
        DLL bad signal mask: 19005
        DLL old 
termios: 5
        DLL malloc env: 28
        API major: 0
        API minor: 51
        Shared data: 3
        DLL identifier: 
cygwin1
        Mount registry: 2
        Cygnus registry name: Cygnus Solutions
        Cygwin registry name: 
Cygwin
        Program options name: Program Options
        Cygwin mount registry name: mounts v2
        
Cygdrive flags: cygdrive flags
        Cygdrive prefix: cygdrive prefix
        Cygdrive default 
prefix:
        Build date: Mon Feb 25 11:14:34 EST 2002
        Shared id: cygwin1S3

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message