EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS 3.14.7 static client build
From: Ralph Lange <[email protected]>
To: Chris Slominski <[email protected]>
Cc: [email protected]
Date: Tue, 05 Jul 2005 10:54:20 -0400
I'm not sure if building static on HP is something that ever worked. Did
I write something about that in the .../doc/README file? I don't remember.

What you're seeing is probably a method that's never used, so with
dynamic linking the linker never searches for it and generates no error.
With static linking, the linker has to find and bind everything that is
defined at compile time, so it barks about the missing implementation.
I'm not sure about this special case, but there is a technique to keep
the compiler from generating default constructors that involves defining
them private and not provide implementations. Maybe the HP static build
is not capable of handling such situations. Could be a different thing
in your case, though.

Anyway - do you have to build it statically? Building statically on HP
always generated a lot of trouble, so if you're not forced to have a
static build, just do it dynamically. Or move to Linux. EPICS won't
support HP much longer (way too much effort for way to few remaining users).

Hope this helps,
Ralph


Chris Slominski wrote:

> I have built EPICS 3.14.7 for both linux-x86 and hpux-parisc. I can
> build a Linux client successfully using either the static or dynamic
> libraries. On the HP system, I can build with the dynamic libraries,
> but not the static. I get linker errors stating that "tcpiiu::operator
> new(unsigned long)" and "oldSubscription::operator new(unsigned long)"
> are undefined. I looked through the code for "tcpiiu::operator
> new(unsigned long)" and indeed found it in the class definition, but
> did not find an implementation. I did find an implementation for
> "tcpiiu:: operator new(size_t, tsFreeList<class
> tcpiiu,32,epicsMutexNOOP> &)". I am confused why the behavior of the
> linker differs from static and dynamic build. Any ideas?
>  
>          Thanks,
>               Chris


References:
EPICS 3.14.7 static client build Chris Slominski

Navigate by Date:
Prev: EPICS 3.14.7 static client build Chris Slominski
Next: RE: UDP send, errno=0x37 Allison, Stephanie
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: EPICS 3.14.7 static client build Chris Slominski
Next: RE: EPICS 3.14.7 static client build Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·