[Serusers] trouble with ivr and perl

andy andrea at csp.it
Tue Mar 8 19:21:43 CET 2005


Hi all,

I'm tryng to use perl support into ivr plug-in.  I've built this plugin
successfully but when I start sems, I receive this error:

(2473) ERROR: loadPlugIn (AmPlugIn.cpp:97): AmPlugIn::loadPlugIn: ivr.so:
undefined symbol: Perl_Tmarkstack_max_ptr

I'm using perl 5.8.4 on a slackware 10.0. Do you have suggestions?
thanks

Andrea

My ivr Makefile is:

plug_in_name = ivr

SCRIPT = Perl
#SCRIPT = Python
TTS = n

ASTERISK_COMPATIBLE = n

ifeq ($(SCRIPT), Python)
#
# Python specific
#  (no need to change this if you want to use perl)
#
# PYTHON_VERSION might also be 2.2
# do a ls /usr/include/python2.3/Python.h to see if it's there
PYTHON_VERSION = 2.3
# adjust to point to python include path
# can also be /usr/include/python$(PYTHON_VERSION)
# look for Python.h in the specified path
# Python prefix is what you configured python with
# if you built from source (e.g. ./configure --with-prefix=/usr/local)
# on debian it's often /usr, on SuSE /usr/local
PYTHON_PREFIX = /usr
PYTHON_DIR = $(PYTHON_PREFIX)/include/python$(PYTHON_VERSION)
PYTHON_LIBDIR = $(PYTHON_PREFIX)/lib/python$(PYTHON_VERSION)

# put used Python modules from lib-dynload here, e.g. time, mysql, _cvs.so etc.
PYTHON_DYNLOAD_MODULES = $(PYTHON_LIBDIR)/lib-dynload/time.so
PYTHON_module_cflags = -I$(PYTHON_DIR)
PYTHON_module_ldflags = -L$(PYTHON_LIBDIR)/config -lpython$(PYTHON_VERSION)
$(PYTHON_DYNLOAD_MODULES)

else
ifeq ($(findstring Perl, $(SCRIPT)), Perl)
#
# perl specific
#
# put used Perl modules here, e.g. time, mysql etc.
ifeq ($(SCRIPT), Perl)
PERL_DYNLOAD_MODULES =
else
PERL_DYNLOAD_MODULES =   /usr/lib/perl5/5.8.4/i486-linux/auto/IO/IO.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/Fcntl/Fcntl.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/Socket/Socket.so \
  /usr/lib/perl5/site_perl/5.8.4/i486-linux/auto/DBI/DBI.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/Sys/Hostname/Hostname.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/Sys/Syslog/Syslog.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/Sys/Syslog/Syslog.so \
  /usr/lib/perl5/site_perl/5.8.4/i486-linux/auto/Date/Calc/Calc.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/MIME/Base64/Base64.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/POSIX/POSIX.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/Time/HiRes/HiRes.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/Cwd/Cwd.so \
  /usr/lib/perl5/site_perl/5.8.4/i486-linux/auto/Bit/Vector/Vector.so \
  /usr/lib/perl5/site_perl/5.8.4/i486-linux/auto/DBD/mysql/mysql.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/Data/Dumper/Dumper.so \
  /usr/lib/perl5/5.8.4/i486-linux/auto/File/Glob/Glob.so
endif

PERL_module_ldflags = `perl -MExtUtils::Embed -e ldopts` -DPERL_IMPLICIT_CONTEXT
$(PERL_DYNLOAD_MODULES)
PERL_module_cflags = -DIVR_PERL `perl -MExtUtils::Embed -e ccopts `
-DPERL_IMPLICIT_CONTEXT

else
$(error 'Script language $(SCRIPT) type not supported, options are Python,
Perl*')
endif
endif

ifeq ($(TTS), y)
#
#   flite text to speech
#
# uncomment the next lines if you want to have flite text-to-speech
(ivr.say("Hello there"); )
FLITE_DIR = /usr/src/flite-1.2-release
ALT_FLITE_DIR = /usr/include/flite
IVR_TTS_module_ldflags =  -L$(FLITE_DIR)/lib -lm  -lflite_cmu_us_kal
-lflite_usenglish \
        -lflite_cmulex -lflite
IVR_TTS_module_cflags = -I$(FLITE_DIR)/include  -I$(ALT_FLITE_DIR)
-DIVR_WITH_TTS
endif

LOCAL_INCLUDES = -I$(FLITE_DIR)/lang/usenglish

LD_FLAGS = -ldl -lpthread -lutil -lm -Xlinker --export-dynamic -Xlinker
--no-strip-discarded

module_ldflags = -ldl -lpthread -lutil -lm -Xlinker --export-dynamic \
        $(PYTHON_module_ldflags) \
        $(IVR_TTS_module_ldflags) \
        $(PERL_module_ldflags)


ifeq ($(ASTERISK_COMPATIBLE), y)
module_additional_cflags = -DIVR_ASTERISK_COMPATIBLE_IDLE
endif

# for perl support:
# -DIVR_PERL  `perl -MExtUtils::Embed -e ccopts `
# for flite text-to-speech support -DIVR_WITH_TTS
module_cflags  = \
        $(PYTHON_module_cflags) \
        $(IVR_TTS_module_cflags) \
        $(PERL_module_cflags) \
        $(module_additional_cflags)

include ../Makefile.app_module

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.





More information about the sr-users mailing list