Compile error: undefined symbols
hello,
i'm trying to install a software (Omnet, it's a network simulator) but while compiling it I get the following mesage. What do you think it depends on?
Undefined symbols:
"_xmlNewParserCtxt", referenced from:
SAXParser::parse(char const*)in saxparser_libxml.o
"_xmlDocGetRootElement", referenced from:
SAXParser::parse(char const*)in saxparser_libxml.o
"_xmlStructuredError", referenced from:
SAXParser::parse(char const*)in saxparser_libxml.o
"_xmlFreeParserCtxt", referenced from:
SAXParser::parse(char const*)in saxparser_libxml.o
SAXParser::parse(char const*)in saxparser_libxml.o
SAXParser::parse(char const*)in saxparser_libxml.o
"_xmlCtxtReadFile", referenced from:
SAXParser::parse(char const*)in saxparser_libxml.o
"_xmlFreeDoc", referenced from:
SAXParser::parse(char const*)in saxparser_libxml.o
SAXParser::parse(char const*)in saxparser_libxml.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: * [libnedxml.so] Error 1
make: * [nedxml] Error 2
You should post such questions in Developer forum.
Also, you will probably get better help from the OMNeT people themselves. They have a bug tracker and mailing list. The tool itself is based on Eclipse and is a 109 MB download. Doesn't look too enticing.
Similar Messages
-
Pro*C using Oracle 11g - ld: 0711-317 ERROR: Undefined symbol: .sqlcxt
Hi
We we are migrating from oracle 10g to 11g and AIX 5.3 to AIX 6.1. When I run the make file I get the following link errors. Note the 10g system is running using 32bit libs, and the new system is runing the 64bit libs.
makegmake -f Makefile.all all SYSTEM=rs6k CC="cc_r" LINKER="cc_r"
cc_r -lclntsh -L/wfm/usr/oracle/product/11.2.0/db/lib /home/Builds/CommonLib/Lib/AIX/cuCommonLib.a TagCommonLib/tagCommonLi
b.a ObjFiles/TagDailyStats.o ObjFiles/TagCreate.o ObjFiles/EventLogMessageFormat.o ObjFiles/TagHeartBeatMsg.o ObjFiles/TagWriteTimingLog.o ObjFiles/Ta
gGenMain.o -o TagTG
ld: 0711-317 ERROR: Undefined symbol: .sqlcxt
ld: 0711-317 ERROR: Undefined symbol: .sqlglm
ld: 0711-317 ERROR: Undefined symbol: .sqlbuft
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
gmake: *** [TagTG] Error 8
make: 1254-004 The error code from the last command is 2.
After reading some of the ideas on the web, I added the following options, -lsql11 -I/wfm/usr/oracle/product/11.2.0/db/precomp/public, but got the same error.
> make
gmake -f Makefile.all all SYSTEM=rs6k CC="cc_r" LINKER="cc_r"
cc_r -lclntsh -lsql11 -I/wfm/usr/oracle/product/11.2.0/db/precomp/public -L/wfm/usr/oracle/product/11.2.0/db/lib /home/Buil
ds/CommonLib/Lib/AIX/cuCommonLib.a TagCommonLib/tagCommonLib.a ObjFiles/TagDailyStats.o ObjFiles/TagCreate.o ObjFiles/EventLogMessageFormat.o ObjFiles
/TagHeartBeatMsg.o ObjFiles/TagWriteTimingLog.o ObjFiles/TagGenMain.o -o TagTG
ld: 0711-317 ERROR: Undefined symbol: .sqlcxt
ld: 0711-317 ERROR: Undefined symbol: .sqlglm
ld: 0711-317 ERROR: Undefined symbol: .sqlbuft
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
gmake: *** [TagTG] Error 8
make: 1254-004 The error code from the last command is 2.
Can anyone please suggest to me what I am doing wrong .
Thanks,
JimHi,
I'm experiencing the same problem, thank you for your 32 bit tip.
I installed InstantClient for 64bit and didn't find any of the sql??? functions.
http://download.oracle.com/otn/linux/instantclient/112010/oracle-instantclient11.2-precomp-11.2.0.1.0-1.x86_64.zip
After that I installed the 64 bit client with universal installer, sql*plus, programmer and OCI packets, got lots of errors, cause I have not the official distribution and scripts are partly wrong.
T24-SMS-1:/usr/lib# uname --all
Linux T24-SMS-1 2.6.26-2-amd64 #1 SMP Wed May 12 18:03:14 UTC 2010 x86_64 GNU/Linux
Then again I searched for sql??? functions sqlcxt I took and found them: (Note: they were not present with the instantclient distri with proc libraries
T24-SMS-1:/usr/lib# find /home/sms/instantclient_11_2/lib -type f -exec grep -H -i sqlcxt {} \; | grep Binary
Binary file /home/sms/instantclient_11_2/lib/libsql11.a matches
Binary file /home/sms/instantclient_11_2/lib/liborasdk.so.11.1 matches
Binary file /home/sms/instantclient_11_2/lib/libsrvmhas11.so matches
Binary file /home/sms/instantclient_11_2/lib/libclntsh.so.11.1 matches
Binary file /home/sms/instantclient_11_2/lib/libsqlplus.a matches
After that I again got the same errors. I will try the 32 bit distribution and I hope I will find some header file with sql??? functions in it. -
C++ linking error Undefined symbols AIX 5.3 xlC bdb 4.7
I am getting the following linking error while linking the MyCb example given in Berkley DB guide
xlC -bnoquiet -o /ra2/frt_bld/TMPBIN/BDBtest \
/ra2/frt_bld/TMPOBJ/DBAbs.o \
/ra2/frt_bld/TMPOBJ/MyDb.o \
/ra2/frt_bld/TMPOBJ/PPNum.o \
/ra2/frt_bld/TMPOBJ/PPNumStore.o \
/ra2/frt_bld/TMPOBJ/PPNumStoreDB.o \
/ra2/frt_bld/TMPOBJ/UTDbtest.o \
/ra2/frt_bld/TMPOBJ/UTPPNUm.o \
-lC_r ../../../ACE_wrappers/ace/libACE.so -ldb_cxx -L../../../db-4.7.25/build_unix -L/usr/local/ssl -L/../../../ACE_wrappers/ace -lcrypto -lpthread -lz -lm -o /ra2/frt_bld/TMPBIN/BDBtest
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
.Db::set_error_stream(std::basic_ostream<char,std::char_traits<char> >*) [1010] ER PR MyDb.cpp(/ra2/frt_bld/TMPOBJ/MyDb.o)
00003b50 .text R_RBR [148] .MyDb::MyDb(std::basic_string<char,std::char_traits<char>,std::allocator<char> >&,std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
.Db::open(DbTxn*,const char*,const char*,DBTYPE,unsigned int,int) [1012] ER PR MyDb.cpp(/ra2/frt_bld/TMPOBJ/MyDb.o)
00003b84 .text R_RBR [148] .MyDb::MyDb(std::basic_string<char,std::char_traits<char>,std::allocator<char> >&,std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)
ER: The return code is 8.
ld: 0711-317 ERROR: Undefined symbol: .Db::open(DbTxn*,const char*,const char*,DBTYPE,unsigned int,int)
// File: MyDb.cpp
#include "MyDb.h"
#include <string>
#include <iostream>
// Class constructor. Requires a path to the location
// where the database is located, and a database name
MyDb::MyDb(std::string &path, std::string &dbName)
: db_(NULL, 0), // Instantiate Db object
dbFileName_(path + dbName), // Database file name
cFlags_(DB_CREATE) // If the database doesn't yet exist,
// allow it to be created.
try
// Redirect debugging information to std::cerr
db_.set_error_stream( static_cast<std::ostream *>(&std::cerr) );
// Open the database
db_.open(NULL, dbFileName_.c_str(), NULL, DB_BTREE, cFlags_, 0);
// DbException is not a subclass of std::exception, so we
// need to catch them both.
catch(DbException &e)
std::cerr << "Error opening database: " << dbFileName_ << "\n";
std::cerr << e.what() << std::endl;
catch(std::exception &e)
std::cerr << "Error opening database: " << dbFileName_ << "\n";
std::cerr << e.what() << std::endl;
//And then we need the implementation for the close() method:
// Private member used to close a database. Called from the class
// destructor.
void
MyDb::close()
// Close the db
try
db_.close(0);
std::cout << "Database " << dbFileName_
<< " is closed." << std::endl;
catch(DbException &e)
std::cerr << "Error closing database: " << dbFileName_ << "\n";
std::cerr << e.what() << std::endl;
catch(std::exception &e)
std::cerr << "Error closing database: " << dbFileName_ << "\n";
std::cerr << e.what() << std::endl;
Thanks
Anand Rathi
Edited by: user10127683 on Jun 10, 2009 9:02 AMHi Anand,
http://www.oracle.com/technology/documentation/berkeley-db/db/ref/build_unix/aix.html <-- check FAQ #4.
Please use a "-D_LARGE_FILES=1" when building BDB on AIX.
Let me know how it works.
Thanks,
Bogdan Coman -
Linking Error : Undefined Symbols
Hi evryone,
I am facing some Linking error which throws up Undefined Symbol errors like .
Undefined first referenced
symbol in file
vector<DPEEDFU>::insert_aux(DPEEDFU*, const DPEEDFU&) ./obj/dpeesel.o
I am migrating the code to Sun 5.2 & using -compat=4 for compilation.
On some analysis using nm , I found that the symbols which are flagged as UNDEFINED are in fact getting defined in the temporary objects created in the SunWS_cache directory.
Any suggestion on how to resolve this.
urgent help needed.
Thanks & Regards
shivaHi,
I am running into same(similar) issue. I am using Forte 6 update2. I have created the links manually. I am looking to do dynamic linking of the libCstd. Now,
here's a snippet of the error I see :
/import/sunray/tools/WS6u2/SUNWspro/bin/CC -o SunOS.sparc/uttsc SunOS.sparc/main.o SunOS.sparc/platforminfo.o -L../../lib/tscutil/SunOS.sparc -L../../lib/addins/rdpdr/fs/SunOS.sparc -L../../lib/addins/rdpdr/scard/SunOS.sparc -L../../lib/addins/rdpdr/print/SunOS.sparc -L../../lib/addins/rdpdr/serial/SunOS.sparc -L../../lib/addins/rdpdr/SunOS.sparc -L../../lib/enum/SunOS.sparc -L../../lib/addins/cliprdr/SunOS.sparc -L../../lib/audio/SunOS.sparc -L../../lib/aipa/SunOS.sparc -L../../lib/addins/rdpsnd/SunOS.sparc -L../../lib/util/SunOS.sparc -L../../lib/vxrdp/SunOS.sparc -L../../lib/vx/SunOS.sparc -L../../lib/rdp/SunOS.sparc -L../../lib/mcs/SunOS.sparc -L../../lib/isot/SunOS.sparc -L../../lib/common/SunOS.sparc -L../../lib/X11/SunOS.sparc -L../../lib/platform/SunOS.sparc -L../../lib/device/serial/posix/SunOS.sparc -L../../lib/device/fs/posix/SunOS.sparc
-L../../lib/device/print/lpr/SunOS.sparc -L../../lib/device/SunOS.sparc -L/usr/X11R6/lib -L/usr/openwin/lib -ltscutil --lcommon -lXext -lX11 -lplatform -lCstd -lcrypto
Undefined first referenced
symbol in file
void std::list<addins::rdpdr::IDeviceService*,std::allocator<addins::rdpdr::IDeviceService*> >::__deallocate_buffers() ../../lib/addins/rdpdr/SunOS.sparc/librdpdr.a(devicemanager.o)
bind ../../lib/platform/SunOS.sparc/libplatform.a(socket.o) (symbol belongs to implicit dependency /usr/lib/libsocket.so.1)
std::pair<__rwstd::__rb_tree<unsigned,std::pair<const unsigned,device::serial::Device*>,__rwstd::__select1st<std::pair<const unsigned,device::serial::Device*>,unsigned>,std::less<unsigned>,std::allocator<std::pair<const unsigned,device::serial::Device*> > >::iterator,bool>__rwstd::__rb_tree<unsigned,std::pair<const unsigned,device::serial::Device*>,__rwstd::__select1st<std::pair<const unsigned,device::serial::Device*>,unsigned>,std::less<unsigned>,std::allocator<std::pair<const unsigned,device::serial::Device*> > >::insert(const std::pair<const unsigned,device::serial::Device*>&) ../../lib/addins/rdpdr/serial/SunOS.sparc/librdpdrserial.a(source.o)
void __rwstd::__rb_tree<unsigned,std::pair<const unsigned,device::fs::Device*>,__rwstd::__select1st<std::pair<const unsigned,device::fs::Device*>,unsigned>,std::less<unsigned>,std::allocator<std::pair<const unsigned,device::fs::Device*> > >::__deallocate_buffers() ../../lib/addins/rdpdr/fs/SunOS.sparc/librdpdrfs.a(rdpdrfssource.o)
__type_1 std::copy<std::deque<Buffer,std::allocator<Buffer> >::const_iterator,std::back_insert_iterator<std::deque<Buffer,std::allocator<Buffer> > > >(__type_0,__type_0,__type_1) ../../lib/audio/SunOS.sparc/libaudio.a(audiodevsink.o)
std::list<enumeration::DeviceInfo*,std::allocator<enumeration::DeviceInfo*> >::iterator std::list<enumeration::DeviceInfo*,std::allocator<enumeration::DeviceInfo*> >::erase(std::list<enumeration::DeviceInfo*,std::allocator<enumeration::DeviceInfo*> >::iterator,std::list<enumeration::DeviceInfo*,std::allocator<enumeration::DeviceInfo*> >::iterator) ../../lib/enum/SunOS.sparc/libenum.a(pnpmodule.o)
...<many more>...
How did you resolve your issue ?
Thanks
Sangeeta -
[Solved]All QT programs crash."symbol lookup error","undefined symbol"
Today when I open my computer I can not start any QT program. For example the error messages are
kile: symbol lookup error: /usr/lib/libkdecore.so.5: undefined symbol: qt_locale_initialized
kate: symbol lookup error: /usr/lib/libkio.so.5: undefined symbol: _ZN21QNetworkAccessManager16staticMetaObjectE
/usr/bin/qtcreator.bin: symbol lookup error: /usr/bin/qtcreator.bin: undefined symbol: _ZN12QLocalServerC1EP7QObject
okular: symbol lookup error: /usr/lib/libkdecore.so.5: undefined symbol: qt_locale_initialized
Yesterday they are OK. I checked /var/log/pacman.log, yesterday I upgraded these packages
[2010-03-09 10:08] upgraded lib32-libpng (1.4.0-2 -> 1.4.1-1)
[2010-03-09 10:08] upgraded lucene (3.0.0-1 -> 2.9.2-1)
[2010-03-09 10:08] upgraded xorg-server (1.7.5.901-1 -> 1.7.5.901-2)
[2010-03-09 13:18] upgraded ghostscript (8.71-1 -> 8.71-2)
[2010-03-09 19:13] upgraded ipython (0.10-2 -> 0.10-3)
[2010-03-10 09:26] upgraded live-media (2010.02.10-1 -> 2010.03.08-1)
[2010-03-10 09:26] upgraded menu-cache (0.3.1-1 -> 0.3.2-1)
[2010-03-10 09:26] upgraded lxpanel (0.5.5-2 -> 0.5.5-3)
Can any of these changements cause QT crash? Should I down-grade them?
I have also rebuild qt from abs, but errors remain.
Thx.
Last edited by funslove (2010-03-11 08:19:50)It is solved.
I remember that I installed Mathematica and changed the path of library in .bashrc:
export LD_LIBRARY_PATH=/opt/mathematica/SystemFiles/Libraries/Linux-x86-64:$LD_LIBRARY_PATH
There may be some conflict. When I change it to
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mathematica/SystemFiles/Libraries/Linux-x86-64
Everything is OK. -
Linking Error : Undefined Symbols: SUN Studio 5
Hi ,
I am facing some Linking error which throws up Undefined Symbol errors like .
[Undefined first referenced
symbol in file
__rwstd::__rb_tree<DevNexus,DevNexus,__rwstd::__ident<DevNexus,DevNexus>,std::less<DevNexus>,std::allocator<DevNexus> >::iterator __rwstd::__rb_tree<DevNexus,DevNexus,__rwstd::__ident<DevNexus,DevNexus>,std::less<DevNexus>,std::allocator<DevNexus> >::erase(__rwstd::__rb_tree<DevNexus,DevNexus,__rwstd::__ident<DevNexus,DevNexus>,std::less<DevNexus>,std::allocator<DevNexus> >::iterator,__rwstd::__rb_tree<DevNexus,DevNexus,__rwstd::__ident<DevNexus,DevNexus>,std::less<DevNexus>,std::allocator<DevNexus> >::iterator) PacketServer.o
__type_0 std::find<std::deque<AdapterPort,std::allocator<AdapterPort> >::iterator,AdapterPort>(__type_0,__type_0,const __type_1&) PacketServer.o
void std::vector<Controller,std::allocator<Controller> >::__insert_aux(Controller*,const Controller&) Subsystem.o
void std::deque<AdapterDisc,std::allocator<AdapterDisc> >::__allocate_at_end() PacketServer.o
__rwstd::__rb_tree<unsigned long,std::pair<const unsigned long,char*>,__rwstd::__select1st<std::pair<const unsigned long,char*>,unsigned long>,std::less<unsigned long>,std::allocator<std::pair<const unsigned long,char*> > >::iterator __rwstd::__rb_tree<unsigned long,std::pair<const unsigned long,char*>,__rwstd::__select1st<std::pair<const unsigned long,char*>,unsigned long>,std::less<unsigned long>,std::allocator<std::pair<const unsigned long,char*> > >::erase(__rwstd::__rb_tree<unsigned long,std::pair<const unsigned long,char*>,__rwstd::__select1st<std::pair<const unsigned long,char*>,unsigned long>,std::less<unsigned long>,std::allocator<std::pair<const unsigned long,char*> > >::iterator,__rwstd::__rb_tree<unsigned long,std::pair<const unsigned long,char*>,__rwstd::__select1st<std::pair<const unsigned long,char*>,unsigned long>,std::less<unsigned long>,std::allocator<std::pair<const unsigned long,char*> > >::iterator) DeviceProp.o
std::deque<AdapterPort,std::allocator<AdapterPort> >::~deque() PacketServer.o
__type_0 std::find<std::deque<AdapterDisc,std::allocator<AdapterDisc> >::iterator,char*>(__type_0,__type_0,const __type_1&) PacketServer.o
unsigned std::deque<AdapterPort,std::allocator<AdapterPort> >::__buffer_size() PacketServer.o
unsigned std::deque<AdapterDisc,std::allocator<AdapterDisc> >::__buffer_size() PacketServer.o
void __rwstd::__rb_tree<DevNexus,DevNexus,__rwstd::__ident<DevNexus,DevNexus>,std::less<DevNexus>,std::allocator<DevNexus> >::__deallocate_buffers() PacketServer.o
std::deque<AdapterDisc,std::allocator<AdapterDisc> >::~deque() PacketServer.o
ld: fatal: Symbol referencing errors. No output written to spagent
*** Error code 1
make: Fatal error: Command failed for target `spagent'
Current working directory /home/kiranc/solaris_hang1/4.0/agent
*** Error code 1
make: Fatal error: Command failed for target `recurse'
Current working directory /home/kiranc/solaris_hang1/4.0/agent
*** Error code 1
make: Fatal error: Command failed for target `all'
I am using Sun Studio 5. Pls let me know how to resolve/fix this. Unfortunately I cant upgrade the Sun Studio.
Thanks in Advance
KiranHi Kiran ,
if you cannot upgrade Sun Studio, I suggest that you take a view on this solution:
http://forum.java.sun.com/thread.jspa?forumID=850&threadID=5069680
It only works to std::vector::__insert_aux method, but I think you could get some useful idea from it.
Good luck.
Bye. -
Link error: Undefined symbols... mhm what's wrong
Hi,
I got the following error:
"Database::mxFace", referenced from:
__ZN8Database6mxFaceE$non_lazy_ptr in faceTracker.o
my app is very simple:
class Database {
public:
Database() {
//~Database();
static void setFace(int xFace,int yFace)
mxFace = xFace;
myFace = yFace;
static int getFaceX() {return mxFace;};
static int getFaceY() {return myFace;};
private:
static int mxFace;
static int myFace;
what's wrong ?
thanksHi
WHERE
"Metadatacopy4"."Instance" =
" = "FILE_SUBJECTSM4"."INSTANCE",
"wwv_flow_files"."name" =
" = "FILE_SUBJECTSM4"."NAME"
You have to use AND - Klause and don't use comma.
WHERE
"Metadatacopy4"."Instance" =
" = "FILE_SUBJECTSM4"."INSTANCE" AND
"wwv_flow_files"."name" =
" = "FILE_SUBJECTSM4"."NAME"
Regards
Dmytro Dekhtyaryuk -
Getting error undefined symbol
i am using weblogic server 6.1
i have deployed my ststeless session bean
but i don't know how to access it from client what i are the commands such as ejbc
do i need to put that jar file on class path
olease give me the code of that
step by step process
thanks in advanceSeems that some function definition is missing in your project. You have to #include the .h files in your .c file.
Roberto
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Zone Community
If I have helped you, why not giving me a kudos? -
Missing prototype and Undefined Symbol errors
So, I am using an Opal Keyy XEM3005 board.
Depending on the documentation I read, this board has a native ANSI C interface with a C++ wrapper.
In their forums, they say to rename the ".cpp" file to "c", and then go forward with calling the default constructor & keep track of the pointer. Their functions are all in an externally loadable DLL.
Well and good.
Their API documentatin is available here: http://www.opalkelly.com/library/FrontPanelAPI/
I have written a REALLY simple app to ease my way in - it does nothing more than allow the user to throw a switch, and when this happens, it goes off to connect to the board:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include <cvirte.h>
#include <userint.h>
#include "Try1.h"
#include "XEM.h"
#define _WIN32_WINNT 0x0501
//#define _WIN32
#include <windows.h>
static int panelHandle;
static okFrontPanel_HANDLE XEM_Device;
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow)
if (InitCVIRTE (hInstance, 0, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "Try1.uir", PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
int CVICALLBACK Connect (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
int Value = 0;
switch (event)
case EVENT_COMMIT:
GetCtrlVal(PANEL, PANEL_CONNECT_SWITCH, &Value);
SetCtrlVal(PANEL, PANEL_CONNECT_LED, Value);
if( Value )
XEM_Connect(XEM_Device);
else
XEM_Disconnect(XEM_Device);
break;
return 0;
int CVICALLBACK Quit (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
switch (event)
case EVENT_COMMIT:
QuitUserInterface (0);
break;
return 0;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This, of course, works fine by itself (with empty _Connect() and _Disconnect() functions)
I then started working with the XEM_Connect function.
The first step is to run their LoadDLL function as such:
int XEM_Connect ( okFrontPanel_HANDLE XEM_Device )
int NoDevices = 0; // Number of devices attached to the PC
// Load the DLL (?)
// Load the FrontPanel DLL
if (FALSE == okFrontPanelDLL_LoadLib(NULL))
printf("Could not load FrontPanel DLL\n");
exit(-1);
return XEM_SUCCESS;
And this would compile and run just fine.
Now, when I added the functions to start trying to get info about the device, I started getting "missing prototype" errors.
int XEM_Connect ( okFrontPanel_HANDLE XEM_Device )
int NoDevices = 0; // Number of devices attached to the PC
// Load the DLL (?)
// Load the FrontPanel DLL
if (FALSE == okFrontPanelDLL_LoadLib(NULL))
printf("Could not load FrontPanel DLL\n");
exit(-1);
// Find out how many devices are attached
XEM_Device = okFrontPanel_Construct( );
// XEM_Device = okCFrontPanel( void );
// NoDevices = GetDeviceCount( );
printf("%d OK devices attached\n", NoDevices);
// Call the contructor?
// okCFrontPanel ();
return XEM_SUCCESS;
Now, I searched the forums and found the bits about adding #define _WIN32_WINNT 0x0501 prior to inclusion of windows.h. Did that. No joy.
Then I searched some more and found the bit about changing the build options to uncheck the "prototype required" flag.
Done.
This seemed to work at first (the above code could be built with no errors, and appeared to run).
So I thought maybe I had it, and added the next line, so:
int XEM_Connect ( okFrontPanel_HANDLE XEM_Device )
int NoDevices = 0; // Number of devices attached to the PC
// Load the DLL (?)
// Load the FrontPanel DLL
if (FALSE == okFrontPanelDLL_LoadLib(NULL))
printf("Could not load FrontPanel DLL\n");
exit(-1);
// Find out how many devices are attached
XEM_Device = okFrontPanel_Construct( );
OpenBySerial( XEM_Device, "UaLgzvVpBJ" );
// XEM_Device = okCFrontPanel( void );
// NoDevices = GetDeviceCount( );
printf("%d OK devices attached\n", NoDevices);
// Call the contructor?
// okCFrontPanel ();
return XEM_SUCCESS;
Now it doesn't complain about no prototypes (duh), but instead I get linker errors:
Undefined symbol '_OpenBySerial@0' referenced in "XEM.c".
So, dredging through the .h and .c files, I found a couple of things:
in the okFrontPanel.c file I found the following:
okDLLEXPORT ok_ErrorCode DLL_ENTRY
okFrontPanel_OpenBySerial(okFrontPanel_HANDLE hnd, const char *serial)
if (_okFrontPanel_OpenBySerial)
; return((*_okFrontPanel_OpenBySerial)(hnd, serial));
return(ok_UnsupportedFeature);
In the okFrontPanel.h file I found:
and also:
okDLLEXPORT ok_ErrorCode DLL_ENTRY okFrontPanel_OpenBySerial(okFrontPanel_HANDLE hnd, const char *serial);
So, I see them in the .h & .c files, but the linker is bombing out.
I smell a problem with actual code to link being in the DLL... How do I resolve this, any ideas? Or am I doing something so stupidly (and obviously) wrong that I'm being blinded to it?Hi tomii,
My suspicion is that these issues are due to using a C++ dll in a C environment. There are inherent challenges with performing such an operation as you have to make sure all your parameters and settings are correct.
I also could not find the documentation that the Opal Kelly dll is ANSI C but it sounds like you can use this in C with some reconfiguration. I would recommend using their forums to get more information on what steps need to take place to get things working in ANSI C.
From the information you provided, I did find some resources on the missing prototype error and undefined symbol issue with the linker.
For the missing prototype I found a thread of someone actually using LabWindows and seeing this compiler error you may want to look at
http://bytes.com/topic/c/answers/695019-missing-prototype
I found a few cases where using a function definition of int func(void) removes such issue when int func() does not.
Another link I found that may be worth a look can be found at http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html
It gives some good pointers to mixing C and C++ code. Some of it may be applicible in your case.
And, a resource for your undefined symbol linking issue.
http://www.cprogramming.com/tutorial/compiler_linker_errors.html
Hopefully these resources will give some context for getting things compiling and working with your dll.
Good luck!
James W.
Applications Engineer
National Instruments -
Hello,
I am trying to compile old tuxedo 6.5 code on AIX 5.3, but am getting alot of symbol errors. Any idea on what I am missing?
Thanks
Casey
tuxedo @ testdev01:/home/tuxedo/src/projects/nni/src/nniread > gmake
Building NNIREAD Server...
PATH /home/tuxedo/product/Tux6.5/SDK/bin:/home/tuxedo/product/Tux6.5/bin:/home/oracle/product/9.2.0.7/bin:/home/tuxedo/product/Tux6.5/SDK/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/local/bin:.:/home/tuxedo/src/projects/tools/unix:/home/tuxedo/src/projects/tools/sqlscript:/home/tuxedo/src/projects/lib:/home/tuxedo/admin/bin:/usr/vac/bin:.:/usr/local/bin
CC cc
CFLAGS -g -D_AIX_SOURCE -Daix=1 -L. -L/home/tuxedo/src/projects/nni/lib -L/home/tuxedo/src/projects/lib -L/home/tuxedo/src/projects/hers/lib -L/home/oracle/product/9.2.0.7/precomp/lib32 -L/home/oracle/product/9.2.0.7/lib32 -L/home/tuxedo/product/Tux6.5/SDK/lib -L/usr/ldap/lib
INCDIRS -I. -I/home/tuxedo/src/projects/nni/include -I/home/tuxedo/src/projects/hers/include -I/home/tuxedo/src/projects/a1asn1/include -I/home/oracle/product/9.2.0.7/precomp/public -I/home/oracle/product/9.2.0.7/precomp/public -I/home/tuxedo/product/Tux6.5/SDK/include -I/usr/ldap/include
READ_OBJS nnirdtux.o version.o
NNIREADLIBS -l "-lnni -l3masn -lsutil -lsrv -lserve -lddfun -ltime -ltzdst -lKCC-eh" -l " -lsrv -lsutil -lusr -lclntsh -lxti -lm "
CFLAGS -g -D_AIX_SOURCE -Daix=1 -L. -L/home/tuxedo/src/projects/nni/lib -L/home/tuxedo/src/projects/lib -L/home/tuxedo/src/projects/hers/lib -L/home/oracle/product/9.2.0.7/precomp/lib32 -L/home/oracle/product/9.2.0.7/lib32 -L/home/tuxedo/product/Tux6.5/SDK/lib -L/usr/ldap/lib
/home/tuxedo/product/Tux6.5/SDK/bin/buildserver \
-s NNIREAD \
-s NNIREADUPDATE \
-o NNIREAD \
-f "nnirdtux.o version.o " \
-l "-lnni -l3masn -lsutil -lsrv -lserve -lddfun -ltime -ltzdst -lKCC-eh" -l " -lsrv -lsutil -lusr -lclntsh -lxti -lm "
ld: 0711-224 WARNING: Duplicate symbol: .DayOfWeek
ld: 0711-224 WARNING: Duplicate symbol: .DayOfYear
ld: 0711-224 WARNING: Duplicate symbol: .trimspecial
ld: 0711-224 WARNING: Duplicate symbol: .trimCR
ld: 0711-224 WARNING: Duplicate symbol: .shiftstring
ld: 0711-224 WARNING: Duplicate symbol: .rmemcpy
ld: 0711-224 WARNING: Duplicate symbol: .strset
ld: 0711-224 WARNING: Duplicate symbol: .trimall
ld: 0711-224 WARNING: Duplicate symbol: .iMmiSpecialError
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ld: 0711-317 ERROR: Undefined symbol: ._Znwm
ld: 0711-317 ERROR: Undefined symbol: .__cxa_allocate_exception
ld: 0711-317 ERROR: Undefined symbol: ZTVN10_cxxabiv117__class_type_infoE
ld: 0711-317 ERROR: Undefined symbol: .__cxa_throw
ld: 0711-317 ERROR: Undefined symbol: ._Unwind_Resume
ld: 0711-317 ERROR: Undefined symbol: .__cxa_begin_catch
ld: 0711-317 ERROR: Undefined symbol: .__cxa_end_catch
ld: 0711-317 ERROR: Undefined symbol: __gxx_personality_v0
ld: 0711-317 ERROR: Undefined symbol: ._ZdlPv
ld: 0711-317 ERROR: Undefined symbol: .__cxa_call_unexpected
ld: 0711-317 ERROR: Undefined symbol: ._ZNSaIcEC1Ev
ld: 0711-317 ERROR: Undefined symbol: ._ZNSsC1EPKcRKSaIcE
ld: 0711-317 ERROR: Undefined symbol: ._ZNSaIcED1Ev
ld: 0711-317 ERROR: Undefined symbol: ._ZNSsC1Ev
ld: 0711-317 ERROR: Undefined symbol: ._ZNKSs4sizeEv
ld: 0711-317 ERROR: Undefined symbol: ._ZNKSs6substrEmm
ld: 0711-317 ERROR: Undefined symbol: ._ZNSsaSERKSs
ld: 0711-317 ERROR: Undefined symbol: ._ZNSsD1Ev
ld: 0711-317 ERROR: Undefined symbol: ._ZNKSs5c_strEv
ld: 0711-317 ERROR: Undefined symbol: ._ZNSsixEm
ld: 0711-317 ERROR: Undefined symbol: ._ZNSs3endEv
ld: 0711-317 ERROR: Undefined symbol: ._ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode
ld: 0711-317 ERROR: Undefined symbol: ._ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc
ld: 0711-317 ERROR: Undefined symbol: ._ZNSs5beginEv
ld: 0711-317 ERROR: Undefined symbol: ._ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c
ld: 0711-317 ERROR: Undefined symbol: ._ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
ld: 0711-317 ERROR: Undefined symbol: ._ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E
ld: 0711-317 ERROR: Undefined symbol: ._ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw
ld: 0711-317 ERROR: Undefined symbol: ._ZNSolsEl
ld: 0711-317 ERROR: Undefined symbol: ._ZNSolsEi
ld: 0711-317 ERROR: Undefined symbol: ._ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv
ld: 0711-317 ERROR: Undefined symbol: ._ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev
ld: 0711-317 ERROR: Undefined symbol: ._ZNSsC1ERKSs
ld: 0711-317 ERROR: Undefined symbol: ._ZNKSs4copyEPcmm
ld: 0711-317 ERROR: Undefined symbol: ._ZNSsaSEPKc
ld: 0711-317 ERROR: Undefined symbol: ._ZNSs6appendEPKc
ld: 0711-317 ERROR: Undefined symbol: ._ZNSs7reserveEm
ld: 0711-317 ERROR: Undefined symbol: ._ZNSs6appendERKSs
ld: 0711-317 ERROR: Undefined symbol: ._ZNKSs7_M_iendEv
ld: 0711-317 ERROR: Undefined symbol: ._ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_
ld: 0711-317 ERROR: Undefined symbol: ._ZNSt8ios_base4InitC1Ev
ld: 0711-317 ERROR: Undefined symbol: ._ZNSt8ios_base4InitD1Ev
CMDTUX_CAT:1832: ERROR: can't execute cc -g -D_AIX_SOURCE -Daix=1 -L. -L/home/tuxedo/src/projects/nni/lib -L/home/tuxedo/src/projects/lib -L/home/tuxedo/src/projects/hers/lib -L/home/oracle/product/9.2.0.7/precomp/lib32 -L/home/oracle/product/9.2.0.7/lib32 -L/home/tuxedo/product/Tux6.5/SDK/lib -L/usr/ldap/lib -I$TUXDIR/include -o NNIREAD BS-c60ae.c -L${TUXDIR}/lib nnirdtux.o version.o -ltux -lbuft -ltux2 -lfml -lfml32 -lgp -lnni -l3masn -lsutil -lsrv -lserve -lddfun -ltime -ltzdst -lKCC-eh -lsrv -lsutil -lusr -lclntsh -lxti -lm
gmake: *** [NNIREAD] Error 8
tuxedo @ testdev01:/home/tuxedo/src/projects/nni/src/nniread >Hi Casey,
That library might work, but I'd be very suspect of it as it is a GCC library. Maybe it will work, but I would look for a library from IBM. When XL C was installed on your system, it should have installed the necessary libraries I believe.
Also, LD_LIBARY_PATH is not just for COBOL contrary to what our documentation implies, sigh. It is used by the standard linker. My guess is you just need to set LD_LIBRARY_PATH to the correct directory where the XL C libraries are located.
Regards,
Todd Little
Oracle Tuxedo Chief Architect -
Undefined symbols for architecture armv7
Hello,
I'm in the process of creating an ANE for an iOS SDK and I'm encountering issues when using the generated ANE in a test project.
When trying to debug the app on the device via Flash Builder here is the error I'm getting:
Error occurred while packaging the application:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in com.mycompany.MySDKANE.o
ld: symbol(s) not found for architecture armv7
Compilation failed while executing : ld64
It looks like the error is saying that I've not added the AdSupport.framework when packaging my ANE.
When I look at the ANT script I've implemented I can see that the platform.xml file correctly lists all the iOS frameworks I need.
Here is an excerpt of my ANT script :
<!-- Package -->
<target name="package" description="Create the extension package">
<exec executable="${flex.sdk}/bin/adt" failonerror="true" dir="../temp">
<env key="AIR_SDK_HOME" value="${flex.sdk}"/>
<arg value="-package"/>
<arg value="-target"/>
<arg value="ane"/>
<arg value="${name}.ane"/>
<arg value="../build/extension.xml"/>
<arg line="-swc swc/${name}.swc"/>
<arg line="-platform iPhone-ARM -platformoptions ../build/platform.xml -C ios/ ."/>
<arg line="-platform iPhone-x86 -platformoptions ../build/platform.xml -C iosSimulator/ ."/>
<arg line="-platform default -C default/ ."/>
</exec>
<move file="../temp/${name}.ane" todir="../bin"/>
<delete dir="../temp"/>
</target>
and the content of the platform.xml :
<?xml version="1.0" encoding="utf-8" ?>
<platform xmlns="http://ns.adobe.com/air/extension/13.0">
<sdkVersion>7.1</sdkVersion>
<linkerOptions>
<option>-ios_version_min 5.1.1</option>
<option>-framework Accelerate</option>
<option>-weak_framework AdSupport</option>
<option>-framework CoreGraphics</option>
<option>-framework Foundation</option>
<option>-framework QuartzCore</option>
<option>-framework Security</option>
<option>-weak_framework StoreKit</option>
<option>-framework SystemConfiguration</option>
<option>-framework UIKit</option>
</linkerOptions>
</platform>
The script runs fine and generates a valide ANE but when I use is in my project I encounter the error above.
Here is my environment:
- Flash Builder 4.7
- AIR SDK 13.0.0.76
- Xcode 5.1 with iOS 7.1
Does anyone have an idea on the source of my problem?
Thank you.I have the sam issue with Parse SDK. ANE is generated without errors but project compilation fails with error:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_PFPush", referenced from:
My platformoptions.xml is:
<platform xmlns="http://ns.adobe.com/air/extension/3.5">
<sdkVersion>6.1</sdkVersion>
<linkerOptions>
<option>-ios_version_min 5.0</option>
<option>-framework Parse</option>
</linkerOptions>
<packagedDependencies>
<packagedDependency>Parse.framework</packagedDependency>
</packagedDependencies>
</platform>
Some help would be greatly appreciated. -
Modload: undefined symbols 'memcmp' - though was not used in source.
hello all,
I'm getting this error - undefined symbols 'memcmp' - while trying to load my kernel module. FYI, the 'memcmp' was never used in the source code. I'm using Solaris 8 running 64bit kernel on sparc with latest 8_Recommended patches installed. Am using GCC 3.1 from SunFreeware.com as the compiler.
Has anyone here encounter similar problem? Or have any pointer? Any thought would be apreciated.
Thanks in advance.I think, gcc believes that a standard ANSI-C environment / library is available, so that gcc
is allowed to generate code that calls standard ANSI-C library routines.
Try to compile the driver with the gcc option "-ffreestanding", so that gcc doesn't make any
assumptions about the available runtime environment. -
Undefined symbols: "_NewSpeechChannel", referenced from...
Hello.
I'm an absolute beginner in developing for OSX and C programming in general.
I'm following the instructions step-by-step to writing a very simple program that makes use of the OSX Speech Synthesizer.
However the program won't compile and instead it lanuches this error:
> Undefined symbols:
> "_NewSpeechChannel", referenced from:
> > _main in ccRRVBTR.o
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
I'm aware that the problem arises from the lack of proper linking to the actual implementation of the NewSpeechChannel function.
However it is a system function and I guess it should be linked by default. In any case, what should I do next to make it compile properly?
The simple program is this (so far):
#include<stdio.h>
#include<ApplicationServices/ApplicationServices.h>
int main(int argc, char **argv, char **envp, char **apple) {
SpeechChannel speechchannel;
NewSpeechChannel( NULL, &speechchannel );
The reference of the Speech Synthesis Manager (the C API for speech synthesis) sits here:
https://developer.apple.com/library/mac/#documentation/Carbon/Reference/Speech_S ynthesis_Manager/Reference/reference.html
None of the functions listed in the reference compile, along with NewSpeechChannel.
I know it is a very basic question by any help is welcome, as I'm stuck at the very beginning of my project.
Thanks!
PS: I tried it on both OS X 10.6.8 and 10.7.5Add the Application Services framework to your project.
-
Strtok_r undefined symbol
Hi,
I am using strtok_r in my program. I have included <string.h>
I am getting linker error undefined symbol strtok_r
What library should be linked? any idea?
I am using SOLARISSunOS lisvr 5.8 Generic_108528-18 sun4u sparc SUNW,Sun-Fire-V210
CC tcpsvr.C -lsocket -lnsl -o tcpsvr
Undefined first referenced
symbol in file
char*strtok_r(char*,const char*,char**) tcpsvr.o
ld: fatal: Symbol referencing errors. No output written to tcpsvr
PS: I have put an extern as follows:
extern char * strtok_r(char *,const char *,char**);
if I dont put this extern stmt, it complained as follows:
CC tcpsvr.C -lsocket -lnsl -o tcpsvr
"tcpsvr.C", line 111: Error: The function "strtok_r" must have a prototype.
1 Error(s) detected.
Following is my function call.
char cpy[1024], lasts[1024];
strcpy(cpy, (char*)command); // command is a string
char * cmd=strtok_r(cpy,"\n",(char**)&lasts);
I tried
extern char * strtok_r(char a,const char b,char** c);
also. -
Error compiling "Undefined symbols for architecture armv6:"
Hey, I seem to be getting errors like this a lot... I only just started making apps yesterday, so they are all still very basic, but I was wondering if I am doing something wrong when I import frameworks?
This may be caused from something else entirely, but this is what I seem to think is causing it...
Basically the error I'm getting is:
Undefined symbols for architecture armv6:
"_kUTTypeImage", referenced from:
-[CameraViewController(CameraDelegateMethods) imagePickerController:didFinishPickingMediaWithInfo:] in CameraViewController.o
-[CameraViewController(CameraDelegateMethods) startCameraControllerFromViewController:usingDelegate:] in CameraViewController.o
"_kUTTypeMovie", referenced from:
-[CameraViewController(CameraDelegateMethods) imagePickerController:didFinishPickingMediaWithInfo:] in CameraViewController.o
"_OBJC_CLASS_$_CameraViewController", referenced from:
objc-class-ref in CameraViewController.o
l_OBJC_$_CATEGORY_CameraViewController_$_CameraDelegateMethods in CameraViewController.o
ld: symbol(s) not found for architecture armv6
collect2: ld returned 1 exit status
As you can probably tell, I am trying to make a very simple camera app. Most of the code is copied and pasted straight from apple's site.
If it would help I can put the full source code I have so far on these forums, just let me know.
Thanks for any help!I've got this error while importing a project from XCode 3 to XCode 4
A simple workaround which has worked for me was :
1) Start a new project from scratch in XCode 4 using a template... I know, it should be tedious... ;-(
2) You should change the build settings « Architectures » of your project (under TARGETS) to compile with « armv6 » instead of the default value which is « Standard (armv7) »
Double click « Standard (armv7) » in the « Architectures » setting
Add « armv6 » in the popup after clicking « + » button in the bottom-left of the popup
Maybe you are looking for
-
Just installed 10.6.4. Now clicking on Print&Fax crashes system preferences
Hi all, Just installed Snow Leopard 10.6.4 and then couldn't print from my Kodak EasyShare 5300 printer. I installed updated software and firmware from Kodak. Still can't print and when I click on Print & Fax in system preferences it crashes system p
-
SAP. Functions Connection.logon(0, True) error without any description
I use SAP note 1028500. It provides VBA Excel macros for xRPM Financial planning data loading. General problem contains in the following lines: Function XRPM_SAP_LOGON(ByRef r3 As Object) Set r3 = CreateObject("SAP.Functions") r3.Connection.System
-
Poor Output Quality DVD vs. Mpeg
I recently scanned some slides at 360 dpi to a 4 by 6 size when I place them in the timeline they looked perfect. When I burned a DVD the quality was off a little bit especially at 1080p. When I exported as a computer file " MPEG HDTV 1080p 29.97 Hig
-
Hello everyone, I have an iBook G3 and every time I turn it on I have to change the Time and Date because it's way off the current Time and Date. It says "It may cause some applications to behave erratically" somewhere close to that. What seems to be
-
Ati3850 catalyst control center problem
i download latest drivers from ati and control center my memory clock is max 1100 can t move above i try to reinstall but my 64 bit vista make error and close the application i cant reinstall drivers and everything about ati i removed every thing fro