Hi all,
Last few days ,I am working on porting EPICS in microblaze softcore processor with uClinux. For this I am trying to build a Channel access portable server code on it as referring the tutorial on Channel Access Portable Server Application Interface (API) by Philip Stanley.
It consists of four c++ files namely myServer.h, myPV.cc, myServer.cc and Server.cc. I could successfully compile the cc files and generate the object files in uClinux (namely myPV.o myServer.o Server.o). But while generating executable named Server by linking the object files with the libraries libcas.a, libca.a, libCom.a, and libgdd.a i am stuck at an error. microblaze-uclinux-gnu toolchain is used for compilation. I know my problem is a bit specific, but if anyone who has worked with uclinux earlier may help me.
Following is the error output at the console
microblaze-uclinux-g++ -L/home/petalinux-v0.40-final/software/petalinux-dist/lib -mno-xl-soft-mul -mno-xl-soft-div -mxl-barrel-shift -mcpu=v7.10.d -L/windows/base-3-14-11/myserver2/microblaze_lib -Wl -o Server myPV.o myServer.o Server.o -lcas -lca -lCom -lgdd -lrt -lc -lpthread
Server.elf2flt: In function `ClockTimeSync': /windows/base-3-14-11/myserver2/libCom/osiClockTime.c(.text+0x815b8): undefined reference to `clock_settime' Server.elf2flt: In function `ClockTimeGetCurrent':/windows/base-3-14-11/myserver2/libCom/osiClockTime.c(.text+0x816ec): undefined reference to `clock_settime' Server.elf2flt: In function `putDoubleToString(double, gddEnumStringTable const*, char*, unsigned long)': /windows/base-3-14-11/myserver2/gdd/aitConvert.cc(.text+0x96164): undefined reference to `cvtDoubleToString'
collect2: ld returned 1 exit status
make: *** [Server] Error 1
Shantonu Sahoo
वैज्ञानिक अधिकारी / Scientific Officer
कंप्यूटर एवं सूचना वर्ग / Computer and Informatics Group
परिवर्ती ऊर्जा साइक्लोट्रॉन केन्द्र / Variable Energy Cyclotron Center
Ph: (033) 23182300