signalwire / freeswitch

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
https://freeswitch.com/#getting-started
Other
3.5k stars 1.4k forks source link

Mod Perl -ldb #1549

Open volga629-1 opened 2 years ago

volga629-1 commented 2 years ago

Describe the bug

Mod perl failing to compile on F34

To Reproduce Steps to reproduce the behavior:

  1. Install dependencies.
  2. Run compiler

Expected behavior Modules compiles without errors

Package version or git hash -1.10.6

making all mod_perl
make[4]: Entering directory '/builddir/build/BUILD/freeswitch-1.10.6/src/mod/languages/mod_perl'
  CC       mod_perl_la-mod_perl.lo
  CXX      mod_perl_la-freeswitch_perl.lo
  CXX      mod_perl_la-mod_perl_wrap.lo
  CC       mod_perl_la-perlxsi.lo
  CXXLD    mod_perl.la
/usr/bin/ld: cannot find -ldb
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:752: mod_perl.la] Error 1
make[4]: Leaving directory '/builddir/build/BUILD/freeswitch-1.10.6/src/mod/languages/mod_perl'
make[3]: *** [Makefile:712: mod_perl-all] Error 1
make[3]: Leaving directory '/builddir/build/BUILD/freeswitch-1.10.6/src/mod'
make[2]: *** [Makefile:613: all-recursive] Error 1
make[2]: Leaving directory '/builddir/build/BUILD/freeswitch-1.10.6/src'
make[1]: *** [Makefile:3678: all-recursive] Error 1
make[1]: Leaving directory '/builddir/build/BUILD/freeswitch-1.10.6'
make: *** [Makefile:1430: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.YoZJEI (%build)

Installed dependencies

<mock-chroot> sh-5.1# rpm -qa | grep gdbm-devel
gdbm-devel-1.19-2.fc34.x86_64
<mock-chroot> sh-5.1# 
<mock-chroot> sh-5.1# rpm -qa | grep libdb4
libdb4-4.8.30-32.fc34.x86_64
libdb4-devel-4.8.30-32.fc34.x86_64
libdb4-cxx-4.8.30-32.fc34.x86_64
libdb4-cxx-devel-4.8.30-32.fc34.x86_64
<mock-chroot> sh-5.1# 
<mock-chroot> sh-5.1# rpm -qa | grep perl-devel
perl-devel-5.32.1-477.fc34.x86_64
<mock-chroot> sh-5.1# 
volga629-1 commented 2 years ago

After some testing include is missing for libdb dev folder. Work around in library %post

%post
/sbin/ldconfig

# Hack for freeswitch libdb4 missing include
ln -sf /usr/lib64/libdb4/libdb.so /usr/lib64/libdb.so