Running fop2 in Slackware Linux

  1. 12 years ago

    Im trying to run fop2 in an Asterisk PBX running on Slackware Linux, and receiving the following output:

    # ./fop2_server
    Can't load '/tmp/par-root/cache-f0a3f11efb4858d29f477772e1bc9d218df72f95/a18db233.so' for module Filter::Crypto::Decrypt: libcrypto.so.4: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230.
    at /usr/lib/perl5/site_perl/5.8.5/PAR/Heavy.pm line 109
    BEGIN failed--compilation aborted at /tmp/par-root/cache-f0a3f11efb4858d29f477772e1bc9d218df72f95/inc/lib/Filter/Crypto/Decrypt.pm line 37.
    Compilation failed in require at script/fop2_server.pl line 1.
    BEGIN failed--compilation aborted at script/fop2_server.pl line 1.

    Linux kernel 2.6.32.7, Perl 5.8.7, glibc 2.3.5, Asterisk 1.4.32, Dahdi 2.4.0.
    Any input on this will be greatly appreciated. Thank you in advance.

  2. admin

    15 Mar 2012 Administrator

    You should create a symlink to libcrypto the same way it has to be done on Centos 6, but using the correct filename for your installation (I do not know for sure what is your libcrypto version and files on the system. Something on the lines of:

    ln -s /usr/lib/libcrypto.so.4 /usr/lib/libcrypto.so.6
  3. Thank you very much Nicolás,

    In this particular case - Slackware with OpenSSL 0.9.7(g), the command needed was:

    ln -s /usr/lib/libcrypto.so.0.9.7 /usr/lib/libcrypto.so.4

    that solved libcrypto library load problem. However, I have a new - and seemingly more difficult - problem. Now Filter::Crypto::Decrypt is detecting the Perl debugger as active in Slackware's Perl binary:

    # ./fop2_server
    Debugging flag values: (see also -d)
    [ Long list of debugging parameters clipped off ]
    Can't run with DEBUGGING Perl at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 253.
    BEGIN failed--compilation aborted at /tmp/par-root/cache-f0a3f11efb4858d29f477772e1bc9d218df72f95/inc/lib/Filter/Crypto/Decrypt.pm line 37.
    Compilation failed in require at script/fop2_server.pl line 1.
    BEGIN failed--compilation aborted at script/fop2_server.pl line 1.

    Strangely, and as far as I remember, Slackware's Perl does not ship with debugging. The original makefile compilation parameters for this package version were:

    ./Configure -de \

    • Dprefix=/usr \
    • Dcccdlflags='-fPIC' \
    • Dinstallprefix=/usr \
    • Doptimize="-O2 -march=i486 -mcpu=i686"\
    • Dinc_version_list='5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' \
    • Darchname=i486-linux

    Output of perl -V:

    # perl -V
    Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
    Platform:
    osname=linux, osvers=2.4.31, archname=i486-linux
    uname='linux midas 2.4.31 #6 sun jun 5 19:04:47 pdt 2005 i686 unknown unknown gnulinux '
    config_args='-de -Dprefix=/usr -Dcccdlflags=-fPIC -Dinstallprefix=/usr -Doptimize=-O2 -march=i486 -mcpu=i686 -Dinc_version_list=5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 -Darchname=i486-linux'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
    Compiler:
    cc='cc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -march=i486 -mcpu=i686',
    cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='3.3.6', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
    Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.5.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.3.5'
    Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'

    Characteristics of this binary (from libperl):
    Compile-time options: USE_LARGE_FILES
    Built under linux
    Compiled at Jul 13 2005 12:02:22
    @INC:
    /usr/lib/perl5/5.8.7/i486-linux
    /usr/lib/perl5/5.8.7
    /usr/lib/perl5/site_perl/5.8.7/i486-linux
    /usr/lib/perl5/site_perl/5.8.7
    /usr/lib/perl5/site_perl/5.8.6
    /usr/lib/perl5/site_perl

  4. admin

    15 Mar 2012 Administrator

    Fop2 does not run with a debugging perl, it never will. You have to compile perl without the debugging flag and it will work. I am sorry, there is no way around that but recompiling perl.

    Best regards,

or Sign Up to reply!