jdk8 makefile changes

David Holmes david.holmes at oracle.com
Mon Jul 9 16:44:47 PDT 2012


Hi Omair,

The static vs dynamic link check that you see is only in place for the 
JDK libraries not hotspot. For hotspot (which has not been modified as 
part of the build-infra project) you still need to pass STATIC_CXX=false 
as a make variable on the make invocation.

David
-----

On 10/07/2012 9:27 AM, Omair Majid wrote:
> Hi Kelly,
>
> On 07/09/2012 06:12 PM, Kelly O'Hair wrote:
>> The jdk8/build forest has been in sync for a few days, so anyone willing to try the new build system with OpenJDK 8, please
>> follow these instructions:
>>
>>       hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build
>>       cd jdk8-build
>>       sh ./get_source.sh
>>       cd common/makefiles
>>       ../autoconf/configure
>>       make images
>>
>> Let us know what works, what doesn't.
>
> I tried it out and ran into a bit of a snag:
>
> $ bash ../autoconf/configure
> checking for readlink... /usr/bin/readlink
> checking for apt-get... no
> checking for yum... yum
> checking for grep that handles long lines and -e... /usr/bin/grep
> checking for gawk... gawk
>
> [ snip ]
>
> checking if dynamic link of stdc++ is possible... yes
> checking if static link of stdc++ is possible... no
> configure: Static linking of libstdc++ was not possible reverting to
> dynamic linking.
> checking how to link with libstdc++... dynamic
>
> [ snip ]
> ====================================================
> A new configuration has been successfully created in
> /home/omajid/devel/jdk8-build/build/linux-x64-normal-server-release
> using default settings.
>
> Configuration summary:
> * Debug level:    release
> * JDK variant:    normal
> * JVM variants:   server
> * OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
> * Boot JDK:       /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3.x86_64
>
> Build performance summary:
> * Cores to use:   4
> * Memory limit:   3753 MB
> * ccache status:  not installed (consider installing)
>
> Build performance tip: ccache gives a tremendous speedup for C++
> recompilations.
> You do not have ccache installed. Try installing it.
> You might be able to fix this by running 'sudo yum install ccache'.
> $ make images
> Building OpenJDK for target 'images' in configuration
> 'linux-x64-normal-server-release'
>
> [ snip ]
>
> Compiling
> /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/workgroup.cpp
> Compiling
> /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/xmlstream.cpp
> Compiling
> /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp
> Making signal interposition lib...
> Making SA debugger back-end...
> Compiling
> /home/omajid/devel/jdk8-build/hotspot/src/share/vm/runtime/vm_version.cpp
> Linking vm...
> /usr/bin/ld: cannot find -lstdc++
> collect2: error: ld returned 1 exit status
> ln: accessing `libjvm.so.1': Too many levels of symbolic links
> /usr/bin/chcon: failed to get security context of `libjvm.so': Too many
> levels of symbolic links
> ERROR: Cannot chcon libjvm.so
> /usr/bin/objcopy: Warning: could not locate 'libjvm.so'.  reason: Too
> many levels of symbolic links
> make[5]: *** [libjvm.so] Error 1
> make[4]: *** [the_vm] Error 2
> make[3]: *** [product] Error 2
> make[2]: *** [generic_build2] Error 2
> make[1]: *** [product] Error 2
> make: *** [hotspot-only] Error 2
>
> As you can tell, I don not have static c++ linking available, but
> linking dynamically is failing too. I have built other variants of
> openjdk 7 and 8 on this machine before using dynamic linking
> (STATIC_CXX=false), so I was expecting this to work. Is there any
> additional information I can provide to help?
>
> Thanks,
> Omair



More information about the build-infra-dev mailing list