Forum Problems Installing LAMS: ant prepare-db


 
You may request notification for ant prepare-db.
Search: 

1: ant prepare-db
08/21/06 03:42 AM
[ Reply | Forward ]
Hello,
I know this problem was discussed earlier, but i couldn't make it work. Whenever i reach the ant prepare-db step of the installation it simply fails with:

BUILD FAILED
/usr/local/lams/lams-package/ant/build.xml:30: taskdef class net.sf.antcontrib.logic.IfTask cannot be found

Reading previous posts, i know that this has to do with ant not finding ant-contrib-0.6.jar. I made sure that the ANT_HOME environment variable points to /usr/local/lams/apache-ant, but the problem persisted.
I tried adding the following after taskdef in build.xml:

classpath
pathelement location="/usr/local/lams/apache-ant/lib/ant-contrib-0.6.jar"
classpath

This also failed, but generated the following message:

BUILD FAILED
/usr/local/lams/lams-package/ant/build.xml:30: Could not create task or type of type: classpath.

Ant could not find the task or a class this task relies upon.

This is common and has a number of causes; the usual
solutions are to read the manual pages then download and
install needed JAR files, or fix the build file:
- You have misspelt 'classpath'.
Fix: check your spelling.
- The task needs an external JAR file to execute
and this is not found at the right place in the classpath.
Fix: check the documentation for dependencies.
Fix: declare the task.
- The task is an Ant optional task and the JAR file and/or libraries
implementing the functionality were not found at the time you
yourself built your installation of Ant from the Ant sources.
Fix: Look in the ANT_HOME/lib for the 'ant-' JAR corresponding to the
task and make sure it contains more than merely a META-INF/MANIFEST.MF.
If all it contains is the manifest, then rebuild Ant with the needed
libraries present in ${ant.home}/lib/optional/ , or alternatively,
download a pre-built release version from apache.org
- The build file was written for a later version of Ant
Fix: upgrade to at least the latest release version of Ant
- The task is not an Ant core or optional task
and needs to be declared using taskdef>.
- You are attempting to use a task defined using
presetdef> or macrodef> but have spelt wrong or not
defined it at the point of use

Remember that for JAR files to be visible to Ant tasks implemented
in ANT_HOME/lib, the files must be in the same directory or on the
classpath

can anybody please help? it's been 3 days already and this is getting frustrating!!

PS: i removed that starting < from all tags because the HTML filter doesn't accept those tags.
PS2: This is done on a Fedora Core 5 machine

Posted by Al-Faisal El-Dajani

2: Re: ant prepare-db
In response to 1 08/21/06 06:28 PM
[ Reply | Forward ]
You might have ant already installed - that might explain why it can't see the ant-contrib-0.6.jar. You can check this by doing

shell> which ant

and that will tell you which copy of ant you are running.

To get it to work, just use the copy of ant that's included with the lams package, i.e. use the full path name when you call ant:

shell> /usr/local/lams/apache-ant/bin/ant prepare-db

and hopefully that should do the trick.

Posted by Jun-Dir Liew

3: Tried it but...
In response to 2 08/22/06 01:22 AM
[ Reply | Forward ]
Hello Jun-Dir,
thanx for the tip, i tried which ant and it returned /usr/bin/ant. So i tried what you suggested but it also failed.
I placed an echo inside /usr/local/lams/apache-ant/bin/ant to check for the value of ANT_HOME. As it appears, it points to /usr/share/ant. Exporting ANT_HOME, passing it in $0, or linking it from /opt/ant didn't manage to make it change, it always keeps on pointing to /usr/share/ant.
So, i copied the ant-contrib-0.6.jar file to /usr/share/ant/lib, and it STILL fails. (i echoed $ANT_LIB, and made sure that is the correct folder).
I tried modifying /usr/local/lams/apache-ant/bin/ant and added ANT_HOME=/usr/local/lams/apache-ant before any reference to $ANT_HOME, that did not manage to make it work.

I simply can not understand what is making it fail after all the things i tried.
I installed ant by choosing the package from the fedora core package manager, does that make any difference? should i uninstall it and try building it from source again??

Any help would be deeply appreciated. Thank you.

Posted by Al-Faisal El-Dajani

4: Re: ant prepare-db
In response to 1 08/22/06 05:44 PM
[ Reply | Forward ]
You can try specifying the jar file as a command line option:

shell> ant -lib /path/to/ant-contrib-0.6.jar prepare-db

The -lib option only works on more recent versions of ant though (latest is 1.6.5).

Posted by Jun-Dir Liew

5: Re: Re: ant prepare-db
In response to 4 08/23/06 03:24 AM
[ Reply | Forward ]
Jun-Dir,
Thank you so very much.. it finally worked...
Apparently the problem was with the ant installed by the fedora core package manager. When i uninstalled that, and tried the command you gave me in your previous response, it worked flawlessly...
Thank you again :)

Posted by Al-Faisal El-Dajani

Reply to first post on this page
Back to Problems Installing LAMS