[Xorp-hackers] [PATCH] windows: mingw cross compiler : build xorp_win32.zip : win32_pkg.bash 1) libstdc++-6.dll 2) change order exit errors 3) update notes mingw32 packages 4) add URLs /w32api/include/routprot.h 51: error: 'IP_LOCAL_BINDING'

Victor Miasnikov vvm at tut.by
Tue Mar 13 03:20:04 PDT 2012


From: Victor Miasnikov <vvm at tut.by>

windows: mingw cross compiler : build xorp_win32.zip : win32_pkg.bash

1) add copy libstdc++-6.dll in win32_pkg.bash
1b) add backward compatibility with old mingw GCC runtime
i.e. in case run builds on Fedora 13 (and/or with older mingw packages)

2) change order exit errors numbers
i.e. first -- common issue, last -- copy *.dll related

3) update notes about Fedora cross-compile packages ( mingw32-* )
3b) but not removing info the older mingw packages
( see section "works on Fedora 13")

4) update notes and URLs related with Error 51
in w32api headers file routprot.h
 See screenshot of error:
==
. . . include/routprot.h:51: error:
'IP_LOCAL_BINDING' does not name a type
==

Signed-off-by: Victor Miasnikov <vvm at tut.by>
---
 xorp/win32_pkg.bash |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/xorp/win32_pkg.bash b/xorp/win32_pkg.bash
index a7fa284..59a71b0 100755
--- a/xorp/win32_pkg.bash
+++ b/xorp/win32_pkg.bash
@@ -4,7 +4,24 @@
 # This needs to be run as root (or via sudo) to have a good
 # chance of working...
 
-# This works on modern Fedora, with these pkgs installed:
+#  This works on modern Fedora ( on 2012-03-12: Fedora 16),
+# with these pkgs installed:
+
+#mingw32-gcc-4.6.1-3.fc16.i686
+#mingw32-gcc-c++-4.6.1-3.fc16.i686
+#mingw32-cpp-4.6.1-3.fc16.i686
+#mingw32-filesystem-69-11.fc16.noarch
+#mingw32-binutils-2.21-2.fc16.i686
+#mingw32-runtime-3.18-4.fc16.noarch
+#mingw32-w32api-3.17-1.fc16.noarch
+#mingw32-pthreads-2.8.0-15.20110511cvs.fc16.noarch
+#mingw32-zlib-1.2.5-5.fc16.noarch
+#mingw32-openssl-1.0.0d-1.fc16.noarch
+#mingw32-pdcurses-3.4-8.fc15.noarch
+#mingw32-libgnurx-2.5.1-7.fc15.noarch
+
+
+# This works on Fedora 13, with these pkgs installed:
 
 #mingw32-pdcurses-3.4-8.fc15.noarch
 #mingw32-cpp-4.5.3-1.fc15.i686
@@ -19,8 +36,24 @@
 #mingw32-pthreads-2.8.0-13.fc15.noarch
 #mingw32-filesystem-69-3.fc15.noarch
 
-# In addition, you need the fix listed in this bug:
+
+
+# In addition, you need ( on 2012-03-12) the fix this bug:
+#==
+# . . . include/routprot.h:51: error:
+# 'IP_LOCAL_BINDING' does not name a type
+#==
+# Bug listed in
+#http://sourceforge.net/tracker/?func=detail&aid=3388721&group_id=2435&atid=102435
+# or
 #http://lists.fedoraproject.org/pipermail/mingw/2011-February/003442.html
+#
+# But first check "src/winsup/w32api/include/" on cygwin.com :
+#http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/w32api/include/?cvsroot=src
+# or directly
+#  "CVS log for src/winsup/w32api/include/routprot.h" on
+#http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/w32api/include/routprot.h?cvsroot=src
+#
 
 # mingw cross-compile arguments
 SARGS="strip=yes shared=no build=mingw32 STRIP=i686-pc-mingw32-strip \
@@ -52,10 +85,15 @@ scons $SARGS install || exit 2
 
 echo "Copy some files..."
 # Copy some run-time libraries to the xorp dir for packaging
-cp /usr/i686-pc-mingw32/sys-root/mingw/bin/libcrypto-10.dll /usr/local/xorp/sbin/ || exit 3
 cp /usr/i686-pc-mingw32/sys-root/mingw/bin/zlib1.dll /usr/local/xorp/sbin/ || exit 4
 cp /usr/i686-pc-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll /usr/local/xorp/sbin/ || exit 5
 cp /usr/i686-pc-mingw32/sys-root/mingw/bin/libgnurx-0.dll /usr/local/xorp/sbin/ || exit 6
+cp /usr/i686-pc-mingw32/sys-root/mingw/bin/libcrypto-10.dll /usr/local/xorp/sbin/ || exit 7
+if [ -d /usr/i686-pc-mingw32/sys-root/mingw/bin/libstdc++-6.dll ] ; then
+ (
+ cp /usr/i686-pc-mingw32/sys-root/mingw/bin/libstdc++-6.dll /usr/local/xorp/sbin/ || exit 8
+ )
+fi
 
 
 PWD=$(pwd)
@@ -66,7 +104,7 @@ then
     userdir = "./"
 fi
 
-cd /usr/local || exit 7
+cd /usr/local || exit 3
 
 if [ ! -d ${userdir}tmp ]
 then
-- 
1.7.9.msysgit.0




More information about the Xorp-hackers mailing list