The libjs.so file isn't being built by the freeswitch built system and this
results in an error building the freeswitch RPM. I'll try to figure out how to
let the freeswitch folks know about this but in the meantime if someone is
trying to build the freeswitch RPM they'll have a problem and here's a
workaround:
Arrange for the lib/freeswitch code to apply the patch below, a patch to
arrange for the patch is also included :)
-Eric
~/fs.patch:
DEV firedog ~$ cat fs.patch
Index: libs/js/configure.ac
===================================================================
--- libs/js/configure.ac (revision 16398)
+++ libs/js/configure.ac (working copy)
@@ -154,6 +154,8 @@
CPPFLAGS="$CPPFLAGS -DJS_HAS_XML_SUPPORT=1"
fi
+AC_PROG_LIBTOOL
+
dnl # configure option --with-dso
AC_ARG_WITH([dso],
AS_HELP_STRING([--with-dso], [build without DSO object (allows run-time
process extending)]),
@@ -229,8 +231,6 @@
with_tags=""
-AC_PROG_LIBTOOL
-
AC_CONFIG_HEADERS(config.h)
AC_CONFIG_FILES([Makefile js.pc js-config.sh src/perlconnect/Makefile.PL])
AC_OUTPUT
Hack to lib/freeswitch to apply the patch (yes it should be applied via the
spec file but likely the freeswitch folks will fix it faster than I can debug
the spec file changes):
Index: lib/freeswitch/Makefile.am
===================================================================
--- lib/freeswitch/Makefile.am (revision 17723)
+++ lib/freeswitch/Makefile.am (working copy)
@@ -1,6 +1,6 @@
VERSION = 1.0.5
RELEASE = 1
-SVN_RELEASE = 16184
+SVN_RELEASE = 16398
SRC_DIR = $(srcdir)/src
SVN_URL = http://svn.freeswitch.org/svn/freeswitch/trunk
@@ -26,6 +26,7 @@
build-rpms:
pushd @RPMBUILD_TOPDIR@/SOURCES ; \
svn export -q -r $(SVN_RELEASE) $(SVN_URL) sipx-freeswitch-$(VERSION) ;
\
+ (cd sipx-freeswitch-$(VERSION); patch -p0 < ~/fs.patch) ;
tar czf $(SRC_TARBALL) sipx-freeswitch-$(VERSION) ; \
rm -rf sipx-freeswitch-$(VERSION) ; \
popd
Details:
The problem is some sort of dependency issue between AC_CHECK_HEADER and
AC_PROG_LIBTOOL.
The proximal issue is that EGREP is not defined when checking for the ability
to make shared libs.
It appears that using AC_CHECK_HEADER at 'autoconf' time remembers that the
check for, say, EGREP has been done and prevents it from being issued again in
the resulting configure script, however if AC_CHECK_HEADER is used in a runtime
'if' block (the 'if' runs when configure runs, not autoconf) and that if does
not pay off AC_PROG_LIBTOOL ends up w/o EGREP defined and the check if we can
build a shared library fails (and thus no .so is built).
A simple workaround is to move AC_PROG_LIBTOOL up above the AC_ARG_WITH([dso
... check which uses AC_CHECK_HEADER in a bash if block (which does not pay off
on linux). I'm no autoconf wizard and my lame attempts to force it to check for
EGREP again failed -- it may be you're just not supposed to use some things
inside an 'if' block at 'configure' time.
_______________________________________________
sipx-dev mailing list [email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
sipXecs IP PBX -- http://www.sipfoundry.org/