Figured out the problem.  I needed to also patch two header files
(pystorage-common.hh and pytransactional-storage.hh) in the storage
module.

Aaron

On Wed, Jan 13, 2010 at 3:55 PM, Gember, Aaron <[email protected]> wrote:
> I'm currently trying to compile NOX v0.6 on Fedora 12 with SWIG
> version 1.3.40.  SWIG changed the name of structures beginning with
> version 1.3.37, so I patched the necessary NOX files (including
> src/nox/netapps/storage/pystorage.cc) using the patch provided in the
> SWIG repository:
> https://swig.svn.sourceforge.net/svnroot/swig/trunk/Tools/pyname_patch.py
>
> After the patch, I can get everything to compile except the storage
> components.  Errors are reported during compilation that
> SwigPtr_PyObject is not declared.  An excerpt of the errors are below.
>  Is there a header file I need to include or modification that needs
> to be made to the make system?
>
> Thanks,
> Aaron
>
> Making all in storage
> make[8]: Entering directory
> `/home/agember/wisc/research/noxcore/build/src/nox/netapps/storage'
> make  all-am
> make[9]: Entering directory
> `/home/agember/wisc/research/noxcore/build/src/nox/netapps/storage'
> /bin/sh ../../../../libtool  --tag=CXX   --mode=compile g++
> -DHAVE_CONFIG_H -I. -I../../../../../src/nox/netapps/storage
> -I../../../..  -DPKGDATADIR=\"/usr/local/share/nox\"
> -DPKGLIBDIR=\"/usr/local/bin/nox/netapps/storage\"
> -DPKGLOCALSTATEDIR=\"/usr/local/var/nox\"
> -DPKGSYSCONFDIR=\"/usr/local/etc/nox\" -include ../../../../config.h
> -I ../../../../../src/include -I../../../../../src/include/openflow
> -I/usr/include  -D_GNU_SOURCE=1   -D_REENTRANT -D__STDC_LIMIT_MACROS=1
> -D__STDC_FORMAT_MACROS=1 -D__STDC_CONSTANT_MACROS=1
> -D_GLIBCXX_CONCEPT_CHECKS=1 -D_GLIBCXX_DEBUG=1
> -D_GLIBCXX_DEBUG_PEDANTIC=1 -I/usr/include/python2.6
> -I../../../../../src/nox -I../../../../../src/nox/coreapps/
> -I../../../../../src/nox/netapps/storage/../  -fno-omit-frame-pointer
> -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral
> -Wformat-security -g -O2 -MT _pystorage_la-pystorage_wrap.lo -MD -MP
> -MF .deps/_pystorage_la-pystorage_wrap.Tpo -c -o
> _pystorage_la-pystorage_wrap.lo `test -f 'pystorage_wrap.cc' || echo
> '../../../../../src/nox/netapps/storage/'`pystorage_wrap.cc
> libtool: compile:  g++ -DHAVE_CONFIG_H -I.
> -I../../../../../src/nox/netapps/storage -I../../../..
> -DPKGDATADIR=\"/usr/local/share/nox\"
> -DPKGLIBDIR=\"/usr/local/bin/nox/netapps/storage\"
> -DPKGLOCALSTATEDIR=\"/usr/local/var/nox\"
> -DPKGSYSCONFDIR=\"/usr/local/etc/nox\" -include ../../../../config.h
> -I ../../../../../src/include -I../../../../../src/include/openflow
> -I/usr/include -D_GNU_SOURCE=1 -D_REENTRANT -D__STDC_LIMIT_MACROS=1
> -D__STDC_FORMAT_MACROS=1 -D__STDC_CONSTANT_MACROS=1
> -D_GLIBCXX_CONCEPT_CHECKS=1 -D_GLIBCXX_DEBUG=1
> -D_GLIBCXX_DEBUG_PEDANTIC=1 -I/usr/include/python2.6
> -I../../../../../src/nox -I../../../../../src/nox/coreapps/
> -I../../../../../src/nox/netapps/storage/../ -fno-omit-frame-pointer
> -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral
> -Wformat-security -g -O2 -MT _pystorage_la-pystorage_wrap.lo -MD -MP
> -MF .deps/_pystorage_la-pystorage_wrap.Tpo -c pystorage_wrap.cc  -fPIC
> -DPIC -o .libs/_pystorage_la-pystorage_wrap.o
> In file included from ../../../../../src/nox/component.hh:39,
>                 from ../../../../../src/nox/netapps/storage/pystorage.hh:24,
>                 from ../../../../../src/nox/netapps/storage/pystorage.cc:19,
>                 from pystorage_wrap.cc:2786:
> ../../../../../src/include/netinet++/ethernetaddr.hh: In member
> function ‘bool vigil::ethernetaddr::is_init() const’:
> ../../../../../src/include/netinet++/ethernetaddr.hh:286: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> ../../../../../src/include/netinet++/ethernetaddr.hh: In member
> function ‘uint64_t vigil::ethernetaddr::hb_long() const’:
> ../../../../../src/include/netinet++/ethernetaddr.hh:401: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> ../../../../../src/include/netinet++/ethernetaddr.hh: In member
> function ‘uint64_t vigil::ethernetaddr::nb_long() const’:
> ../../../../../src/include/netinet++/ethernetaddr.hh:411: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> ../../../../../src/include/netinet++/ethernetaddr.hh: In member
> function ‘bool vigil::ethernetaddr::is_zero() const’:
> ../../../../../src/include/netinet++/ethernetaddr.hh:457: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> In file included from pystorage_wrap.cc:2786:
> ../../../../../src/nox/netapps/storage/pystorage.cc: At global scope:
> ../../../../../src/nox/netapps/storage/pystorage.cc:59: error:
> ‘SwigPtr_PyObject’ has not been declared
> ../../../../../src/nox/netapps/storage/pystorage.cc: In function ‘void
> python_callback(PyObject*, int)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:61: error: request
> for member ‘get’ in ‘cb’, which is of non-class type ‘int’
> In file included from pystorage_wrap.cc:2786:
> ../../../../../src/nox/netapps/storage/pystorage.cc: At global scope:
> ../../../../../src/nox/netapps/storage/pystorage.cc:71: error:
> ‘SwigPtr_PyObject’ has not been declared
> ../../../../../src/nox/netapps/storage/pystorage.cc:86: error:
> ‘SwigPtr_PyObject’ does not name a type
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::create_table(PyObject*,
> PyObject*, PyObject*, PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:98: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:98: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:104: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::drop_table(PyObject*,
> PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:118: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:118: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:121: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: At global scope:
> ../../../../../src/nox/netapps/storage/pystorage.cc:133: error:
> ‘SwigPtr_PyObject’ has not been declared
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::get(PyObject*, PyObject*,
> PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:157: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:157: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:162: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::get_next(PyObject*,
> PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:177: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:177: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:180: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: At global scope:
> ../../../../../src/nox/netapps/storage/pystorage.cc:192: error:
> ‘SwigPtr_PyObject’ has not been declared
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::put(PyObject*, PyObject*,
> PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:216: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:216: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:218: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: At global scope:
> ../../../../../src/nox/netapps/storage/pystorage.cc:230: error:
> ‘SwigPtr_PyObject’ has not been declared
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::modify(PyObject*, PyObject*,
> PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:254: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:254: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:257: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::remove(PyObject*,
> PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:272: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:272: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:274: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: At global scope:
> ../../../../../src/nox/netapps/storage/pystorage.cc:286: error:
> ‘SwigPtr_PyObject’ has not been declared
> ../../../../../src/nox/netapps/storage/pystorage.cc:307: error:
> ‘SwigPtr_PyObject’ has not been declared
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::put_row_trigger(PyObject*,
> PyObject*, PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:329: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:329: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:330: error:
> expected ‘;’ before ‘tptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:331: error: ‘tptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:334: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::put_table_trigger(PyObject*,
> PyObject*, PyObject*, PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:352: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:352: error:
> expected ‘;’ before ‘tptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:353: error: ‘tptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:355: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:357: error: ‘cptr’
> was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc: In member
> function ‘PyObject*
> vigil::applications::storage::PyStorage::remove_trigger(PyObject*,
> PyObject*)’:
> ../../../../../src/nox/netapps/storage/pystorage.cc:373: error:
> ‘SwigPtr_PyObject’ was not declared in this scope
> ../../../../../src/nox/netapps/storage/pystorage.cc:373: error:
> expected ‘;’ before ‘cptr’
> ../../../../../src/nox/netapps/storage/pystorage.cc:375: error: ‘cptr’
> was not declared in this scope
> make[9]: *** [_pystorage_la-pystorage_wrap.lo] Error 1
> make[9]: Leaving directory
> `/home/agember/wisc/research/noxcore/build/src/nox/netapps/storage'
>

_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to