09-14-2006 10:37 AM
/usr/lib/dld.sl: Unresolved symbol: __nw__FUlP10os_segmentP5_Pvts
I used aCC and have searched all places in our code and did not see the above sybol anywhere.
I would appreciated if you may help me to identify the possible cause for the unresolved
HP-UX tsg8 B.11.11 U 9000/785 2008799228 unlimited-user license
09-14-2006 11:33 AM
09-14-2006 12:24 PM
operator new(unsigned long, os_segment*, _Pvts*)
(Where you will see size_t instead of unsigned long.)
Normally I would assume this symbol would be defined in libMaceDB.sl, unless it is documented that you have to provide it.
09-19-2006 04:56 AM
Thanks for the info. I checked the code and the operator new was defined in the vendor software's header file (can not be changed):
extern void * operator new (size_t _OS_DBALLOC_PARMS, os_database*, os_typespec*
extern void * operator new (size_t _OS_DBALLOC_PARMS, os_object_cluster*, os_typ
And it was used in the following way(our code):
_dbAttributes = new(os_segment::of(_users), DB_AttributeList::get_os_typespec())
the header file was included and compiled ok ...
What might be the possible cause for the executable to complain the unresolved symbol?
What should I do to fix it?
Appriciate any help .....
09-19-2006 12:18 PM - edited 10-29-2011 02:07 AM
>the operator new was defined in the vendor software's header file
(This is declared not defined.)
>What might be the possible cause for the executable to complain the unresolved symbol? What should I do to fix it?
Either they forgot to export it from their shared lib or they didn't implement the function. I assume there is documentation that tells you exactly how to call it? Are you able to ask the vendor about this unsat?
You may want to check their lib to see if there are any functions "close" to the one you want:
odump -sym -slexport .../libMaceDB.sl | grep '__nw__.*os_segment.*_Pvts'
09-25-2006 03:45 AM
I am trying to use debuger to get more clue, but the debuger "adb" stoped as it tries to access persistent memory within vendor software. I have learned how to pass that point in dbx and gdb; but was not successful when I try to use :z-s in adb.
What would the corrrrect way to pass/ignore the seg violation in adb?
Thanks a lot for advice and help.