Solaris jdk9 build problem
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Tue Jun 2 13:50:03 UTC 2015
On 2015-06-02 15:21, Semyon Sadetsky wrote:
> Hello,
>
> Hate to disturb you again but I got yet another show stopper for my
> Solaris build:
>
> Generating solaris_amd64_docs/jvmti.html
> Creating libverify.so from 2 file(s)
> Creating libjava.so from 60 file(s)
> Creating libfdlibm.a from 62 file(s)
> Creating libzip.so from 21 file(s)
> Creating libjli.so from 15 file(s)
> Creating libnet.so from 21 file(s)
> Creating libnio.so from 23 file(s)
> Compiling 3 properties into resource bundles for jdk.jdi
> Compiling 246 files for jdk.jdi
> "/jdk9/client/jdk/src/java.base/unix/native/libjava/childproc.c", line
> 384: error: statement not reached (E_STATEMENT_NOT_REACHED)
> cc: acomp failed for
> /jdk9/client/jdk/src/java.base/unix/native/libjava/childproc.c
> gmake[3]: ***
> [/jdk9/client/build/solaris-x86_64-normal-server-fastdebug/support/native/java.base/libjava/childproc.o]
> Error 2
> gmake[3]: *** Waiting for unfinished jobs....
> gmake[2]: *** [java.base-libs] Error 1
I belive the rest of the log says: "please try again with
--disable-warnings-as-errors" or something like that.
Do it! :)
An even better solution is to investigate the warning and fix the code.
I can't really say why you're getting this warning, though. Your version
of the compiler might differ too much from the official ones.
/Magnus
>
> --Semyon
>
>
>
> On 6/2/2015 1:40 PM, Semyon Sadetsky wrote:
>>
>> On 6/2/2015 1:33 PM, Magnus Ihse Bursie wrote:
>>> On 2015-06-02 12:22, David Holmes wrote:
>>>> On 2/06/2015 8:12 PM, Semyon Sadetsky wrote:
>>>>>
>>>>> On 6/2/2015 1:06 PM, Magnus Ihse Bursie wrote:
>>>>>> On 2015-06-02 11:25, Semyon Sadetsky wrote:
>>>>>>>
>>>>>>> On 6/2/2015 11:47 AM, Magnus Ihse Bursie wrote:
>>>>>>>> On 2015-06-02 08:20, Semyon Sadetsky wrote:
>>>>>>>>> On 6/2/2015 2:35 AM, Magnus Ihse Bursie wrote:
>>>>>>>>>> On 2015-06-01 21:17, Semyon Sadetsky wrote:
>>>>>>>>>>> Hello,
>>>>>>>>>>>
>>>>>>>>>>> Could you help me to resolve 9 build problem on Solaris 11.2:
>>>>>>>>>>>
>>>>>>>>>>> /usr/ccs/bin/nm: solaris_x86_64.o: No such file or directory
>>>>>>>>>>> gmake[8]: *** [libjvm.so] Error 1
>>>>>>>>>>> gmake[8]: Leaving directory
>>>>>>>>>>> `/jdk9/client/build/solaris-x86_64-normal-server-fastdebug/hotspot/solaris_amd64_compiler2/fastdebug'
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> gmake[7]: *** [the_vm] Error 2
>>>>>>>>>>> gmake[7]: Leaving directory
>>>>>>>>>>> `/jdk9/client/build/solaris-x86_64-normal-server-fastdebug/hotspot/solaris_amd64_compiler2/fastdebug'
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> and earlier in the log:
>>>>>>>>>>>
>>>>>>>>>>> Assembling
>>>>>>>>>>> /jdk9/client/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.s
>>>>>>>>>>> rm -f solaris_x86_64.o
>>>>>>>>>>> xarch=amd64 -o solaris_x86_64.o
>>>>>>>>>>> /jdk9/client/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.s
>>>>>>>>>>> /usr/bin/bash: -o: command not found
>>>>>>>>>>> gmake[8]: [solaris_x86_64.o] Error 127 (ignored)
>>>>>>>>>>> Compiling /jdk9/client/hotspot/src/share/vm/gc/shared/space.cpp
>>>>>>>>>>> rm -f space.o
>>>>>>>>>>> /opt/solarisstudio12.3/bin/CC -DSOLARIS -DSPARC_WORKS -
>>>>>>>>>>> ...
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I guess there should be cc before xarch, but it's omited.
>>>>>>>>>> I'm guessing that .s is an assembly file, so most likely it is
>>>>>>>>>> $(AS) that resolves to empty. Can you check your spec.gmk for
>>>>>>>>>> the
>>>>>>>>>> value of AS?
>>>>>>>>>>
>>>>>>>>>> /Magnus
>>>>>>>>>>
>>>>>>>>> Yes, AS was empty.
>>>>>>>>> after I set it to /opt/solarisstudio12.3/bin/cc the first error
>>>>>>>>> message has gone but then I got:
>>>>>>>> You cannot set it manually. If configure has failed to detect it,
>>>>>>>> all bets are off. I'm a bit surprised that configure allowed AS to
>>>>>>>> be empty, it should have aborted.
>>>>>>>>
>>>>>>>> Try running configure with
>>>>>>>> --with-toolchain-path=/opt/solarisstudio12.3/bin. Does that
>>>>>>>> help you
>>>>>>>> get a proper value of AS.
>>>>>>>>
>>>>>>>> /Magnus
>>>>>>>
>>>>>>> AS remains empty:
>>>>>>> ====================================================
>>>>>>> A new configuration has been successfully created in
>>>>>>> /jdk9/client/build/solaris-x86_64-normal-server-fastdebug
>>>>>>> using configure arguments '--enable-debug
>>>>>>> --with-toolchain-path=/opt/solarisstudio12.3/bin'.
>>>>>>>
>>>>>>> Configuration summary:
>>>>>>> * Debug level: fastdebug
>>>>>>> * HS debug level: fastdebug
>>>>>>> * JDK variant: normal
>>>>>>> * JVM variants: server
>>>>>>> * OpenJDK target: OS: solaris, CPU architecture: x86, address
>>>>>>> length: 64
>>>>>>>
>>>>>>> Tools summary:
>>>>>>> * Boot JDK: java version "1.8.0_45" Java(TM) SE Runtime
>>>>>>> Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM
>>>>>>> (build 25.45-b02, mixed mode) (at /usr/jdk/instances/jdk1.8.0_45)
>>>>>>> * Toolchain: solstudio (Oracle Solaris Studio)
>>>>>>> * C Compiler: Version 5.12 (at /opt/solarisstudio12.3/bin/cc)
>>>>>>> * C++ Compiler: Version 5.12 (at /opt/solarisstudio12.3/bin/CC)
>>>>>>>
>>>>>>> Build performance summary:
>>>>>>> * Cores to use: 2
>>>>>>> * Memory limit: 2048 MB
>>>>>>>
>>>>>>> dev at solaris1:/jdk9/client$ grep "AS:"
>>>>>>> /jdk9/client/build/solaris-x86_64-normal-server-fastdebug/spec.gmk
>>>>>>> AS:=
>>>>>>
>>>>>> Do you have an as in your path or in /opt/solarisstudio12.3/bin
>>>>>> then?
>>>>>> Have you even built jdk successfully on this machine?
>>>>>>
>>>>>> /Magnus
>>>>>>
>>>>> No it's a new installation. And I'm building jdk on Solaris for the
>>>>> first time.
>>>>> as is absent in /opt/solarisstudio12.3/bin.
>>>>>
>>>>> dev at solaris1:/jdk9/client$ ls /opt/solstudio12.2/bin
>>>>> CC cscope er_bit f90
>>>>> rtc_patch_area sunf90
>>>>> CCadmin ctc er_cp f95
>>>>> rxm sunf95
>>>>> amd64 ctcr er_export fbe rxs sunstudio
>>>>> analyzer ctrace er_generic fdumpmod smctl tcov
>>>>> bcheck cxref er_html fpp
>>>>> solstudio tha
>>>>> binopt dbx er_kernel fpr
>>>>> spot uncover
>>>>> c++filt dbxtool er_mpipp fsplit spot_diff
>>>>> version
>>>>> c89 dem er_mv gen_custom
>>>>> ss_attach whatdir
>>>>> c99 discover er_otfdump getmsg sunCC
>>>>> xprof_atob
>>>>> cb dlight er_print indent sunas
>>>>> xprof_btoa
>>>>> cc dmake er_rm lint sunc89
>>>>> cc-5.0 dumpstabs er_src lock_lint sunc99
>>>>> cflow dwarfdump er_vtunify ptclean suncc
>>>>> collect er_archive f77 ripc sunf77
>>>>>
>>>>> Should it be there?
>>>>
>>>> No it is in a separate package apparently (not installed by default
>>>> on Solaris 11):
>>>>
>>>> pkg install pkg:/developer/assembler
>>>
>>> Thanks for the information David!
>>>
>>> I opened https://bugs.openjdk.java.net/browse/JDK-8081676 to track
>>> that we should verify that AS is properly detected on Solaris, and
>>> to print the help about pkg install in case as is missing.
>>>
>>> /Magnus
>>>
>> Possible it would be worth to add this information to the readme as
>> well. On other linuxes gcc is used instead of as and configure does
>> not produce any warnings about it. It is not trivial to find the
>> reason for people building solaris jdk for the first time.
>>
>> --Semyon
>>
>>>>
>>>> David
>>>> -----
>>>>
>>>>>
>>>>>
>>>>>>> dev at solaris1:/jdk9/client$
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> cc: Warning: -xarch=amd64 is deprecated, use -m64 to create
>>>>>>>>> 64-bit
>>>>>>>>> programs
>>>>>>>>> ld: fatal: file solaris_x86_64.o: not an ELF object
>>>>>>>>> gmake[8]: *** [solaris_x86_64.o] Error 2
>>>>>>>>> gmake[8]: *** Waiting for unfinished jobs....
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>
>>
>
More information about the build-dev
mailing list