Henrique Ferreiro wrote:
>>>> I did not modify jdk.conf. Every line is commented.
>> Then ant-core, as well as junit, should be build with 1.4. Is that the case?
> No. ant-core is being built with jdk-1.5. Anyway junit does not compile using
> 1.4 with ant-core.
Alright... I'm pretty sure what the problem is. If you take a look at
/usr/bin/ant... at some point, it pulls in a bunch of jars from several
packages. This is necessary to make sure that all the ant tasks work
properly. One of these happens to be junit....
So what I believe is happening... you have junit installed (and built
with 1.5), then go to rebuild with 1.4. The ebuild calls ant, which
pulls in junit compiled with 1.5 onto the classpath. When javac tries to
resolve junit classes... it's getting them from the 1.5-built junit,
instead of the junit which is being built. So, the workaround would be
to unmerge junit before trying to rebuidl it with 1.4.
Essentially, this problem comes down to who we handle /usr/bin/ant, and
how it pulls in all its dependencies. It is currently hardcoded to bring
in certain packages, which is less than ideal, because we need to have
fine-grain control over the classpath. In particular, when building
packages, we don't want to include the already-compiled version that is
living on the system.
Aside from this, I recommend you try the java-1.5-fixer I posted in a
different thread. It actually goes through all of ant's dependencies,
and if any were built with 1.5, will unmerge them, and merge them again.
Hope this helps,
firstname.lastname@example.org mailing list