2006-09-11 04:19:00 +00:00
|
|
|
<!--
|
|
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
|
|
this work for additional information regarding copyright ownership.
|
|
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
(the "License"); you may not use this file except in compliance with
|
|
|
|
the License. You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
-->
|
2002-02-28 22:40:18 +00:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Language" content="en-us">
|
2005-04-29 18:58:16 +00:00
|
|
|
<link rel="stylesheet" type="text/css" href="stylesheets/style.css">
|
2002-02-28 22:40:18 +00:00
|
|
|
<title>Platform Issues</title>
|
|
|
|
</head>
|
2018-02-08 22:52:33 +01:00
|
|
|
<body>
|
2002-02-28 22:40:18 +00:00
|
|
|
|
|
|
|
<h1>Platform Issues</h1>
|
|
|
|
|
2004-11-11 15:49:14 +00:00
|
|
|
<h2>Java versions</h2>
|
2018-02-28 07:58:59 +01:00
|
|
|
<h3>Java 5</h3>
|
|
|
|
<p>
|
|
|
|
You may need a bigger stack than default, especially if you are using
|
|
|
|
the built in XSLT engine. We recommend you use Apache Xalan; indeed,
|
|
|
|
some tasks (JUnit report in XML, for example) may not work against the
|
|
|
|
shipping XSL engine.
|
|
|
|
</p>
|
2004-11-11 15:49:14 +00:00
|
|
|
|
2004-08-03 23:12:58 +00:00
|
|
|
<h2>Unix and Linux</h2>
|
2002-02-28 22:40:18 +00:00
|
|
|
<ul>
|
2018-02-28 07:58:59 +01:00
|
|
|
<li>You should use a GNU version of <code>tar</code> to untar the Apache
|
2004-08-03 23:12:58 +00:00
|
|
|
Ant source tree, if you have downloaded this as a tar file. If you get
|
2018-02-28 07:58:59 +01:00
|
|
|
weird errors about missing files, this is the problem.</li>
|
|
|
|
<li>Ant does not preserve file permissions when a file is copied,
|
|
|
|
moved or archived, because Java does not let it read or write the
|
|
|
|
permissions. Use <code><chmod></code> to set permissions, and
|
|
|
|
when creating a tar archive, use the <var>mode</var> attribute
|
|
|
|
of <code><tarfileset></code> to set the permissions in the tar
|
|
|
|
file, or <code><apply></code> the real tar program.</li>
|
|
|
|
<li>Ant is not symbolic link aware in moves, deletes and when
|
|
|
|
recursing down a tree of directories to build up a list of
|
|
|
|
files. Unexpected things can happen.</li>
|
|
|
|
<li>Linux on IA-64: apparently you need a larger heap than the default
|
|
|
|
one (64M) to compile big projects. If you get out of heap errors,
|
|
|
|
either increase the heap or use a forking javac. Better yet, use jikes
|
|
|
|
for extra compilation speed.</li>
|
2002-02-28 22:40:18 +00:00
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h2>Microsoft Windows</h2>
|
2006-07-13 11:07:58 +00:00
|
|
|
<p>
|
|
|
|
Windows 9x (win95, win98, win98SE and winME) are not supported in Ant1.7,
|
|
|
|
</p>
|
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
The Ant team has retired support for these products because they are
|
|
|
|
outdated and can expose customers to security risks. We recommend that
|
|
|
|
customers who are still running Windows 98 or Windows Me upgrade to a
|
|
|
|
newer, more secure operating system, as soon as possible.
|
2006-07-13 11:07:58 +00:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Customers who upgrade to Linux report improved security, richer
|
2018-02-08 22:52:33 +01:00
|
|
|
functionality, and increased productivity.
|
2006-07-13 11:07:58 +00:00
|
|
|
</p>
|
2018-02-08 22:52:33 +01:00
|
|
|
|
2018-02-28 07:58:59 +01:00
|
|
|
<h2>Microsoft Windows 2K, XP and Server 2K03</h2>
|
2006-07-13 11:07:58 +00:00
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
Windows 9x (win95, win98, win98SE and winME) has a batch file system
|
|
|
|
which does not work fully with long file names, so we recommend that
|
|
|
|
ant and the JDK are installed into directories without spaces, and
|
|
|
|
with 8.3 filenames. The Perl and Python launcher scripts do not
|
|
|
|
suffer from this limitation.
|
2006-07-13 11:07:58 +00:00
|
|
|
</p>
|
2002-02-28 22:40:18 +00:00
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
All versions of Windows are usually case insensitive, although mounted
|
|
|
|
file systems (Unix drives, ClearCase views) can be case sensitive
|
|
|
|
underneath, confusing patternsets.
|
2006-07-13 11:07:58 +00:00
|
|
|
</p>
|
2002-02-28 22:40:18 +00:00
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
Ant can often not delete a directory which is open in an Explorer
|
|
|
|
window. There is nothing we can do about this short of spawning a
|
|
|
|
program to kill the shell before deleting directories. Nor can files
|
|
|
|
that are in use be overwritten.
|
2006-07-13 11:07:58 +00:00
|
|
|
</p>
|
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
Finally, if any Ant task fails with an <code>error=2</code>, it
|
|
|
|
means that whatever native program Ant is trying to run, it is not
|
|
|
|
on the path.
|
2006-07-13 11:07:58 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<h2>Microsoft Windows Vista</h2>
|
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
There are reports of problems with Windows Vista security bringing
|
|
|
|
up dialog boxes asking if the user wants to run an untrusted
|
|
|
|
executable during an Ant run, such as when the <signjar> task
|
|
|
|
runs the <code>jarsigner.exe</code> program. This is beyond Ant's
|
|
|
|
control, and stems from the OS trying to provide some illusion of
|
|
|
|
security by being reluctant to run unsigned native executables. The
|
|
|
|
latest Java versions appear to resolve this problem by having signed
|
|
|
|
binaries.
|
2006-07-13 11:07:58 +00:00
|
|
|
</p>
|
|
|
|
|
2003-05-24 00:31:49 +00:00
|
|
|
<h2>Cygwin</h2>
|
2018-02-08 22:52:33 +01:00
|
|
|
<p>
|
|
|
|
Cygwin is not an operating system; rather it is an application suite
|
2018-02-28 07:58:59 +01:00
|
|
|
running under Windows and providing some UNIX like functionality. Sun
|
|
|
|
has not created any specific Java Development Kit or Java Runtime
|
|
|
|
Environment for cygwin. See this
|
|
|
|
link: <a href="http://www.inonit.com/cygwin/faq/">http://www.inonit.com/cygwin/faq/</a>.
|
|
|
|
Only Windows path names are supported by JDK and JRE tools under
|
|
|
|
Windows or cygwin. Relative path names such as "src/org/apache/tools"
|
|
|
|
are supported, but Java tools do not
|
|
|
|
understand <samp>/cygdrive/c</samp> to mean <samp>c:\</samp>.
|
2018-02-08 22:52:33 +01:00
|
|
|
</p>
|
2003-05-24 00:31:49 +00:00
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
The utility <code>cygpath</code> (used industrially in
|
|
|
|
the <code>ant</code> script to support cygwin) can convert cygwin path
|
|
|
|
names to Windows. You can use the <code><exec></code> task in
|
|
|
|
Ant to convert cygwin paths to Windows path, for instance like that:
|
2018-02-08 22:52:33 +01:00
|
|
|
</p>
|
2003-05-24 00:31:49 +00:00
|
|
|
<pre>
|
|
|
|
<property name="some.cygwin.path" value="/cygdrive/h/somepath"/>
|
|
|
|
<exec executable="cygpath" outputproperty="windows.pathname">
|
|
|
|
<arg value="--windows"/>
|
|
|
|
<arg value="${some.cygwin.path}"/>
|
|
|
|
</exec>
|
|
|
|
<echo message="${windows.pathname}"/>
|
|
|
|
</pre>
|
2018-02-08 22:52:33 +01:00
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
We get lots of support calls from Cygwin users. Either it is
|
|
|
|
incredibly popular, or it is trouble. If you do use it, remember that
|
|
|
|
Java is a Windows application, so Ant is running in a Windows process,
|
|
|
|
not a Cygwin one. This will save us having to mark your bug reports as
|
|
|
|
invalid.
|
2018-02-08 22:52:33 +01:00
|
|
|
</p>
|
2004-08-03 23:12:58 +00:00
|
|
|
|
2018-02-28 07:58:59 +01:00
|
|
|
<h2>Apple MacOS X/macOS</h2>
|
2018-02-08 22:52:33 +01:00
|
|
|
<p>
|
2018-02-28 07:58:59 +01:00
|
|
|
MacOS X a.k.a. macOS is the first of the Apple platforms that Ant
|
|
|
|
supports completely; it is treated like any other Unix.
|
2018-02-08 22:52:33 +01:00
|
|
|
</p>
|
2002-02-28 22:40:18 +00:00
|
|
|
|
|
|
|
<h2>Novell Netware</h2>
|
2018-02-28 07:58:59 +01:00
|
|
|
<p>
|
|
|
|
To give the same level of sophisticated control as Ant's startup
|
|
|
|
scripts on other platforms, it was decided to make the main ant
|
|
|
|
startup on NetWare be via a Perl Script, <code>runant.pl</code>. This
|
|
|
|
is found in the <samp>bin</samp> directory (for
|
|
|
|
instance—<samp>bootstrap\bin</samp>
|
|
|
|
or <samp>dist\bin</samp>).
|
|
|
|
</p>
|
2002-03-07 16:10:40 +00:00
|
|
|
|
2018-02-08 22:52:33 +01:00
|
|
|
<p>One important item of note is that you need to set up the following to run Ant:</p>
|
2018-02-28 07:58:59 +01:00
|
|
|
<ul>
|
|
|
|
<li><code>CLASSPATH</code>—put <samp>ant.jar</samp> and any other needed jars on the system classpath.</li>
|
|
|
|
<li><code>ANT_OPTS</code>—On NetWare, <code>ANT_OPTS</code>
|
|
|
|
needs to include a parameter of the
|
|
|
|
form, <code>-envCWD=<i>ANT_HOME</i></code>,
|
|
|
|
with <code><i>ANT_HOME</i></code> being the fully expanded location
|
|
|
|
of Ant, <strong>not</strong> an environment variable. This is due
|
|
|
|
to the fact that the NetWare System Console has no notion of a
|
|
|
|
current working directory.</li>
|
2002-03-07 16:10:40 +00:00
|
|
|
</ul>
|
2018-02-28 07:58:59 +01:00
|
|
|
<p>It is suggested that you create up an ant.ncf that sets up these parameters, and calls <samp>perl ANT_HOME/dist/bin/runant.pl</samp></p>
|
|
|
|
<p>The following is an example of such an NCF file (assuming Ant is installed in <samp>sys:/apache-ant/</samp>):</p>
|
2018-02-08 22:52:33 +01:00
|
|
|
<pre>
|
2018-02-28 07:58:59 +01:00
|
|
|
envset CLASSPATH=sys:/apache-ant/bootstrap/lib/ant.jar
|
|
|
|
envset CLASSPATH=$CLASSPATH;sys:/apache-ant/lib/optional/junit.jar
|
|
|
|
envset CLASSPATH=$CLASSPATH;sys:/apache-ant/bootstrap/lib/optional.jar
|
2018-02-08 22:52:33 +01:00
|
|
|
|
2018-02-28 07:58:59 +01:00
|
|
|
setenv ANT_OPTS=-envCWD=sys:/apache-ant
|
|
|
|
envset ANT_OPTS=-envCWD=sys:/apache-ant
|
|
|
|
setenv ANT_HOME=sys:/apache-ant/dist/lib
|
|
|
|
envset ANT_HOME=sys:/apache-ant/dist/lib
|
2018-02-08 22:52:33 +01:00
|
|
|
|
2018-02-28 07:58:59 +01:00
|
|
|
perl sys:/apache-ant/dist/bin/runant.pl</pre>
|
2002-03-07 16:10:40 +00:00
|
|
|
|
2018-02-28 07:58:59 +01:00
|
|
|
<p>Ant works on JVM version 1.3 or higher. You may have some luck
|
|
|
|
running it on JVM 1.2, but serious problems have been found running
|
|
|
|
Ant on JVM 1.1.7B. These problems are caused by JVM bugs that will
|
|
|
|
not be fixed.</p>
|
2002-03-07 16:10:40 +00:00
|
|
|
<p>JVM 1.3 is supported on Novell NetWare versions 5.1 and higher.</p>
|
|
|
|
|
2002-02-28 22:40:18 +00:00
|
|
|
<h2>Other platforms</h2>
|
2018-02-28 07:58:59 +01:00
|
|
|
<p>
|
|
|
|
Support for other platforms is not guaranteed to be complete, as
|
|
|
|
certain techniques to hide platform details from build files need to
|
|
|
|
be written and tested on every particular platform. Contributions in
|
|
|
|
this area are welcome.
|
|
|
|
</p>
|
2002-02-28 22:40:18 +00:00
|
|
|
|
2018-02-08 22:52:33 +01:00
|
|
|
</body>
|
2002-02-28 22:40:18 +00:00
|
|
|
</html>
|