Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 148890

Summary: Agent Controller v4.1 fails to start (on Ubuntu Dapper Drake)
Product: z_Archived Reporter: Krzysztof Kaczmarski <kaczmars>
Component: TPTPAssignee: Bing Xu <xubing>
Status: CLOSED WONTFIX QA Contact:
Severity: major    
Priority: P3 CC: karla.callaghan, michael.johnson, tristan_schmelcher
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux-GTK   
Whiteboard: housecleaned460 closed471

Description Krzysztof Kaczmarski CLA 2006-06-27 16:38:47 EDT
Agent Controller v4.1 + Eclipse 3.1.2 + 
Ubuntu Dapper Drake + libstdc++2.10-glibc2.2

when executing RAStart.sh always get:
RAServer: error while loading shared libraries: ../lib/libxerces-c.so.24: file too short

A solution posted to news does not solve the problem.
(http://dev.eclipse.org/newslists/news.eclipse.tptp/msg01150.html)
Comment 1 Karla Callaghan CLA 2006-06-27 17:46:27 EDT
Assigning to Samson for follow-up.

FYI - we once received a report of a file too short error like this when launching the agent controller that was caused by the accidental use of WinZip to unzip their Linux pkg (they'd cross mounted the file-system).  WinZip doesn't handle symbolic links and I believe that libxerces-c.so.24 is just that.
Comment 2 Krzysztof Kaczmarski CLA 2006-06-28 02:55:35 EDT
I was not using anything like WinZip but only native linux dearchiver.
Comment 3 Samson Wai CLA 2006-06-28 12:36:08 EDT
Hi. Here are some questions:
1. What type of file system are you using to install the Agent Controller? ext2? FAT?
2. What command did you use to unzip the Agent Controller? Is it just "unzip <Agent Controller zip file>"?
3. Can you show me the output of "ldd -r libxerces-c.so" under the Agent Controller's "lib" directory?

Thanks.
Comment 4 Krzysztof Kaczmarski CLA 2006-06-29 01:02:03 EDT
1. ext3
2. unzip (I had never any problems with that)
3. /usr/share/RAService/lib$ ldd -r libxerces-c.so
        not a dynamic executable
Comment 5 Krzysztof Kaczmarski CLA 2006-06-29 01:14:05 EDT
Maybe I should just compile it in my environment ?
Comment 6 Samson Wai CLA 2006-06-29 12:07:09 EDT
Hi. Recompiling the Xerces-C code will be a good start. We use the pre-built Xerces-C 2.6 binary downloaded from Apache. That binary is compiled by Apache using RedHat 8 with gcc 3.2.

Please also run "ldd -r" on the Agent Controller executable "RAServer" to see if this can be recognized as well.

We haven't run our test using Ubuntu. There might be a compatibility problem between these distributions of linux.
Comment 7 Karla Callaghan CLA 2006-07-17 18:10:33 EDT
Retarget to 4.3 pending more information - this is occuring on untested platform, added platform to the bug title.

Need response to comment #6 as to whether recompiling resoved the issue. 
Comment 8 Krzysztof Kaczmarski CLA 2006-07-18 01:50:06 EDT
Hmmm, yes, I need some clues how to recompile it, please. 
As far as I understand the only problem is in libxerces.
Where can I get the source code and make files from? 
Comment 9 Karla Callaghan CLA 2006-07-18 17:55:06 EDT
The Xerces-C++ XML Parser v2.6 is located at the Apache website:
http://xml.apache.org/xerces-c.

We are not using the latest release, so goto Downloads then "archive download site", then select Xerces-C_2_6_0 beneath which you'll find the src tar file.  After downloading the tar file, click on Build Instructions (located on left side bar, below Downloads) and find those for "Building Xerces-C++ on UNIX platforms".  Read them, then follow them exactly as they suggest.
Comment 10 Krzysztof Kaczmarski CLA 2006-07-19 02:53:15 EDT
I downloaded xerces-c-src_2_6_0.tar.gz
I followed Build Instructions and libraries were built ok.
I copied  libxerces-c.so, libxerces-c.so.26, libxerces-c.so.26.0
then:

@rafael:/usr/share/RAService/bin#./RAStart.sh
Starting Agent Controller
RAServer: error while loading shared libraries: libxerces-c.so.24: cannot open shared object file: No such file or directory
RAServer failed to start

so I dowloaded xerces-c-src2_4_0.tar.gz
I followed Build Instructions but it does not build correctly!
The first error was:

/include/xercesc/util/RefArrayOf.c:134: error: invalid use of undefined type ‘struct xercesc_2_4::MemoryManager’

followed by others and the result was:

make[2]: *** [DOMAttrImpl.o] Error 1
make[2]: Leaving directory `/home/krzysztof/installs/xerces-c-src2_4_0/src/xercesc/dom/impl'
make[1]: *** [impl] Error 2
make[1]: Leaving directory `/home/krzysztof/installs/xerces-c-src2_4_0/src/xercesc/dom'
make: *** [Dom] Error 2

So I used version 2.6 again but renaming libraries to 24 (just a try) and also failed:

@rafael:/usr/share/RAService/bin#./RAStart.sh
Starting Agent Controller
RAServer: symbol lookup error: ../lib/libhcclserc.so: undefined symbol: getColumnNumber__CQ211xercesc_2_417SAXParseException
RAServer failed to start
Comment 11 Karla Callaghan CLA 2006-07-19 13:44:32 EDT
I'm sorry.  When I told you to build Xerces 2.6 I forgot you were trying to use Agent Controller 4.1 - which did use Xerces 2.4.  You have already done all that I would have suggested and I don't have any ideas on why the Xerces 2.4 build failed.  The error looks like a header file mismatch.

Do you have a specific reason for using the 4.1 Agent Controller?  We released the 4.2 Agent Controller at the end of June and that version uses the Xerces 2.6 libraries.  Since 4.2 is basicly the same as 4.1, but with many bugs fixed, I suggest you move forward to the newer version, saving the Xerces 2.6 libs you just built in case those provided with the newer pkg don't work on your system.
Comment 12 Krzysztof Kaczmarski CLA 2006-07-20 02:50:18 EDT
I downloaded version 4.2
First tired it as it is... not success:

Starting Agent Controller
RAServer: error while loading shared libraries: ../lib/libxerces-c.so.26: file t oo short
RAServer failed to start

So I took already prepared newly compiled libxerces, copied to lib directory and:

krzysztof@rafael:~/installs/AgentControler/bin$ ./RAStart.sh
Starting Agent Controller
RAServer: symbol lookup error: ../lib/libhcclserc.so: undefined symbol: _Q211xercesc_2_66XMLUni.fgXercescDefaultLocale
RAServer failed to start
Comment 13 Samson Wai CLA 2006-08-03 15:20:46 EDT
The Agent Controller is linked with the Xerces-C library during compilation time (not dynamically loaded through dlopen) so I cannot tell for sure whether the Agent Controller libraries and the newly compiled Xerces-C libraries are binary compatible.

I will check around to see if someone has the Ubuntu Dapper Drake to try recompiling the Agent Controller. That will possibly show that binaries compiled on ReaHat are not necessarily binary-compatible with Ubuntu.
Comment 14 Samson Wai CLA 2006-08-09 09:06:09 EDT
Hi. I am installing Ubuntu 6.06 desktop to give that a try. Are you using the "i386" or the "amd64" distribution?
Comment 15 Krzysztof Kaczmarski CLA 2006-08-09 10:54:36 EDT
i686-- you may install i386 and then download i686 kernel.
Comment 16 Samson Wai CLA 2006-08-14 14:22:37 EDT
Krzysztof, I have ubuntu installed and can reproduce the same problem as you "RAServer: symbol lookup error: ../lib/libhcclserc.so: undefined symbol:
_Q211xercesc_2_66XMLUni.fgXercescDefaultLocale". I will continue to investigate the problem and try to recompile the Agent Controller next.
Comment 17 Samson Wai CLA 2006-08-14 15:35:01 EDT
It turns out that the "RAServer" executable is also compiled/linked with the "libstdc++-libc6.2-2.so.3" library which is not available on ubuntu. We will need to find out whether this C++ library is actually required by the Agent Controller or just a dependency carried over by Xerces-C. If the latter is true, what we can do is to load the Xerces-C library dynamically at runtime instead of compile/link with it during build time.
Comment 18 Krzysztof Kaczmarski CLA 2006-08-14 15:42:02 EDT
Samson, I solved the problem in another way.
I wanted to start Agent Controller due to the fact that TPTP was not able to work correctlly with its built-in controller. I got some strange errors when trying to profile an application. Thus, I decided to use external Agent Controller. 
However, now I tried Callisto and TPTP works now perfectly as it is.

So the problem is no longer critical for me, but of course remains open. 
I will try to help you as much as I can using my system.
(I am glad that compilation errors were not just my fault :))
I hope that we shall find an answer to this probem.
Comment 19 Samson Wai CLA 2006-08-15 10:08:17 EDT
So it looks like you are using the Integrated Agent Controller inside Callisto. That does not have all those libstdc++ dependencies. Glad to hear that it works for you.

In the meantime, I will keep this open and lower the severity to "major".
Comment 20 Samson Wai CLA 2006-10-30 10:27:37 EST
Not containable in 4.3 and retarget to 4.4. Please let me know if you have any concern.
Comment 21 Samson Wai CLA 2007-01-31 12:23:57 EST
Retarget to future due to resource limitation.
Comment 22 Samson Wai CLA 2007-11-27 09:33:00 EST
Hi Bing. I have transferred my bugs to you for triage. Thanks.
Comment 23 Mike Johnson CLA 2008-02-12 13:58:35 EST
The build completely borked on Linux. This is my first time trying to use the project. I installed from europa discovery site and was directed to run ACStartup.sh manually by some posts on the internet to no avail. The message the original poster got was indeed caused by bad packaging of symbolic links.

Some more related things I found while trying to work around this:

- bad symbolic links. Most of the files included are one liners containing the name of the file. I did something like:
mkdir bad
find . -size 1k -exec mv {} bad \;
for file in `ls -1 *.4.4.0`; do
 linked="${file%4.4.0}4"
 echo ln -s $file $linked
 ln -s $file $linked
done

- no libstdc++-libc6.2-2.so.3 (on ubuntu)
ln -s /usr/lib/libstdc++.so.6 libstdc++-libc6.2-2.so.3

- linked to wrong xerces lib
cp libxerces-c.so.26.0 libxerces-c.so.26

- found missing links to mozilla using ldd. fixed by adding /usr/lib/firefox to LD_LIBRARY_PATH in ACStart

- ACStart uses [ == ]. they meant '='

Still left with:
$ ./ACStart.sh 
Starting Agent Controller.
ACServer: symbol lookup error: ../lib/libtptpUtils.so.4: undefined symbol: __ti3ios
ACServer failed to start.
$ nm * | grep ti3ios
         U __ti3ios
         U __ti3ios
         U __ti3ios
         U __ti3ios

$ ldd libtptpUtils.so.4
        linux-gate.so.1 =>  (0xffffe000)
        libuuid.so.1 => /lib/libuuid.so.1 (0xb7eff000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7efa000)
        libxerces-c.so.26 => /home/johnsm89/eclipse/plugins/org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200709261752/agent_controller/lib/../lib/libxerces-c.so.26 (0xb7af3000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7adb000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7991000)
        /lib/ld-linux.so.2 (0x80000000)
        libstdc++-libc6.2-2.so.3 => /home/johnsm89/eclipse/plugins/org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200709261752/agent_controller/lib/../lib/libstdc++-libc6.2-2.so.3 (0xb789e000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7878000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb786d000)

(set the path to what the ACStartup.sh uses)
$ echo $LD_LIBRARY_PATH
/home/johnsm89/eclipse/plugins/org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200709261752/agent_controller/lib/../lib:/usr/java/jdk1.5.0_14/jre/lib/i386/server:/usr/java/jdk1.5.0_14/jre/lib/i386:/usr/lib:/home/johnsm89/eclipse/plugins/org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200709261752/agent_controller/lib:/usr/java/jdk1.5.0_14/jre/lib/i386:/usr/java/jdk1.5.0_14/jre/lib/i386/xawt:/usr/lib/firefox

$ ldd * | grep found
$
Comment 24 Tristan Schmelcher CLA 2008-04-06 00:33:58 EDT
Mike:

I can confirm all of the problems that you mention are also present in 4.4.1, except the Xerces lib issue. I was finally able to solve the undefined symbol errors when I found out by reading bug 150992 that you need to install that same weird libstdc++ version that they are using. Amazingly, it's still provided on Ubuntu Gutsy as some sort of legacy package: "libstdc++2.10-glibc2.2". After I installed that I was finally able to profile my app.

Hope that helps.
Comment 25 Paul Slauenwhite CLA 2009-06-30 06:57:09 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. Since this defect is more than 2 years old, it may be no longer relevant. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this defect is resolved as WONTFIX. If this defect is still relevant and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.
Comment 26 Mike Johnson CLA 2009-06-30 11:53:42 EDT
No idea, sorry. I switched to Netbeans eventually.
Comment 27 Kathy Chan CLA 2010-11-18 23:09:10 EST
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.