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
