Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Test and Performance Tools Platform (TPTP) » new AC sdk link errors on linux
new AC sdk link errors on linux [message #82606] Tue, 05 September 2006 23:58 Go to next message
Eclipse UserFriend
Originally posted by: geoff.lambourne.catapult.com

I am trying to compile the TimeCollector sample agent from the new agent
controller sdk. However, I am getting many link errors. Using objdump I can
see the symbols exist in the library - however the name mangling is
different. I suspect this is because the shared libraries have been created
with a different g++ version.

My questions are...
1. What version of g++ is being used to create the shared libraries
2. Where in CVS can I find the new agent controller source such that I can
regenerate the libraries.

Version info:
agntctrl sdk 4.3.0-200609030100
OS: SuSE 10.0
g++: 3.4.3

==== sample link failure =====
g++ -o ../../bin/TimeCollector -L/lib -L../../lib TimeCollector.o -luuid
-ldl -ltptpAgentBase -ltptpUtils -lprocessControlUtil -ltr
ansportSupport -lpthread -ltptpLogUtils -ltptpConfig -ltransportSupport
-lhcclco -lhcclsm -lhccls
TimeCollector.o(.text+0x11e): In function
`TimeCollector::TimeCollector(char*)':
: undefined reference to `BaseCollectorImpl::BaseCollectorImpl(char*)'
TimeCollector.o(.text+0x1e8): In function
`TimeCollector::TimeCollector(char*)':
: undefined reference to `BaseAgentImpl::BaseAgentImpl(char*)'
.... etc

thank
Geoff
Re: new AC sdk link errors on linux [message #82619 is a reply to message #82606] Wed, 06 September 2006 02:06 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: geoff.lambourne.catapult.com

A different link problem when trying to start the java sample agent
org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent

The agent.xml I was setting up is basically trying to run this..

java -classpath
<longpath> /org.eclipse.tptp.platform.execution_4.2.0.v200606140100/tpt pcore.jar
org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent

and gets the exception below. It looks to me that the libjavaBaseAgent.so
should be linked against the libprocessControlUtil.so.

Version details:
java agent from:
org.eclipse.tptp.platform.execution_4.2.0.v200606140100/tptp core.jar
agntctrl:
/tptp/4.2.0.2/TPTP-4.2.0.2-200608021100/agntctrl.linux_ia32- TPTP-4.2.0.2.zip

==== exception ====
java.lang.UnsatisfiedLinkError: /space/geoff/downloads/eclipse/3.2/agntctrl/lib/libjavaBaseA gent.so.4.2.0: /space/geoff/downloads/eclipse/3.2/agntctrl/lib/libtptpConfi g.so.4:
undefined symbol: freeEnvironmentStrings
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at
org.eclipse.tptp.platform.execution.datacollection.BaseAgent . <clinit>(BaseAgent.java:98)
org.eclipse.tptp.platform.execution.exceptions.NativeLibrary NotFound: Error:
The native library not found.
at
org.eclipse.tptp.platform.execution.datacollection.BaseAgent .init(BaseAgent.java:161)
at
org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.<init >(TPTPJavaAgent.java:54)
at
org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.ma in(TPTPJavaAgent.java:63)
Exception in thread "main" java.lang.UnsatisfiedLinkError: register0
at
org.eclipse.tptp.platform.execution.datacollection.BaseAgent .register
(Native Method)
at
org.eclipse.tptp.platform.execution.datacollection.BaseAgent .register(BaseAgent.java:202)
at
org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.ma in(TPTPJavaAgent.java:68)

regards
geoff

Geoff Lambourne wrote:

>
> I am trying to compile the TimeCollector sample agent from the new agent
> controller sdk. However, I am getting many link errors. Using objdump I
> can see the symbols exist in the library - however the name mangling is
> different. I suspect this is because the shared libraries have been
> created with a different g++ version.
>
> My questions are...
> 1. What version of g++ is being used to create the shared libraries
> 2. Where in CVS can I find the new agent controller source such that I can
> regenerate the libraries.
>
> Version info:
> agntctrl sdk 4.3.0-200609030100
> OS: SuSE 10.0
> g++: 3.4.3
>
> ==== sample link failure =====
> g++ -o ../../bin/TimeCollector -L/lib -L../../lib TimeCollector.o -luuid
> -ldl -ltptpAgentBase -ltptpUtils -lprocessControlUtil -ltr
> ansportSupport -lpthread -ltptpLogUtils -ltptpConfig -ltransportSupport
> -lhcclco -lhcclsm -lhccls
> TimeCollector.o(.text+0x11e): In function
> `TimeCollector::TimeCollector(char*)':
> : undefined reference to `BaseCollectorImpl::BaseCollectorImpl(char*)'
> TimeCollector.o(.text+0x1e8): In function
> `TimeCollector::TimeCollector(char*)':
> : undefined reference to `BaseAgentImpl::BaseAgentImpl(char*)'
> ... etc
>
> thank
> Geoff
Re: new AC sdk link errors on linux [message #82630 is a reply to message #82606] Wed, 06 September 2006 05:39 Go to previous messageGo to next message
Karla Callaghan is currently offline Karla CallaghanFriend
Messages: 10
Registered: July 2009
Junior Member
RH AS2.1, gcc 2.96 is used for the Linux IA32 build of the new tech AC that
gets packaged.
We do development work using Suse10.0 - so you shouldn't have a problem
recompiling the libs on that OS and using them to build the samples.

You'll find instructions on where the source is located and how to build it
in the bin/readme.txt file that comes with the sdk package.

Regards,
Karla Callaghan

"Geoff Lambourne" <geoff.lambourne@catapult.com> wrote in message
news:edl323$40m$1@utils.eclipse.org...
>
> I am trying to compile the TimeCollector sample agent from the new agent
> controller sdk. However, I am getting many link errors. Using objdump I
> can
> see the symbols exist in the library - however the name mangling is
> different. I suspect this is because the shared libraries have been
> created
> with a different g++ version.
>
> My questions are...
> 1. What version of g++ is being used to create the shared libraries
> 2. Where in CVS can I find the new agent controller source such that I can
> regenerate the libraries.
>
> Version info:
> agntctrl sdk 4.3.0-200609030100
> OS: SuSE 10.0
> g++: 3.4.3
>
> ==== sample link failure =====
> g++ -o ../../bin/TimeCollector -L/lib -L../../lib TimeCollector.o -luuid
> -ldl -ltptpAgentBase -ltptpUtils -lprocessControlUtil -ltr
> ansportSupport -lpthread -ltptpLogUtils -ltptpConfig -ltransportSupport
> -lhcclco -lhcclsm -lhccls
> TimeCollector.o(.text+0x11e): In function
> `TimeCollector::TimeCollector(char*)':
> : undefined reference to `BaseCollectorImpl::BaseCollectorImpl(char*)'
> TimeCollector.o(.text+0x1e8): In function
> `TimeCollector::TimeCollector(char*)':
> : undefined reference to `BaseAgentImpl::BaseAgentImpl(char*)'
> ... etc
>
> thank
> Geoff
Re: new AC sdk link errors on linux [message #82664 is a reply to message #82619] Wed, 06 September 2006 12:23 Go to previous messageGo to next message
Guru Nagarajan is currently offline Guru NagarajanFriend
Messages: 45
Registered: July 2009
Member
Geoff,
The native library "javabaseagent" is not available. This is the
library that provides the native access to the Java Agent and is
dependent on lib agentbase.

Can you check to see if there is libjavabaseagent.so in the TPTPT_AC/bin
directory?
Did you try and compile javaBaseAgent native library? If you had
problems compiling the native library can you post the errors you
encountered?

-Guru
Geoff Lambourne wrote:
> A different link problem when trying to start the java sample agent
> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent
>
> The agent.xml I was setting up is basically trying to run this..
>
> java -classpath
> <longpath> /org.eclipse.tptp.platform.execution_4.2.0.v200606140100/tpt pcore.jar
> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent
>
> and gets the exception below. It looks to me that the libjavaBaseAgent.so
> should be linked against the libprocessControlUtil.so.
>
> Version details:
> java agent from:
> org.eclipse.tptp.platform.execution_4.2.0.v200606140100/tptp core.jar
> agntctrl:
> /tptp/4.2.0.2/TPTP-4.2.0.2-200608021100/agntctrl.linux_ia32- TPTP-4.2.0.2.zip
>
> ==== exception ====
> java.lang.UnsatisfiedLinkError: /space/geoff/downloads/eclipse/3.2/agntctrl/lib/libjavaBaseA gent.so.4.2.0: /space/geoff/downloads/eclipse/3.2/agntctrl/lib/libtptpConfi g.so.4:
> undefined symbol: freeEnvironmentStrings
> at java.lang.ClassLoader$NativeLibrary.load(Native Method)
> at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
> at java.lang.Runtime.loadLibrary0(Runtime.java:822)
> at java.lang.System.loadLibrary(System.java:992)
> at
> org.eclipse.tptp.platform.execution.datacollection.BaseAgent . <clinit>(BaseAgent.java:98)
> org.eclipse.tptp.platform.execution.exceptions.NativeLibrary NotFound: Error:
> The native library not found.
> at
> org.eclipse.tptp.platform.execution.datacollection.BaseAgent .init(BaseAgent.java:161)
> at
> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.<init >(TPTPJavaAgent.java:54)
> at
> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.ma in(TPTPJavaAgent.java:63)
> Exception in thread "main" java.lang.UnsatisfiedLinkError: register0
> at
> org.eclipse.tptp.platform.execution.datacollection.BaseAgent .register
> (Native Method)
> at
> org.eclipse.tptp.platform.execution.datacollection.BaseAgent .register(BaseAgent.java:202)
> at
> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.ma in(TPTPJavaAgent.java:68)
>
> regards
> geoff
>
> Geoff Lambourne wrote:
>
>> I am trying to compile the TimeCollector sample agent from the new agent
>> controller sdk. However, I am getting many link errors. Using objdump I
>> can see the symbols exist in the library - however the name mangling is
>> different. I suspect this is because the shared libraries have been
>> created with a different g++ version.
>>
>> My questions are...
>> 1. What version of g++ is being used to create the shared libraries
>> 2. Where in CVS can I find the new agent controller source such that I can
>> regenerate the libraries.
>>
>> Version info:
>> agntctrl sdk 4.3.0-200609030100
>> OS: SuSE 10.0
>> g++: 3.4.3
>>
>> ==== sample link failure =====
>> g++ -o ../../bin/TimeCollector -L/lib -L../../lib TimeCollector.o -luuid
>> -ldl -ltptpAgentBase -ltptpUtils -lprocessControlUtil -ltr
>> ansportSupport -lpthread -ltptpLogUtils -ltptpConfig -ltransportSupport
>> -lhcclco -lhcclsm -lhccls
>> TimeCollector.o(.text+0x11e): In function
>> `TimeCollector::TimeCollector(char*)':
>> : undefined reference to `BaseCollectorImpl::BaseCollectorImpl(char*)'
>> TimeCollector.o(.text+0x1e8): In function
>> `TimeCollector::TimeCollector(char*)':
>> : undefined reference to `BaseAgentImpl::BaseAgentImpl(char*)'
>> ... etc
>>
>> thank
>> Geoff
>
Re: new AC sdk link errors on linux [message #82828 is a reply to message #82664] Wed, 06 September 2006 22:12 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: geoff.lambourne.catapult.com

There is a libjavaBaseAgent.so (libjavaBaseAgent.so.4.2.0) in the lib directory.

This error occurs using the runtime agntctrl code. I probably should have started
another thread as I'm getting off the original subject. But I didn't compiled anything.

The exception trace maybe missleading as I had wordwrap enabled. The first line
includes everything upto the freeEnvironmentStrings text.

java.lang.UnsatisfiedLinkError: /space/geoff/downloads/eclipse/3.2/agntctrl-4.3.0-2006090301 00/lib/libjavaBaseAgent.so.4.2.1: /space/geoff/downloads/eclipse/3.2/agntctrl-4.3.0-2006090301 00/lib/libtptpConfig.so.4: undefined symbol: freeEnvironmentStrings
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
.....

Using objdump I can workout that freeEnvironmentStrings is defined in
libprocessControlUtil.so.4.2.1 and there is only one undefined referenced
to it, in libtptpConfig.so.4.2.1. I also noticed that libprocessControlUtil is
not referenced by any libraries in the lib directory.

I think libtptpConfig (not libjavaBaseAgent as I mentioned before) should be
linked against libprocessControlUtil.

regards
geoff

Guru Nagarajan wrote:

> Geoff,
> The native library "javabaseagent" is not available. This is the
> library that provides the native access to the Java Agent and is
> dependent on lib agentbase.
>
> Can you check to see if there is libjavabaseagent.so in the TPTPT_AC/bin
> directory?
> Did you try and compile javaBaseAgent native library? If you had
> problems compiling the native library can you post the errors you
> encountered?
>
> -Guru
> Geoff Lambourne wrote:
>> A different link problem when trying to start the java sample agent
>> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent
>>
>> The agent.xml I was setting up is basically trying to run this..
>>
>> java -classpath
>> <longpath> /org.eclipse.tptp.platform.execution_4.2.0.v200606140100/tpt pcore.jar
>> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent
>>
>> and gets the exception below. It looks to me that the libjavaBaseAgent.so
>> should be linked against the libprocessControlUtil.so.
>>
>> Version details:
>> java agent from:
>> org.eclipse.tptp.platform.execution_4.2.0.v200606140100/tptp core.jar
>> agntctrl:
>> /tptp/4.2.0.2/TPTP-4.2.0.2-200608021100/agntctrl.linux_ia32- TPTP-4.2.0.2.zip
>>
>> ==== exception ====
>> java.lang.UnsatisfiedLinkError:
>> /space/geoff/downloads/eclipse/3.2/agntctrl/lib/libjavaBaseA gent.so.4.2.0:
>> /space/geoff/downloads/eclipse/3.2/agntctrl/lib/libtptpConfi g.so.4:
>> undefined symbol: freeEnvironmentStrings
>> at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>> at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
>> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
>> at java.lang.Runtime.loadLibrary0(Runtime.java:822)
>> at java.lang.System.loadLibrary(System.java:992)
>> at
>> org.eclipse.tptp.platform.execution.datacollection.BaseAgent . <clinit>(BaseAgent.java:98)
>> org.eclipse.tptp.platform.execution.exceptions.NativeLibrary NotFound:
>> Error: The native library not found.
>> at
>> org.eclipse.tptp.platform.execution.datacollection.BaseAgent .init(BaseAgent.java:161)
>> at
>> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.<init >(TPTPJavaAgent.java:54)
>> at
>> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.ma in(TPTPJavaAgent.java:63)
>> Exception in thread "main" java.lang.UnsatisfiedLinkError: register0
>> at
>> org.eclipse.tptp.platform.execution.datacollection.BaseAgent .register
>> (Native Method)
>> at
>> org.eclipse.tptp.platform.execution.datacollection.BaseAgent .register(BaseAgent.java:202)
>> at
>> org.eclipse.tptp.platform.execution.samples.TPTPJavaAgent.ma in(TPTPJavaAgent.java:68)
>>
>> regards
>> geoff
>>
>> Geoff Lambourne wrote:
>>
>>> I am trying to compile the TimeCollector sample agent from the new agent
>>> controller sdk. However, I am getting many link errors. Using objdump I
>>> can see the symbols exist in the library - however the name mangling is
>>> different. I suspect this is because the shared libraries have been
>>> created with a different g++ version.
>>>
>>> My questions are...
>>> 1. What version of g++ is being used to create the shared libraries
>>> 2. Where in CVS can I find the new agent controller source such that I
>>> can regenerate the libraries.
>>>
>>> Version info:
>>> agntctrl sdk 4.3.0-200609030100
>>> OS: SuSE 10.0
>>> g++: 3.4.3
>>>
>>> ==== sample link failure =====
>>> g++ -o ../../bin/TimeCollector -L/lib -L../../lib TimeCollector.o
>>> -luuid -ldl -ltptpAgentBase -ltptpUtils -lprocessControlUtil -ltr
>>> ansportSupport -lpthread -ltptpLogUtils -ltptpConfig -ltransportSupport
>>> -lhcclco -lhcclsm -lhccls
>>> TimeCollector.o(.text+0x11e): In function
>>> `TimeCollector::TimeCollector(char*)':
>>> : undefined reference to `BaseCollectorImpl::BaseCollectorImpl(char*)'
>>> TimeCollector.o(.text+0x1e8): In function
>>> `TimeCollector::TimeCollector(char*)':
>>> : undefined reference to `BaseAgentImpl::BaseAgentImpl(char*)'
>>> ... etc
>>>
>>> thank
>>> Geoff
>>
Re: new AC sdk link errors on linux [message #82857 is a reply to message #82828] Wed, 06 September 2006 23:36 Go to previous messageGo to next message
Randy D. Smith is currently offline Randy D. SmithFriend
Messages: 394
Registered: July 2009
Senior Member
Geoff Lambourne wrote:
> There is a libjavaBaseAgent.so (libjavaBaseAgent.so.4.2.0) in the lib directory.
>
> This error occurs using the runtime agntctrl code. I probably should have started
> another thread as I'm getting off the original subject. But I didn't compiled anything.
>
> The exception trace maybe missleading as I had wordwrap enabled. The first line
> includes everything upto the freeEnvironmentStrings text.
>
> java.lang.UnsatisfiedLinkError: /space/geoff/downloads/eclipse/3.2/agntctrl-4.3.0-2006090301 00/lib/libjavaBaseAgent.so.4.2.1: /space/geoff/downloads/eclipse/3.2/agntctrl-4.3.0-2006090301 00/lib/libtptpConfig.so.4: undefined symbol: freeEnvironmentStrings
> at java.lang.ClassLoader$NativeLibrary.load(Native Method)
> ....
>
> Using objdump I can workout that freeEnvironmentStrings is defined in
> libprocessControlUtil.so.4.2.1 and there is only one undefined referenced
> to it, in libtptpConfig.so.4.2.1. I also noticed that libprocessControlUtil is
> not referenced by any libraries in the lib directory.
>
> I think libtptpConfig (not libjavaBaseAgent as I mentioned before) should be
> linked against libprocessControlUtil.
>
> regards
> geoff

Do you want to file a bugzilla against that for us?

--
RDS

Randy D. Smith randy (dot) d (dot) smith (at) intel (dot) com
Eclipse TPTP Committer, Platform Proj (data collection/agent controller)
Re: new AC sdk link errors on linux [message #82887 is a reply to message #82857] Thu, 07 September 2006 06:24 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: geoff.lambourne.catapult.com

> Do you want to file a bugzilla against that for us?

I'm a newbie to tptp and eclipse, so I'll look into it a bit more to make
sure I'm not doing something stupid. If I'm not, I'll have a go at entering
a bug report.

regards
geoff
Re: new AC sdk link errors on linux [message #82917 is a reply to message #82887] Thu, 07 September 2006 14:45 Go to previous message
Randy D. Smith is currently offline Randy D. SmithFriend
Messages: 394
Registered: July 2009
Senior Member
Geoff Lambourne wrote:
>>Do you want to file a bugzilla against that for us?
>
>
> I'm a newbie to tptp and eclipse, so I'll look into it a bit more to make
> sure I'm not doing something stupid. If I'm not, I'll have a go at entering
> a bug report.
>
> regards
> geoff
>

If you're trying to build the stuff and you're seeing what you're
seeing, you're not doing anything stupid. The reference to the
"freeEnvironmentStrings" was the tip-off for me... I remember this was
one of the places where I found some differences between what the
"original RAC libraries" had become and what the AC copies of those
libraries had become before we switched back to building with the
up-to-date RAC libraries directly.

The instructions you're going by do talk about downloading the RAC's SDK
and putting it in $RAC_SDK_HOME, right? If so and you're doing that,
it's our fault that we're not picking up the right things.

--
RDS

Randy D. Smith randy (dot) d (dot) smith (at) intel (dot) com
Eclipse TPTP Committer, Platform Proj (data collection/agent controller)
Previous Topic:Coverage misses simple getters
Next Topic:workbench as context ignored?
Goto Forum:
  


Current Time: Sat Apr 27 05:05:24 GMT 2024

Powered by FUDForum. Page generated in 0.03785 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top