[opensuse-arm] Java related package build on ARM
Hi, after we have bootstrapped java-1_6_0-openjdk, now most of the stuff is blocked by "ant-junit" (subpackage of ant-antlr). That one fails to build due to running OOM during building javadocs. I've quickly checked, and it seems building javadocs is not really necessary, as the tarball has already javadocs included. So we could skip that step, which already helps. It seems the spec file had a %build_javadocs define that is not really functional anymore (ant distribution includes ant javadocs, which is run unconditional, so the spec file actually builds javadocs twice I think). The alternative solution, which seems to work as well and reduces build differences is this small patch: --- build.xml +++ build.xml @@ -1358,7 +1358,7 @@ <target name="-javadocs.do" if="jdk1.5+" unless="javadoc.notrequired"> <mkdir dir="${build.javadocs}"/> <javadoc useexternalfile="yes" - maxmemory="1000M" + maxmemory="512M" destdir="${build.javadocs}" author="true" version="true" which finishes building javadocs target successfully after a chewing for 160 minutes under qemu (53 minutes on native hardware). Currently I went for this solution (patch is only applied on %arm), any comments, ideas appreciated. I guess it would help overall build speed by only building "ant jars " and maybe "ant test-jars" and not also javadocs? Greetings, Dirk -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
On Wed, Dec 14, 2011 at 01:34:54PM +0100, Dirk Müller wrote:
Hi,
Hallo Dirk,
after we have bootstrapped java-1_6_0-openjdk, now most of the stuff is blocked by "ant-junit" (subpackage of ant-antlr). That one fails to build due to running OOM during building javadocs.
I've quickly checked, and it seems building javadocs is not really necessary, as the tarball has already javadocs included. So we could skip that step,
Really? As tar -tf apache-ant-1.8.2-src.tar.bz2 did not show me anything like javadoc (excluding ant's task, which is really diferent thing).
which already helps. It seems the spec file had a %build_javadocs define that is not really functional anymore (ant distribution includes ant javadocs, which is run unconditional, so the spec file actually builds javadocs twice I think).
I see, the %build_javadoc macro is defined, but not used and target distribution covers jaavdoc build. I will fix that
The alternative solution, which seems to work as well and reduces build differences is this small patch:
--- build.xml +++ build.xml @@ -1358,7 +1358,7 @@ <target name="-javadocs.do" if="jdk1.5+" unless="javadoc.notrequired"> <mkdir dir="${build.javadocs}"/> <javadoc useexternalfile="yes" - maxmemory="1000M" + maxmemory="512M" destdir="${build.javadocs}" author="true" version="true"
which finishes building javadocs target successfully after a chewing for 160 minutes under qemu (53 minutes on native hardware).
Currently I went for this solution (patch is only applied on %arm), any comments, ideas appreciated. I guess it would help overall build speed by only building "ant jars " and maybe "ant test-jars" and not also javadocs?
I vote for exclude ant-javadoc (.*-javadoc (?) even that is not so easy) build at all on %arm. Reasons are * arm is now built in qemu using interpreted java, which is slow^2 than on other arches * we already have ant-javadoc built well on i586/x86_64 so this won't add us anything new * as there are no dependencies on javadoc packages, there won't be any problems with excluding Adrian, what would you say? As far I remember, you are not so happy with that approach. Regards Michal Vyskocil
Am Mittwoch, 14. Dezember 2011, 13:58:43 schrieb Michal Vyskocil:
On Wed, Dec 14, 2011 at 01:34:54PM +0100, Dirk Müller wrote:
Hi,
Hallo Dirk, ...
which finishes building javadocs target successfully after a chewing for 160 minutes under qemu (53 minutes on native hardware).
Currently I went for this solution (patch is only applied on %arm), any comments, ideas appreciated. I guess it would help overall build speed by only building "ant jars " and maybe "ant test-jars" and not also javadocs? I vote for exclude ant-javadoc (.*-javadoc (?) even that is not so easy) build at all on %arm. Reasons are
* arm is now built in qemu using interpreted java, which is slow^2 than on other arches
well, we (esp. Alex) worked on improving it. It is not as horrible as it was.
* we already have ant-javadoc built well on i586/x86_64 so this won't add us anything new * as there are no dependencies on javadoc packages, there won't be any problems with excluding
Adrian, what would you say? As far I remember, you are not so happy with that approach.
Hm, I have no opinion. If you don't need to fix/update documentation according to our distro (or package configuration) it is pointless to re-generate. -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
On Wed, Dec 14, 2011 at 05:00:08PM +0100, Adrian Schröter wrote:
Am Mittwoch, 14. Dezember 2011, 13:58:43 schrieb Michal Vyskocil:
On Wed, Dec 14, 2011 at 01:34:54PM +0100, Dirk Müller wrote:
Hi,
Hallo Dirk, ...
which finishes building javadocs target successfully after a chewing for 160 minutes under qemu (53 minutes on native hardware).
Currently I went for this solution (patch is only applied on %arm), any comments, ideas appreciated. I guess it would help overall build speed by only building "ant jars " and maybe "ant test-jars" and not also javadocs? I vote for exclude ant-javadoc (.*-javadoc (?) even that is not so easy) build at all on %arm. Reasons are
* arm is now built in qemu using interpreted java, which is slow^2 than on other arches
well, we (esp. Alex) worked on improving it. It is not as horrible as it was.
* we already have ant-javadoc built well on i586/x86_64 so this won't add us anything new * as there are no dependencies on javadoc packages, there won't be any problems with excluding
Adrian, what would you say? As far I remember, you are not so happy with that approach.
Hm, I have no opinion. If you don't need to fix/update documentation according to our distro (or package configuration) it is pointless to re-generate.
OK, then I have submitted a fixed ant package to Factory - request 96712 * changed distribution ant target to dist * make javadoc target really configurable * disable it on %{arm} Regards Michal Vyskocil
On 15.12.2011, at 09:58, Michal Vyskocil <mvyskocil@suse.cz> wrote:
On Wed, Dec 14, 2011 at 05:00:08PM +0100, Adrian Schröter wrote:
Am Mittwoch, 14. Dezember 2011, 13:58:43 schrieb Michal Vyskocil:
On Wed, Dec 14, 2011 at 01:34:54PM +0100, Dirk Müller wrote:
Hi,
Hallo Dirk, ...
which finishes building javadocs target successfully after a chewing for 160 minutes under qemu (53 minutes on native hardware).
Currently I went for this solution (patch is only applied on %arm), any comments, ideas appreciated. I guess it would help overall build speed by only building "ant jars " and maybe "ant test-jars" and not also javadocs? I vote for exclude ant-javadoc (.*-javadoc (?) even that is not so easy) build at all on %arm. Reasons are
* arm is now built in qemu using interpreted java, which is slow^2 than on other arches
well, we (esp. Alex) worked on improving it. It is not as horrible as it was.
* we already have ant-javadoc built well on i586/x86_64 so this won't add us anything new * as there are no dependencies on javadoc packages, there won't be any problems with excluding
Adrian, what would you say? As far I remember, you are not so happy with that approach.
Hm, I have no opinion. If you don't need to fix/update documentation according to our distro (or package configuration) it is pointless to re-generate.
OK, then I have submitted a fixed ant package to Factory - request 96712
* changed distribution ant target to dist * make javadoc target really configurable * disable it on %{arm}
That means that on openSUSE:Factory:ARM we'll be missing the documentation noarch packages, because it's not built in the same repo as x86, right? Alex -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am Donnerstag, 15. Dezember 2011, 10:09:36 schrieb Alexander Graf:
On 15.12.2011, at 09:58, Michal Vyskocil <mvyskocil@suse.cz> wrote:
On Wed, Dec 14, 2011 at 05:00:08PM +0100, Adrian Schröter wrote:
Am Mittwoch, 14. Dezember 2011, 13:58:43 schrieb Michal Vyskocil:
On Wed, Dec 14, 2011 at 01:34:54PM +0100, Dirk Müller wrote:
Hi,
Hallo Dirk,
...
which finishes building javadocs target successfully after a chewing for 160 minutes under qemu (53 minutes on native hardware).
Currently I went for this solution (patch is only applied on %arm), any comments, ideas appreciated. I guess it would help overall build speed by only building "ant jars " and maybe "ant test-jars" and not also javadocs?
I vote for exclude ant-javadoc (.*-javadoc (?) even that is not so easy) build at all on %arm. Reasons are
* arm is now built in qemu using interpreted java, which is slow^2 than
on other arches
well, we (esp. Alex) worked on improving it. It is not as horrible as it was.>>
* we already have ant-javadoc built well on i586/x86_64 so this won't
add us anything new
* as there are no dependencies on javadoc packages, there won't be any
problems with excluding
Adrian, what would you say? As far I remember, you are not so happy with that approach.
Hm, I have no opinion. If you don't need to fix/update documentation according to our distro (or package configuration) it is pointless to re-generate.> OK, then I have submitted a fixed ant package to Factory - request 96712
* changed distribution ant target to dist * make javadoc target really configurable * disable it on %{arm}
That means that on openSUSE:Factory:ARM we'll be missing the documentation noarch packages, because it's not built in the same repo as x86, right?
Yes. Even when it would build in the same repo, it would not be available on arm during build time though (except we define export filters). I hope there are no packages with build require it.
Alex -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de
-- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
On Thu, Dec 15, 2011 at 10:24:26AM +0100, Adrian Schröter wrote:
Am Donnerstag, 15. Dezember 2011, 10:09:36 schrieb Alexander Graf:
On 15.12.2011, at 09:58, Michal Vyskocil <mvyskocil@suse.cz> wrote:
On Wed, Dec 14, 2011 at 05:00:08PM +0100, Adrian Schröter wrote:
Am Mittwoch, 14. Dezember 2011, 13:58:43 schrieb Michal Vyskocil:
On Wed, Dec 14, 2011 at 01:34:54PM +0100, Dirk Müller wrote:
Hi,
Hallo Dirk,
...
which finishes building javadocs target successfully after a chewing for 160 minutes under qemu (53 minutes on native hardware).
Currently I went for this solution (patch is only applied on %arm), any comments, ideas appreciated. I guess it would help overall build speed by only building "ant jars " and maybe "ant test-jars" and not also javadocs?
I vote for exclude ant-javadoc (.*-javadoc (?) even that is not so easy) build at all on %arm. Reasons are
* arm is now built in qemu using interpreted java, which is slow^2 than
on other arches
well, we (esp. Alex) worked on improving it. It is not as horrible as it was.>>
* we already have ant-javadoc built well on i586/x86_64 so this won't
add us anything new
* as there are no dependencies on javadoc packages, there won't be any
problems with excluding
Adrian, what would you say? As far I remember, you are not so happy with that approach.
Hm, I have no opinion. If you don't need to fix/update documentation according to our distro (or package configuration) it is pointless to re-generate.> OK, then I have submitted a fixed ant package to Factory - request 96712
* changed distribution ant target to dist * make javadoc target really configurable * disable it on %{arm}
That means that on openSUSE:Factory:ARM we'll be missing the documentation noarch packages, because it's not built in the same repo as x86, right?
Frankly I see no reason to have javadoc package on arm as this is mostly not the best machine for development of Java programmes. In fact I see no reason for -javadoc packages at all, as everyone use google ant javadoc and read it on the web.
Yes. Even when it would build in the same repo, it would not be available on arm during build time though (except we define export filters).
I hope there are no packages with build require it.
Quick find . -name '*spec' | xargs grep 'BuildRequires.*ant-javadoc' returned me nothing, so no build errors on arm are expected. Regards Michal Vyskocil
participants (4)
-
Adrian Schröter
-
Alexander Graf
-
Dirk Müller
-
Michal Vyskocil