unable to build java in poudriere

olli hauer ohauer at gmx.de
Thu Jan 26 18:36:25 UTC 2017


On 2017-01-26 19:21, Julian Elischer wrote:
> On 26/1/17 7:32 am, Ultima wrote:
>> I just finished building openjdk8 with a fresh repo and it built just fine.
>>
>> poudriere bulk -p git -j 103amd64 java/openjdk8
>> ref: https://poudriere.ultimasbox.com/build.html?mastername=103amd64-git&build=2017-01-25_14h51m15s
> 
> yeah but not so for me..  remember openjdk8 compiles just fine for me too. but only after openjdb7 is available.
> did yours compile jdk7?
>>
>>
>>
>> A google search on the error suggests that it is most likely related to some form of memory issue.
>>
>> If you follow this post from a few years ago, it could lead you to the same conclusion. More or less it seemed to be a problem with java determining incorrect memory values which was causing that error. Could be completely wrong but it is worth looking into.
>>
>> https://lists.freebsd.org/pipermail/freebsd-java/2013-December/010441.html
>>
>> Explicit setting maximum memory starts the vm, but being that this is a port building, I'm not really sure what to suggest. I guess you could try add an arg on the Makefile setting max memory, but I'm not sure how much memory it requires to build. I know building openjdk does need quite a bit. Another solution, likely less desired is using another system to build it or using the FreeBSD repo to download it. Sorry if this isn't helpful. Someone else may have a better solution.
>>
>> Good luck,
>> Ultima
>>
>> On Wed, Jan 25, 2017 at 5:48 AM, Julian Elischer <julian at freebsd.org <mailto:julian at freebsd.org>> wrote:
>>
>>     On 25/1/17 6:30 pm, Julian Elischer wrote:
>>
>>         On 25/1/17 10:36 am, Ultima wrote:
>>
>>             Sorry Julian but your details are kind of vague. Are you
>>             on head? I'm not sure when my last build for openjdk7 or
>>             8 were but I have them built in my repo. Is there enough
>>             memory on the system building it? or is it limited? that
>>             is usually the culprit for the openjdk ports.
>>
>>             I ask if you were on head because I know java was broken
>>             for sometime in January but was fixed, or at least
>>             r312388 is working.
>>
>>         Sorry, one item missing..  compile is on FreeBSD 10.3
>>
>>         Poudriere is populated with the head ports tree as of
>>         yesterday, but I had hte same problem a few weeks ago.
>>         the list of packages includes openjdk8
>>         it would probably have the same issue if openjdk8 was the
>>         ONLY port to make, because jdk8 wants jdk7 to jdb7 won't build.
>>         Should poudriere or ports give a warning "you need to
>>         install package X before we can do this compile"?
>>
>>
>>     I will add that bootstrap-openjdk-r351880_1.txz  is already
>>     finished and available.
>>     I'm guessing that openjdk7 should be using that, but isn't for
>>     some reason.
>>
>>     in fact is it possible that 8 should be using that to bootstrap
>>     itself up as well instead of using 7?
>>
>>     I'm not experienced with java, I just need to get it into the
>>     machine image at $JOB for others to use.
>>
>>
>>
>>
>>
>>
>>             On Tue, Jan 24, 2017 at 8:56 PM, Julian Elischer
>>             <julian at freebsd.org <mailto:julian at freebsd.org>
>>             <mailto:julian at freebsd.org <mailto:julian at freebsd.org>>>
>>             wrote:
>>
>>                 from he log file:  (see below)
>>
>>                 This dies almost immediately.
>>                 Do we need to prime the build with an older java?
>>             (e.g. the
>>                 bootstrap pkg)?
>>                 If so why does  poudriere not do this?
>>                 I actually want jdk8 but iti insists on building 7
>>             first, which
>>                 fails.
>>                 Since I don't care about 7 I can prime the pump by
>>             downloading a
>>                 7 pkg but should all this be automatic somehow?
>>
>>                 Log:
>>
>>             ########################################################################
>>
>>             ########################################################################
>>
>>                 ##### Entering langtools for target(s) all   #####
>>             ########################################################################
>>
>>
>>                 (cd  ./langtools/make && \
>>                   gmake
>>                            JDK_TOPDIR=/wrkdirs/usr/ports/java/openjdk7/work/openjdk/jdk
>>             JDK_MAKE_SHARED_DIR=/wrkdirs/usr/ports/java/openjdk7/work/openjdk/jdk/make/common/shared
>>                 EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7
>>                 TARGET_CLASS_VERSION=7 MILESTONE=fcs BUILD_NUMBER=b01
>>                 JDK_BUILD_NUMBER=b01 FULL_VERSION=1.7.0_111-b01
>>                 PREVIOUS_JDK_VERSION=1.6. JDK_VERSION=1.7.0_111
>>                 JDK_MKTG_VERSION=7 JDK_MAJOR_VERSION=1
>>             JDK_MINOR_VERSION=7
>>                 JDK_MICRO_VERSION=0_111 PREVIOUS_MAJOR_VERSION=1
>>                 PREVIOUS_MINOR_VERSION=6 PREVIOUS_MICRO_VERSION=
>>                 PAX_COMMAND=/usr/sbin/paxmark.sh PAX_COMMAND_ARGS="-vm"
>>                 ARCH_DATA_MODEL=64 COOKED_BUILD_NUMBER=1
>>             ANT_HOME="/wrkdirs/usr/ports/java/openjdk7/work/apache-ant-1.9.7"
>>             ALT_OUTPUTDIR=/wrkdirs/usr/ports/java/openjdk7/work/openjdk/build/bsd-amd64/langtools
>>                 ALT_BOOTDIR=/usr/local/bootstrap-openjdk all)
>>                 gmake[3]: Entering directory
>>             '/wrkdirs/usr/ports/java/openjdk7/work/openjdk/langtools/make'
>>                 JAVA_HOME=/usr/local/bootstrap-openjdk
>>             ANT_OPTS=-Djava.io.tmpdir='/wrkdirs/usr/ports/java/openjdk7/work/openjdk/build/bsd-amd64/langtools/build/ant-tmp'
>>             /wrkdirs/usr/ports/java/openjdk7/work/apache-ant-1.9.7/bin/ant
>>                 -diagnostics >
>>             /wrkdirs/usr/ports/java/openjdk7/work/openjdk/build/bsd-amd64/langtools/build/ant-diagnostics.log
>>                 ; \
>>                   JAVA_HOME=/usr/local/bootstrap-openjdk
>>             ANT_OPTS=-Djava.io.tmpdir='/wrkdirs/usr/ports/java/openjdk7/work/openjdk/build/bsd-amd64/langtools/build/ant-tmp'
>>             /wrkdirs/usr/ports/java/openjdk7/work/apache-ant-1.9.7/bin/ant
>>                 -version >>
>>             /wrkdirs/usr/ports/java/openjdk7/work/openjdk/build/bsd-amd64/langtools/build/ant-diagnostics.log
>>                 Could not create the Java virtual machine.
>>                 Could not create the Java virtual machine.
>>                 gmake[3]: *** [Makefile:196:
>>             /wrkdirs/usr/ports/java/openjdk7/work/openjdk/build/bsd-amd64/langtools/build/ant-diagnostics.log]
>>                 Error 1
>>                 gmake[3]: Leaving directory
>>             '/wrkdirs/usr/ports/java/openjdk7/work/openjdk/langtools/make'
>>                 gmake[2]: *** [make/langtools-rules.gmk:39:
>>             langtools-build] Error 2
>>                 gmake[2]: Leaving directory
>>                 '/wrkdirs/usr/ports/java/openjdk7/work/openjdk'
>>                 gmake[1]: *** [Makefile:251: build_product_image]
>>             Error 2
>>                 gmake[1]: Leaving directory
>>                 '/wrkdirs/usr/ports/java/openjdk7/work/openjdk'
>>                 *** Error code 1
>>
>>


