OpenZWave / Thrift4OZW

A daemon exposing the OpenZWave API via Apache Thrift (and some useful tools)
27 stars 13 forks source link

RemoteManger.h is created with size_t not std::size_t #2

Closed jgrevich closed 11 years ago

jgrevich commented 11 years ago

I had to find and replace size_t with std::size_t in order to get the following line to work in create_server.rb:

RootNode = RbGCCXML.parse(files, :includes => MANAGER_INCLUDES, :cxxflags => "-DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H")

So far so good:

jjg@js:~/ozw/Thrift4OZW$ irb -I. -r create_server.rb 
Parsing:/home/jjg/ozw/Thrift4OZW/gen-cpp/RemoteManager_server.skeleton.cpp
    /home/jjg/ozw/open-zwave/cpp/src/Manager.h
RemoteManagerHandler: 137 public methods
OpenZWave::Manager:   143 public methods
  --//--  ignored :   8 methods
WARNING!!! method 'GetNodeNeighbors': Argument '_return._nodeNeighbors' size mismatch (src=96 tgt=8) - CHECK GENERATED CODE!
WARNING!!! method 'GetValueAsFloat': Argument '_return.o_value' size mismatch (src=64 tgt=32) - CHECK GENERATED CODE!
WARNING!!! method 'SetValue_Float': Argument '_value' size mismatch (src=64 tgt=32) - CHECK GENERATED CODE!
WARNING!!! method 'GetAssociations': Argument '_return.o_associations' size mismatch (src=96 tgt=8) - CHECK GENERATED CODE!
defining BeginControllerCommand_callback
WARNING!!! target argument '* _callback' not bound to a source node - needs patching...
WARNING!!! target argument 'void* _context' not bound to a source node - needs patching...
WARNING!!! method 'GetAllScenes': Argument '_return._sceneIds' size mismatch (src=96 tgt=8) - CHECK GENERATED CODE!
WARNING!!! method 'AddSceneValue_Float': Argument '_value' size mismatch (src=64 tgt=32) - CHECK GENERATED CODE!
WARNING!!! method 'SceneGetValueAsFloat': Argument '_return.o_value' size mismatch (src=64 tgt=32) - CHECK GENERATED CODE!
WARNING!!! method 'SetSceneValue_Float': Argument '_value' size mismatch (src=64 tgt=32) - CHECK GENERATED CODE!
WARNING!!! method 'GetDriverStatistics': Argument '_return._data' size mismatch (src=608 tgt=448) - CHECK GENERATED CODE!
Writing generated server (gen-cpp/RemoteManager_server.cpp)....
Done!
jgrevich commented 11 years ago

Oddly the above problem was not an issue with 32bit LMDE.

I got the compile to work and now somebody has a binary :+1:

jjg@jminty ~/Thrift4OZW $ make all
cd ../open-zwave/cpp/build/linux/; make
make[1]: Entering directory `/home/jjg/open-zwave/cpp/build/linux'
echo 'char ozw_vers[] = "OpenZWave version 1.0.'`svnversion ../..`'";' > vers.c
gcc -c -Wall -Wno-inline -Wno-format -Werror -g -DDEBUG -DLOG_STDERR -fPIC -I ../../src -I ../../src/command_classes/ -I ../../src/value_classes/ -I ../../src/platform/ -I ../../src/platform/unix -I ../../tinyxml/ -I ../../hidapi/hidapi/ -o vers.o vers.c
ar rc ../../lib/linux/libopenzwave.a vers.o
g++ -shared -Wl,-soname,libopenzwave.so -o ../../lib/linux/libopenzwave.so tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o hid.o Alarm.o ApplicationStatus.o AssociationCommandConfiguration.o Association.o Basic.o BasicWindowCovering.o Battery.o ClimateControlSchedule.o Clock.o CommandClass.o CommandClasses.o Configuration.o ControllerReplication.o EnergyProduction.o Hail.o Indicator.o Language.o Lock.o ManufacturerSpecific.o Meter.o MeterPulse.o MultiCmd.o MultiInstanceAssociation.o MultiInstance.o NodeNaming.o Powerlevel.o Proprietary.o Protection.o SensorAlarm.o SensorBinary.o SensorMultilevel.o SwitchAll.o SwitchBinary.o SwitchMultilevel.o SwitchToggleBinary.o SwitchToggleMultilevel.o ThermostatFanMode.o ThermostatFanState.o ThermostatMode.o ThermostatOperatingState.o ThermostatSetpoint.o Version.o WakeUp.o ValueBool.o ValueButton.o ValueByte.o Value.o ValueDecimal.o ValueInt.o ValueList.o ValueSchedule.o ValueShort.o ValueStore.o ValueString.o Controller.o Event.o HidController.o Log.o Mutex.o SerialController.o Stream.o Thread.o TimeStamp.o Wait.o EventImpl.o LogImpl.o MutexImpl.o SerialControllerImpl.o ThreadImpl.o TimeStampImpl.o WaitImpl.o Driver.o Group.o Manager.o Msg.o Node.o Options.o Scene.o Utils.o vers.o
make[1]: Leaving directory `/home/jjg/open-zwave/cpp/build/linux'
cd ../BoostStomp; make
make[1]: Entering directory `/home/jjg/BoostStomp'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jjg/BoostStomp'
g++ -o ozwd -g -L/usr/lib/ -L/usr/local/lib -L/usr/local/lib/thrift -L../BoostStomp -Wl,-rpath=../open-zwave/cpp/lib/linux/ -Wl,-rpath=../BoostStomp -Wl,-rpath=/usr/local/lib  Main.o gen-cpp/RemoteManager.o gen-cpp/ozw_constants.o gen-cpp/ozw_types.o -lgnutls -ludev -lboost_thread -lboost_program_options -lboost_filesystem -lboost_system -lthrift -lbooststomp ../open-zwave/cpp/lib/linux/libopenzwave.so    
ekarak commented 11 years ago

updated ozw_types.h.patch