---------- Forwarded message ---------- From: Adam Greenhalgh <[email protected]> Date: 30 April 2010 10:59 Subject: Re: [Xorp-cvs] SF.net SVN: xorp:[11699] trunk/xorp To: [email protected] Cc: [email protected]
I think this bit of the patch needs rolling back or changing something that mentions a decreased compile time at the slight risk of additional errors during the build process. Its rare I know, but I have seen it, and those that have done any significant development work will know about the -j flag anyway. -scons +scons -j4 adam On 30 April 2010 06:45, <[email protected]> wrote: > Revision: 11699 > http://xorp.svn.sourceforge.net/xorp/?rev=11699&view=rev > Author: greear > Date: 2010-04-30 05:45:14 +0000 (Fri, 30 Apr 2010) > > Log Message: > ----------- > release: Update release notes and similar, version to 1.7 > > Signed-off-by: Ben Greear <[email protected]> > > Modified Paths: > -------------- > trunk/xorp/BUGS > trunk/xorp/BUILD_NOTES > trunk/xorp/ERRATA > trunk/xorp/README > trunk/xorp/RELEASE_NOTES > trunk/xorp/TODO > trunk/xorp/VERSION > trunk/xorp/etc/templates/xorpsh.cmds > trunk/xorp/rtrmgr/master_conf_tree.cc > > Modified: trunk/xorp/BUGS > =================================================================== > --- trunk/xorp/BUGS 2010-04-29 15:10:56 UTC (rev 11698) > +++ trunk/xorp/BUGS 2010-04-30 05:45:14 UTC (rev 11699) > @@ -1,6 +1,3 @@ > -# > -# $XORP$ > -# > > * Please report bugs using Trac: http://sourceforge.net/apps/trac/xorp/ > > > Modified: trunk/xorp/BUILD_NOTES > =================================================================== > --- trunk/xorp/BUILD_NOTES 2010-04-29 15:10:56 UTC (rev 11698) > +++ trunk/xorp/BUILD_NOTES 2010-04-30 05:45:14 UTC (rev 11699) > @@ -1,6 +1,3 @@ > -# > -# $XORP: xorp/BUILD_NOTES,v 1.116 2009/01/08 01:22:02 syedk Exp $ > -# > > Build Notes for XORP (eXtensible Open Router Platform) > > @@ -8,10 +5,9 @@ > 0. Preface > ========== > > -As of September 2009, much of the information in this file may be outdated, > -and should probably be moved to a Wiki. Some instructions refer to the > -old GNU Autotools based build system, which is now deprecated. SNMP support > -is currently deprecated and requires a rewrite. > +XORP builds on Linux and BSD variants that support the 'scons' build > +system and GNU g++ compiler toolset. Please ask on the xorp-hackers > +mailing list if your preferred system is not currently supported. > > 1. Compilation > ============== > @@ -22,7 +18,8 @@ > To compile XORP, you must have SCons installed. Then just > run the following commands in the top-level directory: > > -scons > +scons -j4 > +scons install > > To change the default C and C++ compilers, then assign the binary > names to the CC and CXX user environmental variables respectively. > @@ -36,6 +33,9 @@ > those flags to the CFLAGS and CXXFLAGS environmental variables (for the > C and C++ compiler respectively) before running "scons". > > +For various compile options use: scons --help > + > + > 1.2 Generating documentation > ============================ > > @@ -303,44 +303,18 @@ > 3.5. Linux > ========== > > - * Linux Red Hat-7.2 (kernel 2.4.18): > - - The code compiles, but some of the internal tests fail dumping core. > - The problem is attributable to exception handler failures caused by > - the default compiler/binutils combination. More information is > - available at: > - http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=54724 > - - IGMP and PIM-SM appear to work. > + * It is difficult to get distributions older than Fedora Core 5 > + to compile XORP 1.7, primarily due to scons and python dependencies. > > - * Linux Red Hat-7.3 (kernel 2.4-20): > - - No known issues. > - - The code should compile with the following versions of the > - gcc/g++ compiler: 2.96 (default). > - > - * Linux Red Hat-9.2 (kernel 2.4.20-8smp): > - - You must install the following RPMs (and all other RPMs they depend > on): > - - openssl-devel (e.g., openssl-devel-0.9.7a-5.i386.rpm) > - - ncurses (e.g., ncurses-5.3-4.i386.rpm) > - - The code compiles, and the internal tests appear to succeed. > - > * Linux Red Hat Enterprise Linux Server release 5 (Tikanga) > (kernel 2.6.18-8.el5) > - Optionally install the following packages: > - libpcap-devel (e.g., libpcap-devel.x86_64) > This package is needed for sending/receiving link layer data frames. > - - net-snmp, net-snmp-utils, net-snmp-devel, net-snmp-perl > - Those packages are needed for SNMP support. > - The code compiles, and the internal tests appear to succeed. > - gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52) > - Tested on the following architectures: x86_64 (amd64) > > - * Linux Fedora Core2 (kernel 2.6.5-1.358): > - - The code compiles, but some of the internal tests may fail. > - > - * Linux Fedora Core4 (kernel 2.6.11-1.1369_FC4smp): > - - The code compiles, and the internal tests appear to succeed > - with the following compilers: gcc-4.0.0 (default), gcc-4.0.1, > - gcc-4.0.2. > - > * Linux Fedora Core5 (2.6.16-1.2080_FC5smp): > - The code compiles, and the internal tests appear to succeed. > - gcc (GCC) 4.1.0 20060304 (Red Hat 4.1.0-3) > @@ -364,8 +338,6 @@ > - Optionally install the following packages: > - libpcap-devel > This package is needed for sending/receiving link layer data frames. > - - The code compiles, and the internal tests appear to succeed > - except test33 in "bgp/harness/test_peering1.sh" > - gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) > > * Linux Fedora 10 (2.6.27.5-117.fc10.i686): > @@ -397,12 +369,6 @@ > Either create a link from gcc to gcc-3.3 and from g++ to g++-3.3, > or set the CC and CXX environments to point to the binary names. > E.g., in csh/tcsh: setenv CC gcc-3.3; setenv CXX g++-3.3 > - - If you see an error like the following when compiling with make/gmake: > - python ../../xrl/scripts/tgt-gen -I../../xrl/interfaces finder.tgt > - sh: line 1: cpp: command not found > - then you would need to create a link from cpp to the C preprocessor. > - E.g., if the C preprocessor is /usr/bin/cpp-3.3, then execute as root: > - cd /usr/bin; ln -s cpp-3.3 cpp > - The code compiles, and the internal tests appear to succeed. > - gcc-3.3 (GCC) 3.3.5 (Debian 1:3.3.5-13) > > @@ -448,11 +414,6 @@ > > * Linux Ubuntu-7.04 (Server Edition, kernel 2.6.20-15-server): > - You must install the following packages: > - - make > - Note that the installed binary name is "make" so you need > - to run "make" instead of "gmake" to compile the source code. > - Alternatively, add "gmake" as a symbolic link to "make": > - cd /usr/bin; ln -s make gmake > - libssl-dev (e.g., version 0.9.8c-4build1) > - gcc (e.g., gcc-4.1) > - g++ (e.g., g++-4.1) > @@ -467,19 +428,12 @@ > > * Linux Ubuntu-7.10 (Server Edition, kernel 2.6.22-14-server): > - You must install the following packages: > - - make > - Note that the installed binary name is "make" so you need > - to run "make" instead of "gmake" to compile the source code. > - Alternatively, add "gmake" as a symbolic link to "make": > - cd /usr/bin; ln -s make gmake > - libssl-dev (e.g., version 0.9.8e-5ubuntu3.1) > - gcc (e.g., gcc-4.1) > - g++ (e.g., g++-4.1) > - Optionally install the following packages: > - libpcap0.8-dev > This package is needed for sending/receiving link layer data frames. > - - snmpd and libsnmp-dev > - Those packages are needed for SNMP support. > - iptables-dev > This package is needed for configuring firewall rules using XORP. > - The code compiles, and the internal tests appear to succeed. > @@ -488,19 +442,12 @@ > > * Linux Ubuntu-8.04.1 (Server Edition, kernel 2.6.24-19-server): > - You must install the following packages: > - - make > - Note that the installed binary name is "make" so you need > - to run "make" instead of "gmake" to compile the source code. > - Alternatively, add "gmake" as a symbolic link to "make": > - cd /usr/bin; ln -s make gmake > - libssl-dev (e.g., version 0.9.8g-4ubuntu3.3) > - gcc (e.g., gcc-4.2) > - g++ (e.g., g++-4.2) > - Optionally install the following packages: > - libpcap0.8-dev > This package is needed for sending/receiving link layer data frames. > - - snmpd and libsnmp-dev > - Those packages are needed for SNMP support. > - iptables-dev > This package is needed for configuring firewall rules using XORP. > - The code compiles, and the internal tests appear to succeed. > @@ -509,19 +456,12 @@ > > * Linux Ubuntu-8.10 (Server Edition, kernel 2.6.27-7-server): > - You must install the following packages: > - - make > - Note that the installed binary name is "make" so you need > - to run "make" instead of "gmake" to compile the source code. > - Alternatively, add "gmake" as a symbolic link to "make": > - cd /usr/bin; ln -s make gmake > - libssl-dev (e.g., 0.9.8g-10.1ubuntu2) > - gcc (e.g., gcc-4.3) > - g++ (e.g., g++-4.3) > - Optionally install the following packages: > - libpcap0.8-dev > This package is needed for sending/receiving link layer data frames. > - - snmpd and libsnmp-dev > - Those packages are needed for SNMP support. > - iptables-dev > This package is needed for configuring firewall rules using XORP. > - The code compiles, and the internal tests appear to succeed. > @@ -558,6 +498,7 @@ > > 3.6. Mac OS X > ============= > + * NOTE: I have no idea if XORP 1.7 on Mac OS X compiles at all. --Ben > > * All: > - Unicast routing appears to work. > @@ -583,495 +524,26 @@ > > 3.7 Microsoft Windows > ===================== > + * Not supported any longer. > > - * All: > - - We encourage users to try XORP on newer, unsupported versions of > - Windows and report their results to the development team. > - > - - 64-bit versions of Windows are known not to support MinGW, and are > - therefore not currently supported by XORP. > - > - - For instructions how to build the XORP Installer for Windows > - see xorp/contrib/win32/installer/README. > - > - - NOTE WELL: If you are trying to build XORP with MinGW-current as of > - 31st July 2006, you will need to manually remove the > - -Wmissing-declarations and -Wmissing-prototypes warning flags from > - the CPARANOIDFLAGS variable in XORP's configure script in order > - to build XORP without interruption. > - This is due to the new way that MSVCRT inline functions are dealt > - with in the mingw-runtime system headers. No other workaround > - is known at this time. > - > - * Windows Server 2003 (Service Pack 1) (32-bit, x86): > - - XORP is only supported on Windows Server 2003, and is targeted for > - 32-bit x86 systems. > - > - - If a Win32 support patch is shipped for your release, please apply > - it before filing bug reports with the core team. > - > - - Unicast routing appears to work. > - - All regression tests pass as of XORP 1.2. > - - IPv6 is not supported. > - - RTMv2 is not supported. > - - Multicast is not supported. > - > - - The code compiles using the MinGW port of gcc 3.4.2, using the > - MSYS shell environment. > - > - - Instructions for building XORP on Windows Server are identical > - to those for building XORP on a UNIX platform. However, the > - following caveats apply. > - > - * If you specify the --with-openssl option to configure, it may be > - propagated to the libtecla build, causing the top-level make to > break. > - > - * Any paths passed to the configure script must be in MinGW UNIX-style > - format. Example: 'C:\XORP' becomes '/c/xorp'. > - > - A patch must be manually applied to the MinGW toolchain before > - attempting to build XORP, as we use API functions which are present in > - the Windows SDK but which are not yet present in the system headers > - which ship with MinGW as of May 2006. > - > - You MAY need to bracket references to off_t in MinGW's <unistd.h> > - header with '#if 0'. > - > - The patch may be found in the xorp/contrib/win32 directory. > - > - * Download the source for w32api-3.7 from mingw.org and untar it > - into a writable location. > - * Change into this directory. > - * Apply the w32api-3.7-xorp.patch to this tree with 'patch -p1'. > - * From within the w32api-3.7 directory, run ./configure --prefix=/usr > - to ensure that the existing w32api binary installation will be > - overwritten. > - (The paths under the MinGW / are aliased under /usr too, but the > - w32api makefiles are confused by a single slash in their PREFIX.) > - * make && make install > - > - If you encounter any problems, please send the output of the command > - "msysinfo all" and contact the XORP development team with this > - information. > - > - - We recommend that you install MinGW, MSYS, and the required GNU/Win32 > - ports under the path C:\MinGW\, in that order. > - > - - We recommend that you initially use the Nullsoft Installer which > - is now shipping on MinGW.org to install the 'current' version of > - the base MinGW tools. > - > - - Once the base MinGW installation is complete, you should then > - manually update the toolchain which this program installs by > - downloading and untarring the following packages in the root of > - your MinGW installation. > - > - * MSYS-1.0.11-2004 > - * binutils-2.15.91 > - * gcc-g++ > - * gcc-core > - * gdb-6.3-1 > - * mingw-runtime > - * mingw-utils > - * mingw32-make > - * msysDTK-1.0.0 > - * w32api-3.7 > - > - - Make sure that symbolic links or copies of mingw32-make.exe as > - make.exe and gmake.exe respectively in your MinGW path. > - > - - You must install the following GNU/Win32 ports:- > - > - * openssl-bin (Binaries) > - * openssl-lib (Developer files) > - * pcre-bin (Binaries) > - * pcre-lib (Developer files) > - > - They may be found at: http://gnuwin32.sourceforge.net/packages.html > - > - - You must install Python for Windows if you intend to run the > - regression tests. This may be found at: http://www.python.org/download/ > - > - The path to the python.exe binary must either be present in PATH after > - installation, or a symlink created in the MinGW environment. > - > - - In certain cases the compilation might try to use Python to > - auto-generate some files. In that case, one possible work-around > - solution would be install Python. However, if the compilation > - fails with an error like: > - > -/c/python24/python ../../xrl/scripts/tgt-gen -I../../xrl/interfaces bgp.tgt > -process_begin: CreateProcess((null), /c/python24/python > ../../xrl/scripts/tgt-gen -I../../xrl/interfaces bgp.tgt, ...) failed. > -make (e=3): The system cannot find the path specified. > - > - then try using the following command in the top-level XORP directory: > - > - env PYTHON=C:/dos/style/path/to/python.exe ./configure > - > - - The RunShellCommand class has a hard-coded path to the MSYS shell. > - This is currently a no-op because the router manager no longer uses > - this class for running XORP modules. > - > - - To take a full BGP route feed, a registry key must be updated: > - HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters > - must be set to 0xFFFFFFFF. Be warned that this removes the upper > - limit on use of nonpageable system memory for kernel FIB entries; > - if the kernel FIB memory requirements ever exceed physical memory, > - the NT kernel will panic. > - > - The XORP installer has a property page which allows this to be set > - by the administrator, but it does not roll back these settings when > - XORP is uninstalled. > - > - - If the Windows Routing and Remote Access (RRAS) service is running, > - the XORP FEA process may not be able to update the Windows IPv4 > - routing tables. The FEA will detect when this service is running > - and print a warning message to the XORP process log. > - > - - The XORP Shell (xorpsh.exe) should be run from within a native > - Win32 command prompt. If run from within any other kind of shell, > - it may not work. > - > - * Windows 'Longhorn' Server (Build 5384) (32-bit, x86): > - - XORP is known to compile on this operating system, but is currently > - unsupported, with the following caveats as they apply to the > - instructions given for building under Windows Server 2003: > - > - * MinGW and MSYS must be installed in separate directories in order > - to work. > - * As such, MSYSROOT must be set to point to the MSYS root directory, > - and links/copies of sh.exe and bash.exe made in the MinGW tree. > - * The GnuWin32 utilities should be installed in the MinGW tree. > - * The latest bleeding-edge MinGW toolchain is in use (g++ 3.4.5). > - * ActiveState Python is known to install correctly; the open source > - Python will not. > - > - The following points only apply to the use of the XORP tinderbox: > - * A copy or link of sh.exe as bash.exe must be made for the BGP > - regression tests to run. > - * CopSSH does not install under Vista or Longhorn. > - * SSH for Windows does not install under Vista or Longhorn. > - * Subsystem for UNIX Applications (SUA), as an alternative means of > - running sshd, is not ready as of this writing for Vista or Longhorn. > - > - * Windows Vista Ultimate Beta (Build 5384) (32-bit, x86): > - - The binary snapshots for Windows Server 2003 are known to run on > - this operating system, but are not officially supported. > - > 3.8. Cross-compilation > ====================== > + * Not supported at this time, but may not be difficult to enable. > > - * All: > - - Running the "gmake check" internal tests within the > - cross-compilation environment will not work, unless the build > - machine is capable of running the cross-compiled binaries for the > - target architecture. > - > - * IA-64 > - - The code is known to cross-compile on Linux, but it is unknown > - whether the internal tests succeed. > - XORP itself hasn't been tested on IA-64 machine, so it is unknown > - whether it will run properly. > - > - * MIPS (Broadcom for Linksys WRT54G) > - - The code is known to cross-compile on Linux, but it is unknown > - whether the internal tests succeed. > - XORP itself hasn't been tested on Linksys WRT54, so it is unknown > - whether it will run properly. > - > - * PowerPC-603 > - - The code is known to cross-compile on Linux, but it is unknown > - whether the internal tests succeed. > - XORP itself hasn't been tested on PowerPC-603 machine, so it is > - unknown whether it will run properly. > - > - * Sparc64 > - - The code is known to cross-compile on Linux, but it is unknown > - whether the internal tests succeed. > - XORP itself hasn't been tested on Sparc64 machine, so it is unknown > - whether it will run properly. > - > - * XScale > - - The code is known to cross-compile on Linux, but it is unknown > - whether the internal tests succeed. > - XORP appears to run on Linux MontaVista-3.1, but it hasn't been > - tested thoughtfully. > - > - * Instructions for installing crosstool-based cross-compilation tools. > - > - Use the following instructions to install cross-compilation tools > - and use those tools to compile XORP: > - > - a) Download crosstool from http://kegel.com/crosstool/ and untar it: > - > - wget http://kegel.com/crosstool/crosstool-0.42.tar.gz > - tar zxvf crosstool-0.42.tar.gz > - cd crosstool-0.42 > - > - b) Apply one of the following patches: > - > - - IA-64 > - patch < demo-ia64.sh.patch > - > ----------------------------------------------------------------------- > ---- demo-ia64.sh.org 2005-03-09 13:49:19.000000000 -0800 > -+++ demo-ia64.sh 2006-10-18 17:37:25.000000000 -0700 > -@@ -18,6 +18,7 @@ > - #eval `cat ia64.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --notest > - #eval `cat ia64.dat gcc-3.4.1-glibc-2.3.2.dat` sh all.sh --notest > - #eval `cat ia64.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest > -- eval `cat ia64.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest > -+# eval `cat ia64.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest > -+ eval `cat ia64.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest > - > - echo Done. > ----------------------------------------------------------------------- > - > - - MIPS (Broadcom for Linksys WRT54G) > - patch < demo-mipsel.sh.patch > - > ----------------------------------------------------------------------- > ---- demo-mipsel.sh.org 2005-03-07 16:34:34.000000000 -0800 > -+++ demo-mipsel.sh 2006-10-25 16:25:59.000000000 -0700 > -@@ -33,8 +33,9 @@ > - #eval `cat mipsel.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --notest > - #eval `cat mipsel.dat gcc-3.4.1-glibc-2.2.5.dat` sh all.sh --notest > - #eval `cat mipsel.dat gcc-3.4.1-glibc-2.3.2.dat` sh all.sh --notest > -- eval `cat mipsel.dat gcc-3.4.2-glibc-2.2.5.dat` sh all.sh --notest > -+# eval `cat mipsel.dat gcc-3.4.2-glibc-2.2.5.dat` sh all.sh --notest > - #eval `cat mipsel.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest > - #eval `cat mipsel.dat gcc-3.4.2-glibc-20040827.dat` sh all.sh > --notest > -+eval `cat mipsel.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest > - > - echo Done. > ----------------------------------------------------------------------- > - > - - PowerPC-603 > - cp -p demo-ppc604.sh demo-ppc603.sh > - patch < demo-ppc603.sh.patch > - > ----------------------------------------------------------------------- > ---- demo-ppc603.sh.org 2005-03-07 16:34:34.000000000 -0800 > -+++ demo-ppc603.sh 2006-12-14 17:13:18.000000000 -0800 > -@@ -11,8 +11,9 @@ > - mkdir -p $RESULT_TOP > - > - # Build the toolchain. Takes a couple hours and a couple gigabytes. > --#eval `cat powerpc-604.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh > --builduserland --notest > -- eval `cat powerpc-604.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest > --#eval `cat powerpc-604.dat gcc-3.4.1-glibc-20040827.dat` sh all.sh --notest > -+#eval `cat powerpc-603.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh > --builduserland --notest > -+# eval `cat powerpc-603.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest > -+#eval `cat powerpc-603.dat gcc-3.4.1-glibc-20040827.dat` sh all.sh --notest > -+eval `cat powerpc-603.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest > - > - echo Done. > ----------------------------------------------------------------------- > - > - - Sparc64 > - patch < demo-sparc64.sh.patch > - > ----------------------------------------------------------------------- > ---- demo-sparc64.sh.org 2005-03-07 16:34:34.000000000 -0800 > -+++ demo-sparc64.sh 2006-11-06 19:31:57.000000000 -0800 > -@@ -15,7 +15,8 @@ > - #eval `cat sparc64.dat gcc-3.3.2-glibc-2.3.2.dat` sh all.sh --notest > - #eval `cat sparc64.dat gcc-3.3.3-glibc-2.3.2.dat` sh all.sh --notest > - #eval `cat sparc64.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --notest > -- eval `cat sparc64.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest > --testlinux > -+# eval `cat sparc64.dat gcc-3.4.2-glibc-2.3.3.dat` sh all.sh --notest > --testlinux > - #eval `cat sparc64.dat gcc-3.4.2-glibc-20040827.dat` sh all.sh --notest > -+eval `cat sparc64.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest > - > - echo Done. > ----------------------------------------------------------------------- > - > - - XScale > - patch < demo-armv5b-softfloat.sh.patch > - > ----------------------------------------------------------------------- > ---- demo-armv5b-softfloat.sh.org 2005-03-07 16:34:34.000000000 -0800 > -+++ demo-armv5b-softfloat.sh 2006-10-18 15:24:05.000000000 -0700 > -@@ -13,7 +13,8 @@ > - # Build the toolchain. Takes a couple hours and a couple gigabytes. > - > - #eval `cat armv5b-softfloat.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh > --notest > -- eval `cat armv5b-softfloat.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh > --notest > -+# eval `cat armv5b-softfloat.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh > --notest > - #eval `cat armv5b-softfloat.dat gcc-3.4.1-glibc-20040827.dat` sh all.sh > --notest > -+ eval `cat armv5b-softfloat.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh > --notest > - > - echo Done. > ----------------------------------------------------------------------- > - > - c) Compile the toolchain and install it: > - > - sudo mkdir /opt/crosstool > - sudo chown $USER /opt/crosstool > - > - # Unset the LD_LIBRARY_PATH environmetal variable > - setenv _SAVE_LD_LIBRARY_PATH $LD_LIBRARY_PATH > - unsetenv LD_LIBRARY_PATH > - > - # Perform the compilation (it tay take a while) > - > - - IA-64 > - sh demo-ia64.sh > - > - - MIPS (Broadcom for Linksys WRT54G) > - sh demo-mipsel.sh > - > - - PowerPC-603 > - sh demo-ppc603.sh > - > - - Sparc64 > - sh demo-sparc64.sh > - > - - XScale > - sh demo-armv5b-softfloat.sh > - > - # Restore the original LD_LIBRARY_PATH environmetal variable > - cd .. > - setenv LD_LIBRARY_PATH $_SAVE_LD_LIBRARY_PATH > - unsetenv _SAVE_LD_LIBRARY_PATH > - > - d) Set some environmetal variables that will be used later. > - The values need to be modified appropriately if the tools > - are installed in different directory. > - > - - IA-64 > - setenv CROSS_ARCH ia64-unknown-linux-gnu > - setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH} > - setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH} > - > - - MIPS (Broadcom for Linksys WRT54G) > - setenv CROSS_ARCH mipsel-unknown-linux-gnu > - setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH} > - setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH} > - > - - PowerPC-603 > - setenv CROSS_ARCH powerpc-603-linux-gnu > - setenv CROSS_ROOT /opt/crosstool/gcc-4.1.0-glibc-2.3.6/${CROSS_ARCH} > - setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH} > - > - - Sparc64 > - setenv CROSS_ARCH sparc64-unknown-linux-gnu > - setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH} > - setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH} > - > - - XScale > - setenv CROSS_ARCH armv5b-softfloat-linux > - setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH} > - setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH} > - > - e) Download openssl from http://www.openssl.org/ and untar it: > - > - wget http://www.openssl.org/source/openssl-0.9.8d.tar.gz > - tar zxvf openssl-0.9.8d.tar.gz > - cd openssl-0.9.8d > - > - f) Add a line like the following to file "Configure" in the section > - with other Linux targets. Note that the second field might need > - to be modified to match the exact path name of the installed > - cross-compiler. > - > - - IA-64 > -"ia64-unknown-linux-gnu", > "/opt/crosstool/gcc-3.4.5-glibc-2.3.6/ia64-unknown-linux-gnu/bin/ia64-unknown-linux-gnu-gcc:-DL_ENDIAN > -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG > RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", > - > - - MIPS (Broadcom for Linksys WRT54G) > -"mipsel-unknown-linux-gnu", > "/opt/crosstool/gcc-3.4.5-glibc-2.3.6/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc:-DL_ENDIAN > -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG > BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", > - > - - PowerPC-603 > -"powerpc-603-linux-gnu", > "/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-603-linux-gnu/bin/powerpc-603-linux-gnu-gcc:-DB_ENDIAN > -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 > DES_UNROLL::${no_asm}::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", > - > - - Sparc64 > -"sparc64-unknown-linux-gnu", > "/opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/bin/sparc64-unknown-linux-gnu-gcc:-DB_ENDIAN > -DTERMIOS -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG > BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", > - > - - XScale > -"armv5b-softfloat-linux", > "/opt/crosstool/gcc-3.4.5-glibc-2.3.6/armv5b-softfloat-linux/bin/armv5b-softfloat-linux-gcc:-DB_ENDIAN > -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG > BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", > - > - g) Cross-compile openssl and install it: > - > - ./Configure $CROSS_ARCH > - make INSTALL_PREFIX=$CROSS_ROOT_ARCH install > - > - h) Prepare the XORP cross-compilation environment. > - The first three commands can be skipped if they were done in > - step (d): > - > - - IA-64 > - setenv CROSS_ARCH ia64-unknown-linux-gnu > - setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH} > - > - - MIPS (Broadcom for Linksys WRT54G) > - setenv CROSS_ARCH mipsel-unknown-linux-gnu > - setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH} > - > - - PowerPC-603 > - setenv CROSS_ARCH powerpc-603-linux-gnu > - setenv CROSS_ROOT /opt/crosstool/gcc-4.1.0-glibc-2.3.6/${CROSS_ARCH} > - > - - Sparc64 > - setenv CROSS_ARCH sparc64-unknown-linux-gnu > - setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH} > - > - - XScale > - setenv CROSS_ARCH armv5b-softfloat-linux > - setenv CROSS_ROOT /opt/crosstool/gcc-3.4.5-glibc-2.3.6/${CROSS_ARCH} > - > - setenv CROSS_ROOT_ARCH ${CROSS_ROOT}/${CROSS_ARCH} > - setenv CC ${CROSS_ROOT}/bin/${CROSS_ARCH}-gcc > - setenv CXX ${CROSS_ROOT}/bin/${CROSS_ARCH}-g++ > - setenv LD ${CROSS_ROOT}/bin/${CROSS_ARCH}-ld > - setenv RANLIB ${CROSS_ROOT}/bin/${CROSS_ARCH}-ranlib > - setenv NM ${CROSS_ROOT}/bin/${CROSS_ARCH}-nm > - > - [Optional] > - setenv PATH ${PATH}:${CROSS_ROOT}/bin > - rehash > - > - i) Cross-compile XORP: > - > - cd /path/to/xorp/source/code > - ./configure --host=${CROSS_ARCH} > --with-openssl=${CROSS_ROOT_ARCH}/usr/local/ssl > - gmake > - > - > 4. Performance optimization > =========================== > > -[Note: this section is incomplete] > - > By default, XORP is compiled with compiler debug information enabled > -and no optimization. > +and moderate optimization. > > -Use the following command to disable the compiler debug information and > -to enable optimization: > +See 'scons --help' for more options. > > -./configure --enable-optimize --disable-debug > > -Remember that if XORP was compiled previously with different options, > -it must be recompiled from scratch: > - > -gmake clean > -gmake > - > -Additional compiler-related optimizations flags can be specified on > -the command line by setting CFLAGS (the C compiler flags) and CXXFLAGS > -(the C++ compiler flags). E.g., the following options can be used for > -Intel PentiumPro CPU optimizations: > - > -./configure --enable-optimize --disable-debug \ > - "CFLAGS=-march=pentiumpro -O3 -fomit-frame-pointer" \ > - "CXXFLAGS=-march=pentiumpro -O3 -fomit-frame-pointer" > - > -Other flags that can be set on the command line are CPPFLAGS (the C/C++ > -pre-processor flags), and LDFLAGS (the linker flags). > - > - > 5. Setting-up Ubuntu for XORP Installation > ========================================== > > +[ This section is at least partially out-dated. ] > + > 1)Install Ubuntu from Live CD - all default values hold good. > 2)Add your login name to the sudoers file > 3)Edit interfaces file > > Modified: trunk/xorp/ERRATA > =================================================================== > --- trunk/xorp/ERRATA 2010-04-29 15:10:56 UTC (rev 11698) > +++ trunk/xorp/ERRATA 2010-04-30 05:45:14 UTC (rev 11699) > @@ -1,14 +1,10 @@ > -# > -# $XORP: xorp/ERRATA,v 1.49 2008/12/19 00:35:26 abittau Exp $ > -# > > XORP ERRATA > > - ALL: > - - Parallel building (e.g., "gmake -j 4") may fail on multi-CPU > - machines. The simplest work-around is to rerun gmake or not to use > - the -j flag. > + See: https://sourceforge.net/apps/trac/xorp/report for current > + bug list. > > + ALL: > - The following compiler is known to be buggy, and should not be > used to compile XORP: > gcc34 (GCC) 3.4.0 20040310 (prerelease) [FreeBSD] > @@ -33,10 +29,8 @@ > > RTRMGR: > - There are several known issues, but none of them is considered > - critical. The list of known issues is available from: > + critical. > > - http://www.xorp.org/bugzilla/query.cgi > - > - Using the rtrmgr "-r" command-line option to restart processes > that have failed does not work if a process fails while being > reconfigured via xorpsh. If that happens, the rtrmgr itself may > @@ -50,10 +44,8 @@ > > XORPSH: > - There are several known issues, but none of them is considered > - critical. The list of known issues is available from: > + critical. > > - http://www.xorp.org/bugzilla/query.cgi > - > FEA/MFEA: > - On Linux with kernels prior to 2.6.24 and IPv6 support, interfaces > fail to be reconfigured properly if brought down and up again. > @@ -134,9 +126,7 @@ > may not work for the following OS-es because the kernel for those > systems does not provide a mechanism for asynchronous notification > of userland programs when the link status changes: FreeBSD-5.2 and > - earlier and MacOS X (note: if the Windows kernel supports this > - feature, it is not used yet in XORP). Though, for those systems > - the link status should be read properly on startup. > + earlier and MacOS X. > > - On Linux with kernel version linux-2.6.17 and older there is a > kernel bug which prevents adding an IPv6 address to an interface > @@ -195,10 +185,8 @@ > Eventually this limitation would be fixed in Linux kernel 2.6.28. > > RIB: > - - In some rare cases, the RIB may fail to delete an existing route: > + - In some rare cases, the RIB may fail to delete an existing route. > > - http://www.xorp.org/bugzilla/show_bug.cgi?id=62 > - > We are aware of the issue and will attempt to fix it in the > future. > > @@ -223,8 +211,6 @@ > - There are several other known issues, but none of them is > considered critical. The list of known issues is available from: > > - http://www.xorp.org/bugzilla/query.cgi > - > BGP: > - The BGP configuration mandates that an IPv4 nexthop must be > supplied. Unfortunately it is necessary to provide an IPv4 nexthop > @@ -360,55 +346,3 @@ > > CLI: > - No known issues. > - > - SNMP: > - - On some versions of Linux, there are some bugs in net-snmp > - versions 5.0.8 and 5.0.9, which prevent dynamic loading from > - working. See the following URL for links to the net-snmp > - patches that solve the problems: > - > - http://www.xorp.org/snmp.html > - > - - Version 5.1 of net-snmp requires a simple modification, otherwise > - XORP will fail to compile. > - See the following URL for a link to the net-snmp patch that solves > - the problems: > - > - http://www.xorp.org/snmp.html > - > - - There might be a compilation error in the mibs directory on some > - systems running on 64-bit machines (e.g., FreeBSD or Linux on amd64): > - > -g++ -shared xorpevents.lo -Wl,--whole-archive ../libxipc/.libs/libxipc.a > ../libxorp/.libs/libxorp.a ../libcomm/.libs/libcomm.a -Wl,--no-whole-archive > ../libxipc/.libs/libxipc.a ../libxorp/.libs/libxorp.a > ../libcomm/.libs/libcomm.a -lcrypto -Wl,-soname -Wl,libnetsnmpxorp.so -o > .libs/libnetsnmpxorp.so > -/usr/bin/ld: ../libxipc/.libs/libxipc.a(hmac_md5.o): relocation R_X86_64_32S > can not be used when making a shared object; recompile with -fPIC > -../libxipc/.libs/libxipc.a(hmac_md5.o): could not read symbols: Bad value > -gmake[1]: *** [libnetsnmpxorp.la] Error 1 > - > - In that case use the "--enable-shared" flag to "./configure", and > - remove the previous compilation: > - > - ./configure --with-snmp --enable-shared > - gmake clean > - gmake > - > - - There might be a compilation error when running "gmake check" > - in the mibs directory on some systems (e.g., Ubuntu Linux): > - > -g++ -DNETSNMP_NO_INLINE -g -Werror -W -Wall -Wwrite-strings -Wcast-qual > --Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe > -o > -.libs/test_xorpevents test_xorpevents.o -Wl,-Bsymbolic-functions -Wl,-E > -../libxipc/.libs/libfinder.a ./.libs/libnetsnmpxorp.so -lpcap -lrt -L/usr/lib > --L/usr/local/lib -L/usr/lib/perl/5.8/CORE /usr/lib/libnetsnmpmibs.so > -lsensors > -/usr/lib/libnetsnmphelpers.so /usr/lib/libnetsnmpagent.so -lwrap -lperl -ldl > --lm -lpthread -lc -lcrypt /usr/lib/libnetsnmp.so -lcrypto -Wl,--rpath > --Wl,/home/nithya/bug765/xorp/mibs/.libs -Wl,--rpath > -Wl,/usr/local/xorp/mibs/. > -/usr/local/bin/ld: cannot find -lperl > -collect2: ld returned 1 exit status > -make[2]: *** [test_xorpevents] Error 1 > - > - A possible work around is to link /usr/lib/libperl to > - /usr/lib/libperl.so.5.10 : > - > - su > - cd /usr/lib > - ln -s libperl.so.5.10 libperl.so > > Modified: trunk/xorp/README > =================================================================== > --- trunk/xorp/README 2010-04-29 15:10:56 UTC (rev 11698) > +++ trunk/xorp/README 2010-04-30 05:45:14 UTC (rev 11699) > @@ -1,6 +1,3 @@ > -# > -# $XORP: xorp/README,v 1.65 2009/01/09 19:20:58 jtc Exp $ > -# > > XORP: eXtensible Open Router Platform > > @@ -13,7 +10,9 @@ > developers from XORP, Inc., and members of the XORP.org community. > It started life as a project at the ICSI Center for Open Networking (ICON) > at the International Computer Science Institute in Berkeley, California, > -USA, and is now owned and shepherded by the team at XORP, Inc. > +USA, and spent some time with the team at XORP, Inc. It is now maintained > +and improved on a volunteer basis by a core of long-term XORP developers > +and some newer contributors. > > XORP's primary goal is to be an open platform for networking protocol > implementations and an alternative to proprietary and closed networking > @@ -55,7 +54,7 @@ > 2. Status > ========= > > -This is XORP Release 1.7-WIP > +This is XORP Release 1.7 > It is reasonably stable and can be used for routing, but there are known > issues. > > @@ -65,29 +64,18 @@ > * FreeBSD > * NetBSD > * OpenBSD > - * Linux > - * Mac OS X > - * Microsoft Windows > + * Linux (x86-32, x86-64, Sparc) > > See ${XORP}/BUILD_NOTES for OS-specific details, compilation > information, etc. > > Development platform: > > - * FreeBSD-7.0-RELEASE > - - gcc/g++ version 4.2.1 (default) > - - gmake (GNU make) version 3.81 > - - autoconf version 2.61 > - - automake version 1.10 > - - libtool version 1.5.24 > - - flex version 2.5.4 > - - yacc version default one that comes with the above OS > + * Linux and FreeBSD > > -Other platforms can also be used for development, but the installed > -version of autotools (autoconf/automake/libtool) should match the > -information listed above. > -For Microsoft Windows-based development see the corresponding > -entry in ${XORP}/BUILD_NOTES. > +Other platforms can also be used for development, perhaps with a bit > +of effort. Ask on the xorp-hackers mailing list if your preferred > +platform is not currently supported. > > See ${XORP}/ERRATA for the list of known problems. > > @@ -140,11 +128,10 @@ > 3. Compilation, configuration and startup > ========================================= > > -To compile XORP, you must have GNU make (gmake) installed. Then just > -run the following commands in the top-level directory: > +To compile XORP, you must have a recent version of scons and g++ > +compiler toolset installed. > > -./configure > -gmake > +scons > > See ${XORP}/BUILD_NOTES for additional information of building XORP. > > @@ -258,7 +245,8 @@ > * contrib : various contributed code. > > * olsr : RFC 3626 Optimized Link State Routing implementation. > - Generously funded by CenGen, Inc. > + Generously funded by CenGen, Inc. (Does not compile in 1.7, > + but will work in 1.8) > > * mld6igmp_lite : Implementation of the Lightweight IGMPv3/MLDv2 > protocols: > @@ -267,8 +255,6 @@ > The directories listed below contain various information that are of > limited interest, or are not relevant to the current release: > > - * config : autoconf/automake related files. > - > * devnotes : various notes for the XORP core members. > > * utils : Various XORP-related utilities. > @@ -278,9 +264,10 @@ > =============== > > In the short-term we plan to add: > - * IS-IS > - * Security > - * Bi-directional PIM-SM > + * Integrate changes found in 'xorp.ct' repository. > + * Get regression tests working again. > + * Implement batching and other performance improvements for BGP > + and other protocols. > > In the long-term, we plan to add: > * BGMP > @@ -295,6 +282,7 @@ > * Andrea Bittau > * Javier Cardona > * Atanu Ghosh > + * Ben Greear > * Adam Greenhalgh > * Mark Handley > * Orion Hodson > @@ -321,6 +309,7 @@ > - Microsoft > - Vyatta > - CenGen > + - Candela Technologies (Sponsors Ben Greear) > > * Martin C. Shepherd for the libtecla library (used by the CLI). > > > Modified: trunk/xorp/RELEASE_NOTES > =================================================================== > --- trunk/xorp/RELEASE_NOTES 2010-04-29 15:10:56 UTC (rev 11698) > +++ trunk/xorp/RELEASE_NOTES 2010-04-30 05:45:14 UTC (rev 11699) > @@ -1,78 +1,24 @@ > -# > -# $XORP: xorp/RELEASE_NOTES,v 1.235 2009/01/09 19:20:58 jtc Exp $ > -# > > XORP RELEASE NOTES > > This file contains XORP release notes (most recent releases first). > > -Release 2.0 (2010/??/??) > +Release 1.7 May 1, 2010 > ============================ > ALL: > - - > + - Compiles on Linux (x86-32, x86-64, Sparc, at least) and BSD variants. > + - Replaced 'make' build system with 'scons' > + - New installation layout. > + - Footprint reduction. > + - Bug fixes here an there, more queued for release 1.8. > + - Support shared libraries. > > - CONFIGURATION: > - - > - > - LIBXORP: > - - > - > - LIBXIPC: > - - > - > - LIBFEACLIENT: > - - > - > - XRL: > - - > - > - RTRMGR: > - - > - > - XORPSH: > - - > - > - POLICY: > - - > - > - FEA/MFEA: > - - > - > - RIB: > - - > - > - RIP/RIPng: > - - > - > OLSR: > - - > + - Currently broken in 1.7 > > - OSPF: > - - > - > - BGP: > - - > - > - STATIC_ROUTES: > - - > - > - MLD/IGMP: > - - > - > - MLD/IGMP-Lite: > - - > - > - PIM-SM: > - - > - > - FIB2MRIB: > - - > - > SNMP: > - - > + - Removed > > - VRRP: > - - > > Release 1.6 (2009/01/07) > ============================ > > Modified: trunk/xorp/TODO > =================================================================== > --- trunk/xorp/TODO 2010-04-29 15:10:56 UTC (rev 11698) > +++ trunk/xorp/TODO 2010-04-30 05:45:14 UTC (rev 11699) > @@ -1,6 +1,3 @@ > -# > -# $XORP: xorp/TODO,v 1.22 2008/01/13 06:01:45 pavlin Exp $ > -# > > * Add a list with acknowledgments for all people who have contributed: > bug reports/fixes/etc. This list will go with the source code, > > Modified: trunk/xorp/VERSION > =================================================================== > --- trunk/xorp/VERSION 2010-04-29 15:10:56 UTC (rev 11698) > +++ trunk/xorp/VERSION 2010-04-30 05:45:14 UTC (rev 11699) > @@ -1 +1 @@ > -1.7-WIP > +1.7 > > Modified: trunk/xorp/etc/templates/xorpsh.cmds > =================================================================== > --- trunk/xorp/etc/templates/xorpsh.cmds 2010-04-29 15:10:56 UTC (rev > 11698) > +++ trunk/xorp/etc/templates/xorpsh.cmds 2010-04-30 05:45:14 UTC (rev > 11699) > @@ -6,6 +6,6 @@ > } > > show version { > - %command: "echo Version 1.7-WIP" %help: HELP; > + %command: "echo Version 1.7" %help: HELP; > %tag: HELP "Display system version"; > } > > Modified: trunk/xorp/rtrmgr/master_conf_tree.cc > =================================================================== > --- trunk/xorp/rtrmgr/master_conf_tree.cc 2010-04-29 15:10:56 UTC (rev > 11698) > +++ trunk/xorp/rtrmgr/master_conf_tree.cc 2010-04-30 05:45:14 UTC (rev > 11699) > @@ -46,7 +46,7 @@ > #include "util.hh" > > #define XORP_CONFIG_FORMAT_VERSION "1.1" > -#define XORP_CONFIG_XORP_VERSION "1.7-WIP" > +#define XORP_CONFIG_XORP_VERSION "1.7" > > // > // The strings that are used to add and delete a load or save file, to > > > This was sent by the SourceForge.net collaborative development platform, the > world's largest Open Source development site. > > _______________________________________________ > Xorp-cvs mailing list > [email protected] > http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-cvs > _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