Could you check if fdescfs and procfs is mounted on the host?

>From my openjdk7 buildlogs (2017-01-16):
...
# pw groupmod _tss -m your_account
===>   openjdk-7.111.01_3,1 depends on file: /usr/local/include/cups/cups.h - found
===>   Returning to build of openjdk-7.111.01_3,1
===>   openjdk-7.111.01_3,1 depends on file: /usr/local/bootstrap-openjdk/bin/javac - not found
===>   Installing existing package /packages/All/bootstrap-openjdk-r351880_1.txz
[10amd64-default-job-01] Installing bootstrap-openjdk-r351880_1...
[10amd64-default-job-01] `-- Installing java-zoneinfo-2016.j...
[10amd64-default-job-01] `-- Extracting java-zoneinfo-2016.j: .......... done
[10amd64-default-job-01] Extracting bootstrap-openjdk-r351880_1: .......... done
Message from bootstrap-openjdk-r351880_1:
======================================================================

WARNING: This port only exists for bootstrapping java/openjdk[67].
You are advised to remove this port as soon as a stable JDK is built.

This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and
procfs(5) mounted on /proc.

If you have not done it yet, please do the following:

    mount -t fdescfs fdesc /dev/fd
    mount -t procfs proc /proc



More information about the freebsd-ports mailing list