You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Nataly Naumova <na...@gmail.com> on 2006/10/24 11:07:32 UTC

[drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Hi everybody.

I've found out that the kernel classes smoke tests (for DRLVM built by
Intel Compiler on Linux/ia32) are failed because of wrong enironment
set in "-run-kernel-test" target. The output message is
"..build/lnx_ia32_icc_debug/deploy/jre/bin/java: error while loading
shared libraries: libimf.so: cannot open shared object file: No such
file or directory".
The reason is that LD_LIBRARY_PATH is not set for this target in build
scripts, but libimf.so is needed for the classes loading.

As I understand LD_LIBRARY_PATH is not needed for classes loading for
DRLVM compiled by gcc, so everything is ok for gcc builds. This
variable was set for this target earlier, the string with
LD_LIBRARY_PATH setting is commented in make/targets/kernel.test.xml.
Does anybody knows why it was commented?
I've sent the patch which just comments the strings out
(HARMONY-1946)
-                    <!--env key="LD_LIBRARY_PATH"
value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" /-->
+                    <env key="LD_LIBRARY_PATH"
value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" />

Could anybody commit this?

Thanks.
--
Nataly Naumova,
Intel Middleware Products Division

Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by Nataly Naumova <na...@gmail.com>.
> I agree with Gregory that we probably don't want to do this in general
> to solve some problem specific to the intel compiler.  Maybe the
> solution is to have these changes conditional for when icc is being used?
>
> geir
>

Hi again.

I've attached another patch for this issue instead of the first one.
It set LD_LIBRARY_PATH for kernel.test target only in the case of
building with Intel Compiler. Otherwise this variable is unset as it
was before.
Thanks.

-- 
Nataly Naumova,
Intel Middleware Products Division

Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by "Geir Magnusson Jr." <ge...@pobox.com>.

Nataly Naumova wrote:
> Hi everybody.
> 
> I've found out that the kernel classes smoke tests (for DRLVM built by
> Intel Compiler on Linux/ia32) are failed because of wrong enironment
> set in "-run-kernel-test" target. The output message is
> "..build/lnx_ia32_icc_debug/deploy/jre/bin/java: error while loading
> shared libraries: libimf.so: cannot open shared object file: No such
> file or directory".
> The reason is that LD_LIBRARY_PATH is not set for this target in build
> scripts, but libimf.so is needed for the classes loading.
> 
> As I understand LD_LIBRARY_PATH is not needed for classes loading for
> DRLVM compiled by gcc, so everything is ok for gcc builds. This
> variable was set for this target earlier, the string with
> LD_LIBRARY_PATH setting is commented in make/targets/kernel.test.xml.
> Does anybody knows why it was commented?
> I've sent the patch which just comments the strings out
> (HARMONY-1946)
> -                    <!--env key="LD_LIBRARY_PATH"
> value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" /-->
> +                    <env key="LD_LIBRARY_PATH"
> value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" />
> 
> Could anybody commit this?

I agree with Gregory that we probably don't want to do this in general 
to solve some problem specific to the intel compiler.  Maybe the 
solution is to have these changes conditional for when icc is being used?

geir

> 
> Thanks.
> -- 
> Nataly Naumova,
> Intel Middleware Products Division

Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by Gregory Shimansky <gs...@gmail.com>.
On Wednesday 25 October 2006 13:13 Nataly Naumova wrote:
> > Could you also tell me which version of icc you are using?
>
> Sorry -
> icc -V
> Intel(R) C Compiler for 32-bit applications, Version 9.0    Build
> 20051020Z Package ID: l_cc_c_9.0.027

Hmm I've installed icc-9.0.32 (027 is not an option to download from Intel). 
The same error

       [cc] ld: tm_self_tls: TLS definition in ../_obj/thread_native_basic.o 
section .tbss mismatches non-TLS reference in ../_obj/thread_native_condvar.o
       [cc] ../_obj/thread_native_condvar.o: could not read symbols: Bad value

appeared again. Either my setup or thread manager files have a problem. I am 
not sure, but I'll try to figure out what's going wrong.

-- 
Gregory Shimansky, Intel Middleware Products Division

Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by Nataly Naumova <na...@gmail.com>.
> Could you also tell me which version of icc you are using?

Sorry -
icc -V
Intel(R) C Compiler for 32-bit applications, Version 9.0    Build
20051020Z Package ID: l_cc_c_9.0.027

