Difference between revisions of "Ns-3.29-errata"

From Nsnam
Jump to: navigation, search
(start ns-3.29 errata page)
 
(Errata against ns-3.29 release)
Line 5: Line 5:
 
The following issues have been identified since the ns-3.29 release, and will be addressed in a future ns-3.29.1 release update.
 
The following issues have been identified since the ns-3.29 release, and will be addressed in a future ns-3.29.1 release update.
  
'''MacOs Clang 10 compatibility''':  Shortly after the ns-3.29 release, a MacOs Clang compiler update was issued; this causes the ns-3 build to fail as follows:
+
'''macOs Clang 10 compatibility''':  Shortly after the ns-3.29 release, a MacOs Clang compiler update was issued; this causes the ns-3 build to fail as follows:
  
 
     ./ns3/make-event.h:665:20: error: unused typedef 'F' [-Werror,-Wunused-local-typedef]
 
     ./ns3/make-event.h:665:20: error: unused typedef 'F' [-Werror,-Wunused-local-typedef]
Line 39: Line 39:
  
 
There is no present workaround other than piecing together the hints found in the above bug report.
 
There is no present workaround other than piecing together the hints found in the above bug report.
 +
 +
'''macOS Mojave and libxml2 issues'''.  The macOS 10.14 release doesn't interact correctly with the libxml2 package installed by homebrew, with the result that a compilation error may occur due to missing headers:
 +
 +
    ../src/config-store/model/xml-config.h:25:10: fatal error: 'libxml/xmlwriter.h' file not found
 +
    #include <libxml/xmlwriter.h>
 +
            ^
 +
    1 error generated.
 +
 +
This error is caused by pig-config detecting the presence of libxml2, but the new Xcode does not put the headers in /usr/include/ as expected but instead in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk.
 +
 +
See bug #2637 on ns-3's bug tracker.  Two separate workarounds are:
 +
 +
1) install the legacy headers package found at  /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg, or
 +
 +
2) install the patch found in bug #2637 which allows Waf to append the new include path

Revision as of 22:23, 11 November 2018

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

Errata against ns-3.29 release

The following issues have been identified since the ns-3.29 release, and will be addressed in a future ns-3.29.1 release update.

macOs Clang 10 compatibility: Shortly after the ns-3.29 release, a MacOs Clang compiler update was issued; this causes the ns-3 build to fail as follows:

   ./ns3/make-event.h:665:20: error: unused typedef 'F' [-Werror,-Wunused-local-typedef]
   typedef void (*F)(U1, U2, U3);
                  ^
   ./ns3/make-event.h:699:20: error: unused typedef 'F' [-Werror,-Wunused-local-typedef]
   typedef void (*F)(U1, U2, U3, U4);
                  ^
   ./ns3/make-event.h:633:20: error: unused typedef 'F' [-Werror,-Wunused-local-typedef]
   typedef void (*F)(U1, U2);
                  ^
   ./ns3/make-event.h:665:20: error: unused typedef 'F' [-Werror,-Wunused-local-typedef]
   typedef void (*F)(U1, U2, U3);
                  ^
   4 errors generated.

This can be worked around by passing the '--disable-werror' flag to Waf configuration step; e.g.:

   ./waf configure --disable-werror --enable-examples --enable-tests

API scan for ns-allinone-3.29: The version of pybindgen associated with ns-allinone-3.29 is incorrect, and the bindings toolchain will not install correctly. An example error output is:

       from pybindgen.castxmlparser import ModuleParser, PygenClassifier, PygenSection, WrapperWarning, find_declaration_from_name
       ImportError: No module named castxmlparser

One workaround is replace the 'bakeconf.xml' with the version corresponding to this changeset:

Python 3.7 and API scanning toolchain: ArchLinux has started to distribute Python 3.7, but there are issues with compatibility of the toolchain.

There is no present workaround other than piecing together the hints found in the above bug report.

macOS Mojave and libxml2 issues. The macOS 10.14 release doesn't interact correctly with the libxml2 package installed by homebrew, with the result that a compilation error may occur due to missing headers:

   ../src/config-store/model/xml-config.h:25:10: fatal error: 'libxml/xmlwriter.h' file not found
   #include <libxml/xmlwriter.h>
            ^
   1 error generated.

This error is caused by pig-config detecting the presence of libxml2, but the new Xcode does not put the headers in /usr/include/ as expected but instead in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk.

See bug #2637 on ns-3's bug tracker. Two separate workarounds are:

1) install the legacy headers package found at /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg, or

2) install the patch found in bug #2637 which allows Waf to append the new include path