Found these porblems with undefined symbol
nm blib/arch/auto/Laff/Laff.so | grep tree_insert_and_rebalance
U _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
from man nm :
"U" The symbol is undefined.
nm /apps/gcc/3.4.1/lib/libstdc++.so | grep tree_insert_and_rebalance 0004dc30 T _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_
So if it is in libstdc++.so and I specificall put -lstdc++ at the end, shouldn't this have ld pick ip up (BTW I'm linking with g++)
The difference is the @@GLIBCXX_3.4 WHere does this come from?
I get it to compile without a problem but testing fails.
Here's the result of testing:
Can't load '/data/cdmg/dev/cdmg_toolbox/Laff/LaffPerl/blib/arch/auto/Laff/Laff.so' for module Laff: /data/cdmg/dev/cdmg_toolbox/Laff/LaffPerl/blib/arch/auto/Laff/Laff.so: undefined symbol: _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_ at /apps/perl/5.8.0/lib/5.8.0/i686-linux-thread-multi/DynaLoader.pm line 229.
Here's my makefile.pl
use ExtUtils::MakeMaker;
$PLATFORM = `uname`;
$CC = 'g++';
WriteMakefile(
'NAME' => 'Laff'
,'PREFIX' => './'
,'PREREQ_PM' => {}
,'VERSION_FROM' => 'Laff.pm'
,'ABSTRACT' => 'perl extention of C++ Laff routines written by Billy Patton'
,'LIBS' => [ '-L/data/cdmg/dev/cdmg_toolbox/Laff/'.${PLATFORM}.' -lcdmg_laff -L/data/cdmg/dev/cdmg_toolbox/libcdmg/'.${PLATFOR
M}.' -lcdmg -L/data/cdmg/dev/cdmg_toolbox/pcre-5.0/'.${PLATFORM}.' -lpcre -lm -lstdc++'
]
,'OPTIMIZE' => '-g3 -O2'
,'DISTNAME' => 'LaffPerl'
,'INSTALLDIRS' => 'perl'
,'INC' => "-I/data/cdmg/dev/cdmg_toolbox/Laff -I/data/cdmg/dev/cdmg_toolbox/libcdmg -I/data/cdmg/dev/cdmg_toolbox/pcre-5.0"
,'XSOPT' => '-C++'
,'CC' => ${CC}
,'LD' => ${CC}
,'TYPEMAPS' => ['typemap' ]
);
___ _ ____ ___ __ __
/ _ )(_) / /_ __ / _ \___ _/ /_/ /____ ___
/ _ / / / / // / / ___/ _ `/ __/ __/ _ \/ _ \
/____/_/_/_/\_, / /_/ \_,_/\__/\__/\___/_//_/
/___/ Texas Instruments ASIC Circuit Design Methodology Group
Dallas, Texas, 214-480-4455, [EMAIL PROTECTED]