-- 
Nataly Naumova,
Intel Middleware Products Division

Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by Gregory Shimansky <gs...@gmail.com>.
Nataly Naumova wrote:
> On 10/24/06, Gregory Shimansky <gs...@gmail.com> wrote:
>> BTW to test how things work with Intel compiler I've installed it on 
>> Gentoo
>> (version 9.1.042, it is marked as unstable, but the most recent 
>> "stable" is
>> very old - 7.1.006... which version do you use?) and failed to compile 
>> drlvm
>> with it. Something is wrong with thread manager linking
>>
>> build.native.link:
>>       [cc] 0 total files to be compiled.
>>       [cc] Starting link
>>       [cc] ld: tm_self_tls: TLS definition in 
>> ../_obj/thread_native_basic.o
>> section .tbss mismatches non-TLS reference in 
>> ../_obj/thread_native_condvar.o
>>       [cc] ../_obj/thread_native_condvar.o: could not read symbols: 
>> Bad value
>>
>> BUILD FAILED
>>
>> Does anyone know what's wrong and how to fix it? I tried to understand 
>> how
>> tm_self_tls is defined and couldn't, because its definition and usage in
>> different files is quite complicated. Maybe I need newer binutils 
>> (current
>> version is 2.16.1-r3 - latest stable), the "Bad value" seems to hint 
>> on this.
> 
> My binutils version is 2.15.91.0.2. Yours are newer..

Could you also tell me which version of icc you are using?

-- 
Gregory Shimansky, Intel Middleware Products Division


Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by Nataly Naumova <na...@gmail.com>.
On 10/24/06, Gregory Shimansky <gs...@gmail.com> wrote:
> BTW to test how things work with Intel compiler I've installed it on Gentoo
> (version 9.1.042, it is marked as unstable, but the most recent "stable" is
> very old - 7.1.006... which version do you use?) and failed to compile drlvm
> with it. Something is wrong with thread manager linking
>
> build.native.link:
>       [cc] 0 total files to be compiled.
>       [cc] Starting link
>       [cc] ld: tm_self_tls: TLS definition in ../_obj/thread_native_basic.o
> section .tbss mismatches non-TLS reference in ../_obj/thread_native_condvar.o
>       [cc] ../_obj/thread_native_condvar.o: could not read symbols: Bad value
>
> BUILD FAILED
>
> Does anyone know what's wrong and how to fix it? I tried to understand how
> tm_self_tls is defined and couldn't, because its definition and usage in
> different files is quite complicated. Maybe I need newer binutils (current
> version is 2.16.1-r3 - latest stable), the "Bad value" seems to hint on this.

My binutils version is 2.15.91.0.2. Yours are newer..

-- 
Nataly Naumova,
Intel Middleware Products Division

Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by Gregory Shimansky <gs...@gmail.com>.
BTW to test how things work with Intel compiler I've installed it on Gentoo 
(version 9.1.042, it is marked as unstable, but the most recent "stable" is 
very old - 7.1.006... which version do you use?) and failed to compile drlvm 
with it. Something is wrong with thread manager linking

build.native.link:
       [cc] 0 total files to be compiled.
       [cc] Starting link
       [cc] ld: tm_self_tls: TLS definition in ../_obj/thread_native_basic.o 
section .tbss mismatches non-TLS reference in ../_obj/thread_native_condvar.o
       [cc] ../_obj/thread_native_condvar.o: could not read symbols: Bad value

BUILD FAILED

Does anyone know what's wrong and how to fix it? I tried to understand how 
tm_self_tls is defined and couldn't, because its definition and usage in 
different files is quite complicated. Maybe I need newer binutils (current 
version is 2.16.1-r3 - latest stable), the "Bad value" seems to hint on this.

On Tuesday 24 October 2006 13:07 Nataly Naumova wrote:
> Hi everybody.
>
> I've found out that the kernel classes smoke tests (for DRLVM built by
> Intel Compiler on Linux/ia32) are failed because of wrong enironment
> set in "-run-kernel-test" target. The output message is
> "..build/lnx_ia32_icc_debug/deploy/jre/bin/java: error while loading
> shared libraries: libimf.so: cannot open shared object file: No such
> file or directory".
> The reason is that LD_LIBRARY_PATH is not set for this target in build
> scripts, but libimf.so is needed for the classes loading.
>
> As I understand LD_LIBRARY_PATH is not needed for classes loading for
> DRLVM compiled by gcc, so everything is ok for gcc builds. This
> variable was set for this target earlier, the string with
> LD_LIBRARY_PATH setting is commented in make/targets/kernel.test.xml.
> Does anybody knows why it was commented?
> I've sent the patch which just comments the strings out
> (HARMONY-1946)
> -                    <!--env key="LD_LIBRARY_PATH"
> value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" /-->
> +                    <env key="LD_LIBRARY_PATH"
> value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" />
>
> Could anybody commit this?
>
> Thanks.
> --
> Nataly Naumova,
> Intel Middleware Products Division

