|
Archives of the TeradataForumMessage Posted: Thu, 20 Dec 2001 @ 13:54:39 GMT
I am trying to write a Perl module that uses CLI on MP-RAS. When I compile a plain old program that uses CLI, I use this command, which is straight out of the Application Programming manual: cc myprogram.c -o myprogram /usr/lib/ppruntim.a -ltdusr -lcliv2 -lnsl -lsocket This works just fine. BUT when I try to compile my Perl module using these same options, it doesn't work. The actual command used to link the module is this: LD_RUN_PATH="/lib" /usr/bin/cc -G -L/usr/ccs/lib -L/usr/ucblib -L/usr/local/lib -L/usr/gnu/lib MyModule.o othercode.o /usr/lib/ppruntim.a -o blib/arch/auto/Teradata/MyModule/MyModule.so -ltdusr -lcliv2 -lnsl -lsocket Then, when I run "make test", I get this message: Can't load 'blib/arch/auto/Teradata/MyModule/MyModule.so' for module Teradata::MyModule: dynamic linker: /usr/bin/perl: relocation error: symbol not found: sys_nerr resolving symbol in /usr/lib/libcliv2.so at /usr/local/lib/perl5/5.6.1/4400-svr4.0-64all/DynaLoader.pm line 206. at test.pl line 11 Compilation failed in require at test.pl line 11. I have also gotten a similar message about "sys_errlist". Now, if I define two dummy routines of my own named "sys_nerr" and "sys_errlist", the compile works and I am able to proceed. This approach strikes me as, shall we say, less than optimal. Can anyone help me?? Version of MP-RAS: --wgr
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||