- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: C++ link problem undefined symbol std::basic_...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-05-2009 10:50 PM
тАО02-05-2009 10:50 PM
Re: C++ link problem undefined symbol std::basic_string
>>define something (a function, an object) to
>>the symbol table of the OLB. There should be
>>more than just that "extern" line in this
>>source.
Yes, of course. And please look to the strange thing, that I treat as fantastic behavor.
---------------------------------------------------
$cxx /INCLUDE=([],[-],[--.include]) /DEFINE=(__USE_STD_IOSTREAM)/WARN=DIS=EXTRASEMI/DEB /LIST/SHOW=ALL UFSCOMMON.CC
$ search UFSCOMMON.LIS stringHasWhitespace
I3 46190 SQUIDCEXTERN int stringHasWhitespace(const char *);
E extern "C" int stringHasWhitespace(const char *);
I1 50774 stringHasWhitespace(const char *s)
---------------------------------------------------
How can you see, there is a line 50774, a function definition statement, that generates a global symbol. And this statement is present on every OBJ and LIB shows duplicate symbol error. Ok.
But if I do split preprocessor stage and compilation by hands:
---------------------------------------------------
$cxx /INCLUDE=([],[-],[--.include]) /DEFINE=(__USE_STD_IOSTREAM)/WARN=DIS=EXTRASEMI /DEB /LIST/SHOW=ALL [.UFS]UFSCOMMON
.CC /PREP
$cxx /LIS=ufscommon_ixx.lis ufscommon.ixx
$search ufscommon_ixx.lis stringHasWhitespace
36045 extern "C" int stringHasWhitespace(const char *);
---------------------------------------------------
How can you see, no function definition statement (as it should be).
Any ideas?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-05-2009 11:00 PM
тАО02-05-2009 11:00 PM
Re: C++ link problem undefined symbol std::basic_string
please treat as "UFSCOMMON.CC" - when copy/paste from terminal I do make the mistake.
It is really pain that message cannot be edited after posting. :( :(
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-06-2009 04:13 AM
тАО02-06-2009 04:13 AM
Re: C++ link problem undefined symbol std::basic_string
But about missing modules (topic of this thread) - I really do not understand what does it mean
"CXXLINK doesn't have access to the CXX_REPORITORY with the demangle information."
I login via SYSTEM account, compiling sources from scratch with usual keys.
Never use /REPOSITORY. I really do not need it. Other products are compiling fine.
Today I'll return to home and try once more on the 8.2 system.
But what about error I got on the 7.3-2 ?
---------------------------------------------------
%LINK-W-NUDFSYMS, 2 undefined symbols:
%LINK-I-UDFSYM, std::basic_ostringstream
std::allocator
%LINK-I-UDFSYM, std::basic_string
locator
locator
%LINK-W-USEUNDEF, undefined symbol std::basic_string
in psect $LINK$ offset %X000014A0
in module DEBUG file SYS$SYSROOT:[SYSMGR.ALEX.GNU.SQUID.SQUID-3_0_STABLE
11.SRC]DEBUG.OBJ;1
%LINK-W-USEUNDEF, undefined symbol std::basic_ostringstream
in psect $LINK$ offset %X00001640
in module DEBUG file SYS$SYSROOT:[SYSMGR.ALEX.GNU.SQUID.SQUID-3_0_STABLE
11.SRC]DEBUG.OBJ;1
------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-06-2009 04:53 AM
тАО02-06-2009 04:53 AM
Re: C++ link problem undefined symbol std::basic_string
is it mean that STDC++ library does not contain
such function?
Bug?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-06-2009 06:17 AM
тАО02-06-2009 06:17 AM
Re: C++ link problem undefined symbol std::basic_string
Please read the documentation about templates in C++ on OpenVMS/Alpha.
>>> I start new thread devoted to "Strange behavor of C++" about duplicate names.
If you don't mind, I add my comments, here.
Squid comes with "String.cc", the compiler wants/needs its "string.cc", it finds your/Squid's [...SRC]STRING.CC and includes it. That defines stringHasWhiteSpace().
No, defining _USE_INLINE_ 1 or 0 doesn't help. Sorry, I don't have the time to try what the C++ compiler does on ODS5.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-07-2009 05:01 AM
тАО02-07-2009 05:01 AM
Re: C++ link problem undefined symbol std::basic_string
- « Previous
-
- 1
- 2
- Next »