Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
<== Date ==> <== Thread ==>

Subject: Re: error while building ChannelArchiver2.8.1 in RedHat9
From: Kay-Uwe Kasemir <kasemirk@ornl.gov>
To: Liu Shu <liushu@mail.ihep.ac.cn>
Cc: tech-talk@aps.anl.gov
Date: Sat, 08 Jul 2006 11:28:23 -0400

On Jul 8, 2006, at 00:18 , Liu Shu wrote:


Hi:
I have ever installed ChannelArchiver2.6.0 in Redhat 9 successfully,while
when I build ChannelArchiver2.8.1 in RedHat 9 I got error:
......
/usr/bin/g++ -o ArchiveDataServerStandalone -L../../../../lib/ linux-x86/
-L/home/epicsadm/epics/base3.14.7/lib/linux-x86/
-L../../../../xerces-c-src2_4_0/lib -lxerces-c
-Wl,-rpath,/home/epicsadm/epics/extensions/lib/linux-x86
-Wl,-rpath,/home/epicsadm/epics/base3.14.7/lib/linux-x86 ServerConfig.o
ArchiveDataServer.o main_standalone.o -lDataServer -lStorage - lTools
-lrecIoc -lsoftDevIoc -liocsh -lmiscIoc -lrsrvIoc -ldbtoolsIoc - lasIoc -ldbIoc
-lregistryIoc -ldbStaticIoc -lca -lCom -L/home/epicsadm/epics/ extensions/lib
-lxmlrpc_abyss_server -lxmlrpc_abyss -lxmlrpc -lxmlrpc_xmlparse - lxmlrpc_xmltok
../../../../lib/linux-x86//libDataServer.so: undefined reference to
`xmlrpc_client_call'


The problem results from the use of shared libraries.

The ArchiveDataServer* uses the _server_ portion of the XML-RPC library,
so the linker line only includes the server flags,
which it obtains from some xml-rpc-c-config tool.

However, it also links with the libDataServer library, which includes
all sorts of things, including some _client_ code.
If libDataServer was build as a static library, all is fine,
because that client code isn't linked.
But when you build libDataServer as a shared library,
I think the OS tries to load the full library,
trying to resolve everything, but since only the XML-RPC-server
portion resolves, you get the error message about the missing xmlrpc_client_call.


That's why I added this to the ChannelArchiver/make.cfg:

   # These are overrides for CONFIG_SITE.
   # You can try to build shared libs, but don't come running!
   SHARED_LIBRARIES = NO

You indicated that you changed that to SHARED_LIBRARIES = YES.
I'm afraid you'll have to figure out how to invoke the xml-rpc-c- config with the approriate
options, or stick with SHARED_LIBRARIES = NO.


-Kay



References:
error while building ChannelArchiver2.8.1 in RedHat9 Liu Shu

Navigate by Date:
Prev: error while building ChannelArchiver2.8.1 in RedHat9 Liu Shu
Next: mca R6-7 released Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
Navigate by Thread:
Prev: error while building ChannelArchiver2.8.1 in RedHat9 Liu Shu
Next: mca R6-7 released Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·