Project Home
Project Home
Source Code
Source Code
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Problems with 6.4.0 Linker: (2 Items)
   
Problems with 6.4.0 Linker  
We're trying to migrate our windows based build from 6.3 to 6.4.0 and
I'm having trouble with the linker. We have been building our system
using shared objects that depend on other shared objects. Everything
worked fine until we started using the 6.4.0 linker. We're getting
unresolved symbols with the suggestion to use -rpath-link option. I
tried this option, without success, but it didn't seem like the right
solution because the missing file is called out with its full pathname.
The results from the build, and the directory contents for the missing
file, are included below. Any ideas? I suspect I could include the
missing library explicitly in the linker command line but that is hardly
an ideal solution; we have many, many programs which we build and
besides, isn't that the point of having shared objects that depend on
other shared objects? Thanks.

 

C:\ella\main4>QCC -Y_cpp -lang-c++ -Lc:\ella\main4\build\.bld\EP_ENG\lib
c:\ella\main4\drivers\Motor_Ctrl_Servo\one_wire\.bld\EP_ENG\prog_vascula
r.o -Wl,-( -Bstatic
c:\ella\main4\drivers\Motor_Ctrl_Servo\one_wire\.bld\EP_ENG\libOneWire.a
-Bdynamic c:\ella\main4\infra\sys\.bld\EP_ENG\libccs.so
c:\ella\main4\drivers\Motor_Ctrl_Servo\base\.bld\EP_ENG\libmotor_ctrl.so
c:\ella\main4\drivers\Motor_Ctrl_Servo\rcm\.bld\EP_ENG\librcm_ctrl.so
c:\ella\main4\drivers\Motor_Ctrl_Servo\plx_9030\.bld\EP_ENG\libplx9030.s
o c:\ella\main4\infra\fsm\.bld\EP_ENG\libfsm.so
c:\ella\main4\drivers\Motor_Ctrl_Servo\switches\SwitchLib\.bld\EP_ENG\li
bswitches.so c:\ella\main4\infra\faulth\.bld\EP_ENG\libfaulth.so
c:\ella\main4\infra\hwencap\.bld\EP_ENG\libhwencap.so
c:\ella\main4\infra\nvconfig\.bld\EP_ENG\libnvconfig.so -Wl,-) -o
c:\ella\main4\drivers\Motor_Ctrl_Servo\one_wire\.bld\EP_ENG\prog_vascula
r


C:\QNX\QNX640\host\win32\x86\usr\bin\ntox86-ld: warning:
c:\ella\main4\build\.bld\EP_ENG\lib\libcrc.so, needed by
c:\ella\main4\infra\nvconfig\.bld\EP_ENG\libnvconfig.so, not found (try
using -rpath or -rpath-link)
c:\ella\main4\infra\nvconfig\.bld\EP_ENG\libnvconfig.so: undefined
reference to `Crc16::~Crc16()'
c:\ella\main4\infra\nvconfig\.bld\EP_ENG\libnvconfig.so: undefined
reference to `Crc16::Crc16(unsigned short)'
c:\ella\main4\infra\nvconfig\.bld\EP_ENG\libnvconfig.so: undefined
reference to `Crc16::update(unsigned char const*, unsigned int, unsigned
int)'
cc: C:/QNX/QNX640/host/win32/x86/usr/bin/ntox86-ld caught signal 1

C:\ella\main4>dir c:\ella\main4\build\.bld\EP_ENG\lib\libcrc.so
Volume in drive C has no label.
Volume Serial Number is 3C28-8CE5

Directory of c:\ella\main4\build\.bld\EP_ENG\lib

08/14/2009 04:05 PM 6,655 libcrc.so
1 File(s) 6,655 bytes
0 Dir(s) 80,341,557,248 bytes free

 

Re: Problems with 6.4.0 Linker  
I'd be interested in a solution to this problem as well, because I'm having the same problem.
We changed from 6.3.0 SP3 to 6.4.0 and all of a sudden a shared object cannot be found. But it is still in the correct 
folder, and the path is the right one.