static build fails on HPUX
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Won't Fix
|
Wishlist
|
Andrew Johnson |
Bug Description
From Chris Slominski,
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 "oldSubscriptio
Additional information:
The intent was to declare these new operators private to prevent accidental use of compiler generated defaults.
OS: HP-UX
Version: R3.14.7
Original Mantis Bug: mantis-208
http://
From Ralph Lange,
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).