-- 
Gregory Shimansky, Intel Middleware Products Division

Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by Gregory Shimansky <gs...@gmail.com>.
Geir Magnusson Jr. wrote:
> 
> 
> Gregory Shimansky wrote:
>> Hello Nataly
>>
>> It looks like a workaround to me to run the tests for VM. To run other 
>> user applications we need a general solution about what to do with non 
>> standard libraries which Intel compiler links with.
>>
>> On Gentoo if you install icc, the system adds an entry to 
>> autogenerated /etc/ld.so.conf with path to Intel compiler installation 
>> to automatically include these libraries to linking path, but it seems 
>> not to be the case for other distributions like yours.
> 
> How useful is this if you want to give the binary to someone else?

It looks like it is either necessary to distribute these libraries with 
the binaries (I am not sure license allows it) or link statically with 
them if it is possible.

-- 
Gregory Shimansky, Intel Middleware Products Division


Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by "Geir Magnusson Jr." <ge...@pobox.com>.

Gregory Shimansky wrote:
> Hello Nataly
> 
> It looks like a workaround to me to run the tests for VM. To run other user 
> applications we need a general solution about what to do with non standard 
> libraries which Intel compiler links with.
> 
> On Gentoo if you install icc, the system adds an entry to 
> autogenerated /etc/ld.so.conf with path to Intel compiler installation to 
> automatically include these libraries to linking path, but it seems not to be 
> the case for other distributions like yours.

How useful is this if you want to give the binary to someone else?

geir

> 
> On Tuesday 24 October 2006 13:07 Nataly Naumova wrote:
>> Hi everybody.
>>
>> I've found out that the kernel classes smoke tests (for DRLVM built by
>> Intel Compiler on Linux/ia32) are failed because of wrong enironment
>> set in "-run-kernel-test" target. The output message is
>> "..build/lnx_ia32_icc_debug/deploy/jre/bin/java: error while loading
>> shared libraries: libimf.so: cannot open shared object file: No such
>> file or directory".
>> The reason is that LD_LIBRARY_PATH is not set for this target in build
>> scripts, but libimf.so is needed for the classes loading.
>>
>> As I understand LD_LIBRARY_PATH is not needed for classes loading for
>> DRLVM compiled by gcc, so everything is ok for gcc builds. This
>> variable was set for this target earlier, the string with
>> LD_LIBRARY_PATH setting is commented in make/targets/kernel.test.xml.
>> Does anybody knows why it was commented?
>> I've sent the patch which just comments the strings out
>> (HARMONY-1946)
>> -                    <!--env key="LD_LIBRARY_PATH"
>> value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" /-->
>> +                    <env key="LD_LIBRARY_PATH"
>> value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" />
>>
>> Could anybody commit this?
> 

Re: [drlvm][smoke_test] running kernel classes tests on DRLVM compiled with Intel Compiler (linux/ia32)

Posted by Gregory Shimansky <gs...@gmail.com>.
Hello Nataly

It looks like a workaround to me to run the tests for VM. To run other user 
applications we need a general solution about what to do with non standard 
libraries which Intel compiler links with.

On Gentoo if you install icc, the system adds an entry to 
autogenerated /etc/ld.so.conf with path to Intel compiler installation to 
automatically include these libraries to linking path, but it seems not to be 
the case for other distributions like yours.

On Tuesday 24 October 2006 13:07 Nataly Naumova wrote:
> Hi everybody.
>
> I've found out that the kernel classes smoke tests (for DRLVM built by
> Intel Compiler on Linux/ia32) are failed because of wrong enironment
> set in "-run-kernel-test" target. The output message is
> "..build/lnx_ia32_icc_debug/deploy/jre/bin/java: error while loading
> shared libraries: libimf.so: cannot open shared object file: No such
> file or directory".
> The reason is that LD_LIBRARY_PATH is not set for this target in build
> scripts, but libimf.so is needed for the classes loading.
>
> As I understand LD_LIBRARY_PATH is not needed for classes loading for
> DRLVM compiled by gcc, so everything is ok for gcc builds. This
> variable was set for this target earlier, the string with
> LD_LIBRARY_PATH setting is commented in make/targets/kernel.test.xml.
> Does anybody knows why it was commented?
> I've sent the patch which just comments the strings out
> (HARMONY-1946)
> -                    <!--env key="LD_LIBRARY_PATH"
> value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" /-->
> +                    <env key="LD_LIBRARY_PATH"
> value="${build.deploy.dir}/bin:${env.LD_LIBRARY_PATH}" />
>
> Could anybody commit this?

-- 
Gregory Shimansky, Intel Middleware Products Division