Home Page for the TeradataForum

Archives of the TeradataForum

Message Posted: Thu, 20 Dec 2001 @ 13:54:39 GMT

  <Prev Next>  
Next> Last>>  

Subj:   CLI and perl on MP-RAS
From:   Geoffrey Rommel

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:
hostname hostname 4.0 3.0 4400 Pentium II(TM)-ISA/PCI
Version of Perl:
This is perl, version 5.005_02 built for sys3k


  <Prev Next>  
Next> Last>>  
  Top Home Privacy Feedback  
Copyright for the TeradataForum (TDATA-L), Manta BlueSky    
Copyright 2016 - All Rights Reserved    
Last Modified: 15 Jun 2023