将应用程序从AIX 5.3移植到AIX 6.1,它在AIX 5.3中成功构建。 我在尝试在6.1中构建相同的错误时遇到了错误。
以下errros似乎是在尝试使用“libdocxml.a”库中的调用函数时,该函数库之前使用xlC编译器成功构建。
使用的编译器:xlC_r,用于构建所有库和应用程序的相同编译器。
可执行文件正在5.3中正确构建,引用此库。 但6.1中的情况也是如此。
此库与xml解析器相关(xercesparser:XML4C和Xerces-C)
请完成以下错误说明的结尾。最后定义了实际错误。
任何帮助都将受到高度赞赏。提前谢谢。
xlC_r -o acbbatch acbbatch.o acbbankserv.o acbbatchmain.o acbdinersclub.o acbmastercard.o acbmoneytransfer.o acbtype.o acbxcept.o acbcats.o -bloadmap:acbbatch.m /nci5d10/prod/c/lib/libti.a /nci5d10/prod/c/lib/libdocxml.a /nci5d10/prod/c/lib/libintxml.a /nci5d10/prod/c/lib/libdatalayer.a /nci5d10/prod/c/lib/libsql.a /nci5d10/prod/c/lib/libshared.a /nci5d10/prod/c/lib/libstatdoc.a /nci5d10/prod/c/lib/libfeeeng.a /oracle/app/oracle/product/11.1.0/lib32/libclntsh.a
ld: 0711-224 WARNING: Duplicate symbol: .bcopy
ld: 0711-344 See the loadmap file acbbatch.m for more information.
ld: 0711-317 ERROR: Undefined symbol: .DOM_NamedNodeMap::DOM_NamedNodeMap()
ld: 0711-317 ERROR: Undefined symbol: .DOMString::DOMString()
ld: 0711-317 ERROR: Undefined symbol: .DOM_NamedNodeMap::operator=(const DOM_NamedNodeMap&)
ld: 0711-317 ERROR: Undefined symbol: .DOMString::operator=(const DOMString&)
ld: 0711-317 ERROR: Undefined symbol: .DOMString::DOMString(const char*)
ld: 0711-317 ERROR: Undefined symbol: .DOMString::~DOMString()
ld: 0711-317 ERROR: Undefined symbol: .DOMString::transcode() const
ld: 0711-317 ERROR: Undefined symbol: .DOMString::length() const
.....
.....
.....
make: The error code from the last command is 8
来自.M文件 ++++++++++++++++
(ld): halt 4
(ld): setopt tmplrename
(ld): setfflag 4
(ld): cdtors 0 all 0 s
(ld): savename acbbatch
(ld): filelist 27 1
(ld): i /lib/crt0.o
(ld): i /lib/crti.o
(ld): i acbbatch.o
(ld): i acbbankserv.o
(ld): i acbbatchmain.o
(ld): i acbtype.o
(ld): i acbxcept.o
(ld): i acbcats.o
(ld): i /nci5d10/prod/c/lib/libti.a
(ld): i /nci5d10/prod/c/lib/libdocxml.a
(ld): i /nci5d10/prod/c/lib/libintxml.a
(ld): i /nci5d10/prod/c/lib/libdatalayer.a
(ld): i /nci5d10/prod/c/lib/libsql.a
(ld): i /nci5d10/prod/c/lib/libshared.a
(ld): i /nci5d10/prod/c/lib/libstatdoc.a
(ld): i /nci5d10/prod/c/lib/libfeeeng.a
(ld): i /oracle/app/oracle/product/11.1.0/lib32/libclntsh.a
(ld): lib /usr/vac/lib/libxlopt.a
(ld): lib /usr/vac/lib/libxlipa.a
(ld): lib /usr/vac/lib/libxl.a
(ld): lib /usr/vacpp/lib/libC.a
(ld): lib /usr/lib/libpthreads.a
(ld): lib /usr/lib/libm.a
(ld): lib /usr/lib/libc.a
LIBRARY: Shared object /oracle/app/oracle/product/11.1.0/lib32/libclntsh.ahttp://shr.o: 20863 symbols imported.
LIBRARY: Symbols imported from import file /usr/vacpp/lib/libC.ahttp://shr_32.imp: 402
LIBRARY: Symbols imported from import file /usr/vacpp/lib/libC.ahttp://shr2_32.imp: 42
LIBRARY: Symbols imported from import file /usr/vacpp/lib/libC.ahttp://shr3_32.imp: 34
LIBRARY: Symbols imported from import file /usr/vacpp/lib/libC.ahttp://ansi_32.imp: 2441
LIBRARY: Shared object libC.ahttp://ansi_32.o: 2651 symbols imported.
LIBRARY: Symbols imported from import file /usr/vacpp/lib/libC.ahttp://shr_64.imp: 0
LIBRARY: Symbols imported from import file /usr/vacpp/lib/libC.ahttp://shr2_64.imp: 0
LIBRARY: Symbols imported from import file /usr/vacpp/lib/libC.ahttp://shr3_64.imp: 0
LIBRARY: Symbols imported from import file /usr/vacpp/lib/libC.ahttp://ansi_64.imp: 0
LIBRARY: Shared object libc.ahttp://pse.o: 8 symbols imported.
LIBRARY: Shared object libc.ahttp://dl.o: 4 symbols imported.
LIBRARY: Shared object libc.ahttp://pty.o: 1 symbols imported.
FILELIST: Number of previously inserted files processed: 27
(ld): resolve
ld: 0711-228 WARNING: Duplicate symbols were found while resolving symbols.
The following duplicates were found:
Symbol Source-File(Object) OR Import-File{Shared-object}
.bcopy {/oracle/app/oracle/product/11.1.0/lib32/libclntsh.ahttp://shr.o}
** Duplicate ** moveeq.s(/usr/lib/libc.ahttp://moveeq.o)
RESOLVE: 1825 of 85325 symbols were kept.
RESOLVE: The return code is 4.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 141 symbols.
(ld): er full
ld: 0711-318 ERROR: Undefined symbols were found.
The following symbols are in error:
Symbol Inpndx TY CL Source-File(Object-File) OR Import-File{Shared-object}
RLD: Address Section Rld-type Referencing Symbol
.__ct__16DOM_NamedNodeMapFv 518 ER PR docattributes.C(/nci5d10/prod/c/lib/libdocxml.ahttp://docattributes.o)
00000060 .text R_RBR 149 .__ct__13tDocAttributeFv
.__ct__9DOMStringFv 323 ER PR docerrorreporter.C(/nci5d10/prod/c/lib/libdocxml.ahttp://docerrorreporter.o)
000002a8 .text R_RBR 178 .fatalError__17tDocErrorReporterFRC17SAXParseException
000002bc .text R_RBR 178 .fatalError__17tDocErrorReporterFRC17SAXParseException
00000548 .text R_RBR 191 .error__17tDocErrorReporterFRC17SAXParseException
0000055c .text R_RBR 191 .error__17tDocErrorReporterFRC17SAXParseException
000008c8 .text R_RBR 222 .warning__17tDocErrorReporterFRC17SAXParseException
000008dc .text R_RBR 222 .warning__17tDocErrorReporterFRC17SAXParseException
.__ct__9DOMStringFv 520 ER PR docattributes.C(/nci5d10/prod/c/lib/libdocxml.ahttp://docattributes.o)
答案 0 :(得分:0)
我之前在AIX上看到了Xerces和未定义符号的问题,而且问题与可以指定给xlc编译器的符号修改选项有关。有没有机会使用-qnamemaning
标志构建xerces(通常设置为 v6 或 ansi )?如果您在xerces库上运行dump
或nm
而没有删除符号,我愿意打赌它们符号与链接器错误中的错位符号不匹配。