I am now able to resolve the issue to cross compile H323Plus from the latest CVS trunk with a patch as shown below.
Code: Select all
--- a/src/Makefile
+++ b/src/Makefile
@@ -34,7 +34,7 @@ LIBRARY_MAKEFILE:=1
include $(OPENH323DIR)/openh323u.mak
# turn off strict-aliasing optimization, because it breaks the PDynaLink code
-STDCCFLAGS += -fno-strict-aliasing
+STDCCFLAGS += -fno-strict-aliasing -I../include
OH323_OBJDIR = $(OH323_LIBDIR)/$(PT_OBJBASE)
ifdef NOTRACE
It looks like
-I../include is missing. So, I just added it in the CFLAGS of src/Makefile. When cross compilation for a MIPS platform is called with a
make optshared, it produces both libh323_linux_mipsel__s.a and libh323_linux_mipsel_.so.2.11--alpha2 libraries as shown below:
Code: Select all
~ ls -lart lib/
total 38473
drwxr-xr-x 2 mazilo users 2456 Mar 9 10:18 obj
-rw-r--r-- 1 mazilo users 25724590 Mar 9 10:18 libh323_linux_mipsel__s.a
-rwxr-xr-x 1 mazilo users 13624705 Mar 9 10:18 libh323_linux_mipsel_.so.2.11--alpha2
lrwxrwxrwx 1 mazilo users 37 Mar 9 10:18 libh323_linux_mipsel_.so -> libh323_linux_mipsel_.so.2.11--alpha2
drwxr-xr-x 3 mazilo users 216 Mar 9 10:18 .
drwxr-xr-x 11 mazilo users 1648 Mar 9 11:08 ..
Obviously, this will cause the installation stage to crash (see below) because the library naming doesn't seem to conform with the format, i.e. @MAJOR_VERSION@.@MINOR_VERSION@.@BUILD_NUMBER@, as set out by the main Makefile of H323Plus package.
Code: Select all
make -j1 -C /opt/openwrt-svn-trunk/build_dir/target-mipsel_uClibc-0.9.33/h323plus_cvs DESTDIR="/opt/openwrt-svn-trunk/build_dir/target-mipsel_uClibc-0.9.33/h323plus_cvs/ipkg-install" install
make[3]: Entering directory `/opt/openwrt-svn-trunk/build_dir/target-mipsel_uClibc-0.9.33/h323plus_cvs'
mkdir -p /opt/openwrt-svn-trunk/build_dir/target-mipsel_uClibc-0.9.33/h323plus_cvs/ipkg-install/usr//lib
rm -f /opt/openwrt-svn-trunk/build_dir/target-mipsel_uClibc-0.9.33/h323plus_cvs/ipkg-install/usr//lib/libh323_*_r.so*
/usr/bin/install -c -m 444 lib/libh323_linux_mipsel_.so.1.24.1 /opt/openwrt-svn-trunk/build_dir/target-mipsel_uClibc-0.9.33/h323plus_cvs/ipkg-install/usr//lib
/usr/bin/install: cannot stat `lib/libh323_linux_mipsel_.so.1.24.1': No such file or directory
make[3]: *** [install] Error 1
make[3]: Leaving directory `/opt/openwrt-svn-trunk/build_dir/target-mipsel_uClibc-0.9.33/h323plus_cvs'
make[2]: *** [/opt/openwrt-svn-trunk/build_dir/target-mipsel_uClibc-0.9.33/h323plus_cvs/.built] Error 2
make[2]: Leaving directory `/opt/OpenWRT/feeds/packages/libs/h323plus_cvs'
make[1]: *** [package/feeds/local/h323plus_cvs/compile] Error 2
make[1]: Leaving directory `/opt/openwrt-svn-trunk'
make: *** [package/h323plus_cvs/compile] Error 2
As with the
-I@PREFIX@/include/openh323, it is still there, but is harmless. Perhaps, it has nothing to do with H323Plus.