new build uses wrong libfreetype.so
Kelly O'Hair
kelly.ohair at oracle.com
Fri Oct 19 11:51:38 PDT 2012
On Oct 17, 2012, at 12:28 PM, Jim Holmlund wrote:
>
>
> On 10/15/2012 10:03 AM, Kelly O'Hair wrote:
>> 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.
> Ok. I've been using it since oscar was a pup with none of those problems occuring.
Yeah, right, like I've never gotten emails from Jim Holmlund that his builds stopped working. :^)
-kto
> - jjh
>
>> -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