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/

Reply via email to