Solaris jdk9 build problem
Semyon Sadetsky
semyon.sadetsky at oracle.com
Tue Jun 2 10:40:50 UTC 2015
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