new build uses wrong libfreetype.so

Kelly O'Hair kelly.ohair at oracle.com
Mon Oct 15 10:03:59 PDT 2012


The /java/devtools layout is a disaster.   We can use it as a crutch, but we need to get better organized on our dependencies.
During your build, you have NO control over /java/devtools or any NFS shared area, any number of people can change it
at any time, and network disruptions can make it's existence come and go during your build.  You have been warned.

-kto

On Sep 28, 2012, at 9:10 AM, Jim Holmlund wrote:

> 
> 
> On 9/27/2012 2:21 PM, Magnus Ihse Bursie wrote:
>> The /java path is not default in the new builds since it is Oracle-internal. That said, we're looking for a way to smooth the transition for those who have a Oracle-style Java path in their environment. Expect a --with-java-path option (or similar) to appear soon.
> Why not check /java/... or j:/... to see if it has what is needed and if so use it?  Maybe non-Oracle people have cloned our layout.
> - jjh
> 
>> The new build will default to 64-bit builds on all 64-bit platforms. This includes sparcv9. This is a conscious decision. If you want 32-bit builds on a 64-bit platform, you have to be explicit about it.
> 
>> /Magnus
>> 
>> 27 sep 2012 kl. 22:12 skrev Jim Holmlund<james.holmlund at oracle.com>:
>> 
>>> 
>>> On 9/27/2012 8:46 AM, Jim Holmlund wrote:
>>>> Old make on solaris does this
>>>> /usr/bin/cp /java/devtools/sparc/freetype-sparc/lib/libfreetype.so /net/mmm/export/home/jjh/ws/jdk8master/build/solaris-sparc/lib/sparc/libfreetype.so.6
>>>> 
>>>> New make on solaris does this:
>>>> 
>>>> ld: fatal: file /usr/sfw/lib/libfreetype.so: wrong ELF class: ELFCLASS32
>>>> ld: fatal: File processing errors. No output written to /net/mmm/export/home/jjh/ws/jdk8master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libfontmanager.so
>>>> make381[2]: *** [/net/mmm/export/home/jjh/ws/jdk8master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libfontmanager.so] Error 1
>>>> make381[2]: Leaving directory `/net/mmm/export/home/jjh/ws/jdk8master/jdk/makefiles'
>>>> make381[1]: *** [libs-only] Error 2
>>>> make381[1]: Leaving directory `/net/mmm/export/home/jjh/ws/jdk8master/jdk/makefiles'
>>>> make381: *** [jdk-only] Error
>>>> 
>>>> 
>>>> What is the fix?
>>>> - jjh
>>>> 
>>> PS.   I reran config with
>>>       --with-freetype=/java/devtools/sparc/freetype-sparc
>>> 
>>> and the build still fails with the same error on that libfreetype.so:
>>>> cd /net/mmm/export/home/jjh/ws/jdk8master/build/solaris-sparcv9-normal-server-release/jdk/objs/libmanagement&&  /usr/bin/zip -q /net/mmm/export/home/jjh/ws/jdk8master/build/solaris-sparcv9-normal-server-release/jdk/objs/libmanagement/libmanagement.diz libmanagement.debuginfo
>>>> ld: fatal: file /java/devtools/sparc/freetype-sparc/lib/libfreetype.so: wrong ELF class: ELFCLASS32
>>>> ld: fatal: File processing errors. No output written to /net/mmm/export/home/jjh/ws/jdk8master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libfontmanager.so
>>>> make381[2]: *** [/net/mmm/export/home/jjh/ws/jdk8master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libfontmanager.so] Error 1
>>>> make381[2]: *** Waiting for unfinished jobs....
>>>> make381[2]: Leaving directory `/net/mmm/export/home/jjh/ws/jdk8master/jdk/makefiles'
>>>> make381[1]: *** [libs-only] Error 2
>>>> make381[1]: Leaving directory `/net/mmm/export/home/jjh/ws/jdk8master/jdk/makefiles'
>>>> make381: *** [jdk-only] Error 2
>>> Then I noticed that 'ELFCLASS32' and wondered if I was building the 64 bit version.  So I reran configure with
>>>    --with-tools-dir=/java/devtools/sparc/SUNWspro/SS12u1/bin \
>>>    --with-freetype=/java/devtools/sparc/freetype-sparc \
>>>    --with-target-bits=32 \
>>> 
>>> and this time the build worked.
>>> 
>>> Now, if I am not mistaken each of those are the default in the old build system.  Why aren't they the default in the new?
>>> 
>>> - jjh
>>> 
>>> 




More information about the build-infra-dev mailing list