Optware / Optware-ng

279 stars 52 forks source link

Request: OpenZWave #119

Closed srirams closed 8 years ago

srirams commented 8 years ago

OpenZWave is a library for controlling z-wave home automation devices, which I think will be perfect to run on routers.

Link: https://github.com/OpenZWave/open-zwave

alllexx88 commented 8 years ago

It's the first time that I see a library request :-) There's no use in a library, without an executable application that uses it: you won't be able to run it. Is there some useful open-zwave based app that you want to get added?

srirams commented 8 years ago

There is this: https://github.com/OpenZWave/python-openzwave (python wrapper), which is used by https://github.com/home-assistant/home-assistant (which would be ideal to get working).

But worst case, I think I can write a program to use the library....

(side issue: I've installed gcc on my router but get a segmentation fault when trying to run it)

alllexx88 commented 8 years ago

@srirams OK, I'll look into adding home-assistant when I have the time.

As for native compilation, you need some custom compilation flags. I've recently added wrappers that add Optware-ng common flags automatically:

root@unknown:/tmp/home/root# which g++
/opt/bin/g++
root@unknown:/tmp/home/root# cat /opt/bin/g++
#!/bin/sh

/opt/bin/g++.real -Wl,--dynamic-linker=/opt/lib/ld-uClibc.so.1 -pipe "$@" -I/opt/include -L/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/opt/lib
root@unknown:/tmp/home/root# cat test.cpp
#include <iostream>
using namespace std;

int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}
root@unknown:/tmp/home/root# g++ test.cpp -o test
root@unknown:/tmp/home/root# ./test
Hello, world!
root@unknown:/tmp/home/root# ldd ./test
        libstdc++.so.6 => /opt/lib/libstdc++.so.6 (0x4013f000)
        libm.so.1 => /opt/lib/libm.so.1 (0x40277000)
        libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x4029b000)
        libc.so.1 => /opt/lib/libc.so.1 (0x402c8000)
        ld-uClibc.so.1 => /opt/lib/ld-uClibc.so.1 (0x400c6000)

You still may have to specify some flags manually, like to link against a lib in /opt/lib/<subdir>, or to use headers in /opt/include/<subdir>, but it's much more transparent now, I think.

srirams commented 8 years ago

Thanks!

For the compilation, it seems to be some other issue for me:

root@root:/tmp/home/root# which g++
/opt/bin/g++
root@root:/tmp/home/root# /opt/bin/g++
Segmentation fault
root@root:/tmp/home/root# ldd /opt/bin/g++
        libiconv.so.2 => /usr/lib/libiconv.so.2 (0x401ee000)
        libm.so.1 => /opt/lib/libm.so.1 (0x4013b000)
        libc.so.1 => /opt/lib/libc.so.1 (0x402d2000)
        ld-uClibc.so.1 => /opt/lib/ld-uClibc.so.1 (0x40022000)
        libc.so.0 => /lib/libc.so.0 (0x40375000)
root@root:/tmp/home/root# which ld
/opt/bin/ld
root@root:/tmp/home/root# /opt/bin/ld --version
GNU ld (GNU Binutils) 2.25.1
Copyright (C) 2014 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
root@root:/tmp/home/root# ldd /opt/bin/ld
        libz.so.1 => /opt/lib/libz.so.1 (0x400f0000)
        libdl.so.1 => /opt/lib/libdl.so.1 (0x400b8000)
        libc.so.1 => /opt/lib/libc.so.1 (0x4012b000)
        ld-uClibc.so.1 => /opt/lib/ld-uClibc.so.1 (0x400d9000)
root@root:/tmp/home/root#

edit: this is on an Asus RT-AC68U. I've tried both Merlin-WRT and now Tomato (Shibby) firmwares with ARMv7 EABI packages. I've also tried installing nano, which works fine.

alllexx88 commented 8 years ago

@srirams Thanks for the report! It's just a matter of missing dependency:

ipkg update
ipkg install libiconv

Will fix this soon

srirams commented 8 years ago

Thanks. It works!

alllexx88 commented 8 years ago

Great. Now don't forget to upgrade gcc and binutils to use the wrappers -- to not have to pass those common flags manually

srirams commented 8 years ago

I think I managed to compile the library, but not able to properly link the sample program. It's probably something simple I'm missing again.

I've created a test program (I have upgraded gcc and binutils):

[root@root helloworld-0.1]$ cat hello.cpp
#include <stdio.h>
#include <stdlib.h>

void blah(void)
{
}

int main(int argc, char* argv[])
{
    printf("Hello world\n");
    atexit(blah);
    exit(0);
}
[root@root helloworld-0.1]$ g++ hello.cpp
/tmp/ccyOHGMH.o: In function `main':
hello.cpp:(.text+0x40): undefined reference to `atexit'
collect2: error: ld returned 1 exit status
[root@root helloworld-0.1]$ g++ -lc hello.cpp
/tmp/cc7F4VAw.o: In function `main':
hello.cpp:(.text+0x40): undefined reference to `atexit'
collect2: error: ld returned 1 exit status
[root@root helloworld-0.1]$
alllexx88 commented 8 years ago

Looks like uClibc-ng bug. atexit isn't exported by uClibc-ng, but rather has 'attribute_hidden'. As a workaround:

root@unknown:/tmp/home/root# cat hello.cpp
#include <stdio.h>
#include <stdlib.h>
#include <cxxabi.h>

void blah(void*)
{
printf("Hello world 2\n");
}

int main(int argc, char* argv[])
{
    printf("Hello world\n");
    __cxxabiv1::__cxa_atexit(blah, NULL, NULL);
    exit(0);
}
root@unknown:/tmp/home/root# g++ hello.cpp -o hello
root@unknown:/tmp/home/root# ./hello
Hello world
Hello world 2

I should probably report this.

alllexx88 commented 8 years ago

On second thought, I think the reason lies within uClibc-ng config: it has

# COMPAT_ATEXIT is not set

which is probably why it's lacking atexit. I can recompile uClibc-ng with COMPAT_ATEXIT = y to try to fix this.

srirams commented 8 years ago

That would be most appreciated. I don't know where atexit is being called in the OpenZWave library (I think it must be called by a dependency) so it's hard to change the code.

alllexx88 commented 8 years ago

I tried, but it doesn't help. There's another dirty workaround: try to compile your hello.cpp with -Datexit=__cxa_atexit flag: it should work. The solution would be to recompile dependency that is calling atexit (or the lib itself) with this flag

alllexx88 commented 8 years ago

I just grepped through open-zwave sourcecode: it doesn't use atexit, as expected, since it's a lib. What exact error do you get when you try to link the sample program?

srirams commented 8 years ago

this is the error:

gcc version 5.3.0 (GCC)
COMPILER_PATH=/opt/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/:/opt/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/:/opt/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/:/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/:/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/:/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/
LIBRARY_PATH=/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/:/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/lib/:/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-pipe' '-v' '-D' 'atexit=__cxa_atexit' '-D' 'atexit=__cxa_atexit' '-o' '/tmp/mnt/usb-flash/open-zwave-master/.lib/MinOZW' '-pthread' '-I' '/opt/include' '-L/opt/lib' '-shared-libgcc' '-mcpu=cortex-a9' '-mfloat-abi=soft' '-mabi=aapcs-linux' '-marm' '-mtls-dialect=gnu'
 /opt/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/collect2 -plugin /opt/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/liblto_plugin.so -plugin-opt=/opt/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc5BD6K4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -dynamic-linker /lib/ld-uClibc.so.0 -X -m armelf_linux_eabi -o /tmp/mnt/usb-flash/open-zwave-master/.lib/MinOZW /opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/lib/crt1.o /opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/lib/crti.o /opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/crtbegin.o -L/opt/lib -L/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0 -L/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/lib -L/opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/../../.. --dynamic-linker=/opt/lib/ld-uClibc.so.1 /tmp/mnt/usb-flash/open-zwave-master/.lib/Main.o /tmp/mnt/usb-flash/open-zwave-master/libopenzwave.so -rpath /opt/lib -rpath-link /opt/lib -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc /opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/crtend.o /opt/lib/gcc/arm-buildroot-linux-uclibcgnueabi/5.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/lib/crtn.o
/tmp/mnt/usb-flash/open-zwave-master/libopenzwave.so: undefined reference to `atexit'
collect2: error: ld returned 1 exit status
Makefile:58: recipe for target '/tmp/mnt/usb-flash/open-zwave-master/.lib/MinOZW' failed
make[1]: *** [/tmp/mnt/usb-flash/open-zwave-master/.lib/MinOZW] Error 1
make[1]: Leaving directory '/tmp/mnt/usb-flash/open-zwave-master/cpp/examples/MinOZW'
Makefile:20: recipe for target 'all' failed
make: *** [all] Error 2

edit: as you can see, I've added atexit=__cxa_atexit but it doesn't seem to work (it works for hello.cpp, however)

srirams commented 8 years ago

I got it working!

Through a bit of trial and error I found the problem in libopenzwave (CommandClasses.h):

        static CommandClasses& Get()
        {
            static CommandClasses instance;
            return instance;
        }

modifying it to use pointers and new() removed the need for atexit. The library and sample program compiled successfully and are working fine.

I ran into a small problem using the python3 distutils to make and install the python wrapper because some paths seem to be set incorrectly in python3 (but correctly for python2)

[root@root python-openzwave-0.3.0b8]$ python
Python 2.7.11 (default, Mar 29 2016, 13:14:20)
[GCC 5.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from distutils import sysconfig
>>> sysconfig.get_config_var('LDSHARED')
'gcc -pthread -shared -L/home/jenkins/Optware-ng/buildroot-armeabi-ng/host/staging/opt/lib -Wl,-rpath,/home/jenkins/Optware-ng/buildroot-armeabi-ng/host/staging/opt/lib -Wl,-rpath-link,/home/jenkins/Optware-ng/buildroot-armeabi-ng/host/staging/opt/lib'
>>> sysconfig.get_config_var('CC')
'gcc -pthread'
>>> exit()
[root@root python-openzwave-0.3.0b8]$ python3
Python 3.4.2 (default, Mar 29 2016, 13:36:03)
[GCC 5.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from distutils import sysconfig
>>> sysconfig.get_config_var('LDSHARED')
'/home/jenkins/Optware-ng/buildroot-armeabi-ng/toolchain/buildroot-arm-linux-2.6.36-uclibc-ng-5.3.0/bin/arm-buildroot-linux-uclibcgnueabi-gcc -shared -Wl,--dynamic-linker=/opt/lib/ld-uClibc.so.1 -L/home/jenkins/Optware-ng/buildroot-armeabi-ng/staging/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/home/jenkins/Optware-ng/buildroot-armeabi-ng/staging/opt/lib -lgcc_s -lbz2 -lcrypt -ldb-5.3 -lncurses -lreadline -lssl -lz -lffi -Wl,--dynamic-linker=/opt/lib/ld-uClibc.so.1 -L/home/jenkins/Optware-ng/buildroot-armeabi-ng/staging/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/home/jenkins/Optware-ng/buildroot-armeabi-ng/staging/opt/lib -lgcc_s -lbz2 -lcrypt -ldb-5.3 -lncurses -lreadline -lssl -lz -lffi'
>>> sysconfig.get_config_var('CC')
'/home/jenkins/Optware-ng/buildroot-armeabi-ng/toolchain/buildroot-arm-linux-2.6.36-uclibc-ng-5.3.0/bin/arm-buildroot-linux-uclibcgnueabi-gcc'
>>> exit()

modifying lib/python3.4/config-3.4m/Makefile with the correct paths fixed the problem.

The python wrapper is also working.

alllexx88 commented 8 years ago

Great! Thank you for your effort. I still didn't get the chance to add OpenZWave, but I do plan to do it. Also, -Datexit=__cxa_atexit flag has to be added during libopenzwave compilation, as a workaround, not while linking with it. I'm about to write to uClibc-ng mailing list to report the atexit issue, since this looks like a bug to me.

alllexx88 commented 8 years ago

The atexit issue is now fixed:

root@unknown:/tmp/home/root# cat hello.c
#include <stdio.h>
#include <stdlib.h>

void blah(void)
{
printf("Hello world 2\n");
}

int main(int argc, char* argv[])
{
    printf("Hello world\n");
    atexit(blah);
    exit(0);
}
root@unknown:/tmp/home/root# gcc hello.c -o hello
root@unknown:/tmp/home/root# ./hello
Hello world
Hello world 2

See here for details.

srirams commented 8 years ago

Thanks! This should make compiling easier. The only other issue is the python paths (it would also be nice to have pip, but it is easy enough to get).

I've been running Home Assistant over the weekend and it is working very well so far. CPU usage is ~ 5% which isn't too bad.

IMHO, this is one of the perfect uses for the these routers and an alternative to devices like the SmartThings hub.

alllexx88 commented 8 years ago

Sorry for the period of silence. The lib is long there in the feeds (except mipsel and legacy armv5 ones, which are lacking <linux/hidraw.h> due to old kernel): the package is called libopenzwave. The next step is building the python3 wrapper. What parts of it are exactly needed? 'api' and 'lib' are definitely required. What about 'manager' and 'web'? It's a bit confusing :-)

srirams commented 8 years ago

Manager (console based) and web (web based), I believe, are programs to manage the z-wave network. Would be nice to have (otherwise you'd have to unplug the z-wave device and plug it into another computer to perform some management functions), but not essential.

alllexx88 commented 8 years ago

OK, once again, sorry for the delay. I'll look into this very soon, hopefully. Also, I'm thinking of adding a linux3 mipsel feed, for linux3 dd-wrt/openwrt firmwares, since they can potentially run openzwave, but not using current 2.6.22.19 mipsel feed. Not possible to run it on most mipsel firmwares, which are usually running on 2.6.22.19 kernels, though

alllexx88 commented 8 years ago

@srirams how did you manage to compile python-openzwave? I'm getting the same error when trying to cross-compile manually with setup-lib.py and proper setup.cfg, or using the Makefile to build natively, e.g., on Synology DiskStation:

DiskStation> PATH=/opt/bin:$PATH make build
git clone git://github.com/OpenZWave/open-zwave.git openzwave
Cloning into 'openzwave'...
remote: Counting objects: 16495, done.
remote: Total 16495 (delta 0), reused 0 (delta 0), pack-reused 16495
Receiving objects: 100% (16495/16495), 99.95 MiB | 7.03 MiB/s, done.
Resolving deltas: 100% (12588/12588), done.
Checking connectivity... done.
sed -i -e '253s/.*//' openzwave/cpp/src/value_classes/ValueID.h
cd openzwave && make
make[1]: Entering directory '/root/python-openzwave-0.3.1/openzwave'
CPPFLAGS= make -C /root/python-openzwave-0.3.1/openzwave/cpp/build/ -w
make[2]: Entering directory '/root/python-openzwave-0.3.1/openzwave/cpp/build'
Building OpenZWave Version 1.4-256-g9b7c45a-dirty
Building tinystr.o
Building tinyxmlerror.o
Building tinyxml.o
Building tinyxmlparser.o
Building hid.o
Building aeskey.o
Building aescrypt.o
Building aestab.o
Building aes_modes.o
Building Security.o
Building MultiCmd.o
Building Version.o
Building SensorBinary.o
Building Language.o
Building WakeUp.o
Building Color.o
Building Meter.o
Building Indicator.o
Building CRC16Encap.o
Building MultiInstance.o
Building MeterPulse.o
Building DoorLock.o
Building Configuration.o
Building SwitchToggleBinary.o
Building SensorMultilevel.o
Building UserCode.o
Building SensorAlarm.o
Building TimeParameters.o
Building SwitchMultilevel.o
Building ThermostatFanState.o
Building ThermostatSetpoint.o
Building Hail.o
Building ApplicationStatus.o
Building CentralScene.o
Building ClimateControlSchedule.o
Building Protection.o
Building NodeNaming.o
Building BasicWindowCovering.o
Building SwitchAll.o
Building Lock.o
Building MultiInstanceAssociation.o
Building Association.o
Building ThermostatOperatingState.o
Building Clock.o
Building SceneActivation.o
Building Powerlevel.o
Building AssociationCommandConfiguration.o
Building DeviceResetLocally.o
Building Battery.o
Building SwitchToggleMultilevel.o
Building ZWavePlusInfo.o
Building Proprietary.o
Building SwitchBinary.o
Building Alarm.o
Building CommandClasses.o
Building ManufacturerSpecific.o
Building NoOperation.o
Building ThermostatFanMode.o
Building EnergyProduction.o
Building Basic.o
Building CommandClass.o
Building DoorLockLogging.o
Building ThermostatMode.o
Building ControllerReplication.o
Building Value.o
Building ValueList.o
Building ValueButton.o
Building ValueInt.o
Building ValueStore.o
Building ValueDecimal.o
Building ValueRaw.o
Building ValueString.o
Building ValueByte.o
Building ValueBool.o
Building ValueSchedule.o
Building ValueShort.o
Building Controller.o
Building Wait.o
Building Thread.o
Building Stream.o
Building Log.o
Building HidController.o
Building Mutex.o
Building SerialController.o
Building Event.o
Building FileOps.o
Building TimeStamp.o
Building FileOpsImpl.o
Building TimeStampImpl.o
Building WaitImpl.o
Building ThreadImpl.o
Building LogImpl.o
Building MutexImpl.o
Building SerialControllerImpl.o
Building EventImpl.o
Building Options.o
Building Scene.o
Building Utils.o
Building Driver.o
Building ZWSecurity.o
Building Group.o
Building Node.o
Building Manager.o
Building Msg.o
Building Notification.o
Creating vers.cpp
Building vers.o
Linking Static Library
Linking Shared Library
Making ozw_config file
make[2]: Leaving directory '/root/python-openzwave-0.3.1/openzwave/cpp/build'
CPPFLAGS= make -C /root/python-openzwave-0.3.1/openzwave/cpp/examples/MinOZW/ -w
make[2]: Entering directory '/root/python-openzwave-0.3.1/openzwave/cpp/examples/MinOZW'
Building Main.o
Linking /root/python-openzwave-0.3.1/openzwave/.lib/MinOZW
g++   -o /root/python-openzwave-0.3.1/openzwave/.lib/MinOZW /root/python-openzwave-0.3.1/openzwave/.lib/Main.o /root/python-openzwave-0.3.1/openzwave/libopenzwave.so -pthread
Creating Temporary Shell Launch Script
make[2]: Leaving directory '/root/python-openzwave-0.3.1/openzwave/cpp/examples/MinOZW'
make[1]: Leaving directory '/root/python-openzwave-0.3.1/openzwave'
python setup-lib.py build
running build
running build_ext
building 'libopenzwave' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src-lib
creating build/temp.linux-x86_64-2.7/src-lib/libopenzwave
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -DPY_SSIZE_T_CLEAN=1 -Iopenzwave/cpp/src/ -Iopenzwave/cpp/src/value_classes/ -Iopenzwave/cpp/src/platform/ -Iopenzwave/cpp/build/linux/ -I/opt/include/python2.7 -c src-lib/libopenzwave/libopenzwave.cpp -o build/temp.linux-x86_64-2.7/src-lib/libopenzwave/libopenzwave.o
gcc: error: src-lib/libopenzwave/libopenzwave.cpp: No such file or directory
gcc: fatal error: no input files
compilation terminated.
error: command 'gcc' failed with exit status 1
Makefile:266: recipe for target 'build' failed
make: *** [build] Error 1

Am I missing something simple?

alllexx88 commented 8 years ago

OK, I figured it out. Looks like https://github.com/OpenZWave/python-openzwave/archive/v0.3.1.tar.gz is missing src-lib/libopenzwave/libopenzwave.cpp, which should be generated using cython. So I have to add it first, together with host build.

srirams commented 8 years ago

I just used the archive to build, and with the atexit fixes, there was no problem:

[root@root python-openzwave-0.3.1]$ make build
sed -i -e '253s/.*//' openzwave/cpp/src/value_classes/ValueID.h
cd openzwave && make
make[1]: Entering directory '/tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave'
CPPFLAGS= make -C /tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/cpp/build/ -w
make[2]: Entering directory '/tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/cpp/build'
Building OpenZWave Version
Building tinyxmlparser.o
Building tinyxml.o
Building tinyxmlerror.o
Building tinystr.o
Building hid.o
Building aes_modes.o
Building aestab.o
Building aescrypt.o
Building aeskey.o
Building DoorLock.o
Building CommandClasses.o
Building ControllerReplication.o
Building CommandClass.o
Building EnergyProduction.o
Building NoOperation.o
Building ThermostatSetpoint.o
Building SceneActivation.o
Building Clock.o
Building Security.o
Building ZWavePlusInfo.o
Building Version.o
Building Battery.o
Building SwitchMultilevel.o
Building ThermostatOperatingState.o
Building AssociationCommandConfiguration.o
Building Powerlevel.o
Building MultiCmd.o
Building Hail.o
Building Association.o
Building MultiInstanceAssociation.o
Building Lock.o
Building SwitchAll.o
Building BasicWindowCovering.o
Building WakeUp.o
Building NodeNaming.o
Building Protection.o
Building ThermostatFanMode.o
Building ApplicationStatus.o
Building SwitchToggleMultilevel.o
Building ThermostatFanState.o
Building ManufacturerSpecific.o
Building TimeParameters.o
Building Alarm.o
Building CentralScene.o
Building UserCode.o
Building DeviceResetLocally.o
Building SensorMultilevel.o
Building SwitchToggleBinary.o
Building ThermostatMode.o
Building Configuration.o
Building Basic.o
Building SwitchBinary.o
Building DoorLockLogging.o
Building MeterPulse.o
Building ClimateControlSchedule.o
Building MultiInstance.o
Building CRC16Encap.o
Building Indicator.o
Building Meter.o
Building Color.o
Building Language.o
Building SensorBinary.o
Building Proprietary.o
Building SensorAlarm.o
Building ValueShort.o
Building ValueSchedule.o
Building ValueBool.o
Building ValueByte.o
Building ValueString.o
Building ValueRaw.o
Building ValueDecimal.o
Building ValueStore.o
Building ValueInt.o
Building ValueButton.o
Building ValueList.o
Building Value.o
Building TimeStamp.o
Building FileOps.o
Building Event.o
Building SerialController.o
Building Mutex.o
Building HidController.o
Building Log.o
Building Stream.o
Building Thread.o
Building Wait.o
Building Controller.o
Building EventImpl.o
Building SerialControllerImpl.o
Building MutexImpl.o
Building LogImpl.o
Building ThreadImpl.o
Building WaitImpl.o
Building TimeStampImpl.o
Building FileOpsImpl.o
Building Notification.o
Building Msg.o
Building Manager.o
Building Node.o
Building Group.o
Building ZWSecurity.o
Building Driver.o
Building Utils.o
Building Scene.o
Building Options.o
Building vers.o
Linking Static Library
Linking Shared Library
make[2]: Leaving directory '/tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/cpp/build'
CPPFLAGS= make -C /tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/cpp/examples/MinOZW/ -w
make[2]: Entering directory '/tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/cpp/examples/MinOZW'
Building Main.o
Linking /tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/.lib/MinOZW
g++   -o /tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/.lib/MinOZW /tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/.lib/Main.o /tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/libopenzwave.so -pthread
Creating Temporary Shell Launch Script
make[2]: Leaving directory '/tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave/cpp/examples/MinOZW'
make[1]: Leaving directory '/tmp/mnt/usb-flash/python-openzwave-0.3.1/openzwave'
[root@root python-openzwave-0.3.1]$
alllexx88 commented 8 years ago

@srirams your log, for some reason, stops after building the C++ library, and doesn't even attempt to build the python extension

srirams commented 8 years ago

and then I did a make install which installed the python libs. It failed building pyozwweb but the actual python wrapper itself installed fine (this is for python2, homeassistant requires python3, so I used the python3 branch from python-openzwave and ran "python3 setup-lib.py install" and "python3 setup-api.py install"

[root@root python-openzwave-0.3.1]$ make install
python setup-lib.py install
running install
/opt/local/lib/python2.5/site-packages (in --site-dirs) does not exist
Checking .pth file support in /opt/local/lib/python2.7/site-packages/
/opt/bin/python -E -c pass
TEST PASSED: /opt/local/lib/python2.7/site-packages/ appears to support .pth files
running bdist_egg
running egg_info
creating src-lib/libopenzwave.egg-info
writing requirements to src-lib/libopenzwave.egg-info/requires.txt
writing src-lib/libopenzwave.egg-info/PKG-INFO
writing top-level names to src-lib/libopenzwave.egg-info/top_level.txt
writing dependency_links to src-lib/libopenzwave.egg-info/dependency_links.txt
writing manifest file 'src-lib/libopenzwave.egg-info/SOURCES.txt'
reading manifest file 'src-lib/libopenzwave.egg-info/SOURCES.txt'
writing manifest file 'src-lib/libopenzwave.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_ext
building 'libopenzwave' extension
creating build
creating build/temp.linux-armv7l-2.7
creating build/temp.linux-armv7l-2.7/src-lib
creating build/temp.linux-armv7l-2.7/src-lib/libopenzwave
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -DPY_SSIZE_T_CLEAN=1 -Iopenzwave/cpp/src/ -Iopenzwave/cpp/src/value_classes/ -Iopenzwave/cpp/src/platform/ -Iopenzwave/cpp/build/linux/ -I/opt/include/python2.7 -c src-lib/libopenzwave/libopenzwave.cpp -o build/temp.linux-armv7l-2.7/src-lib/libopenzwave/libopenzwave.o
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
src-lib/libopenzwave/libopenzwave.cpp:3:0: warning: "PY_SSIZE_T_CLEAN" redefined
 #define PY_SSIZE_T_CLEAN
 ^
<command-line>:0:0: note: this is the location of the previous definition
In file included from openzwave/cpp/src/aes/aescpp.h:26:0,
                 from openzwave/cpp/src/Driver.h:42,
                 from src-lib/libopenzwave/libopenzwave.cpp:249:
openzwave/cpp/src/aes/aes.h:75:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning( disable : 4324 )
 ^
openzwave/cpp/src/aes/aes.h:93:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning( default : 4324 )
 ^
src-lib/libopenzwave/libopenzwave.cpp: In function 'PyObject* __pyx_pf_12libopenzwave_9PyManager_268beginControllerCommand(__pyx_obj_12libopenzwave_PyManager*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*)':
src-lib/libopenzwave/libopenzwave.cpp:27543:204: warning: 'bool OpenZWave::Manager::BeginControllerCommand(uint32, OpenZWave::Driver::ControllerCommand, OpenZWave::Driver::pfnControllerCallback_t, void*, bool, uint8, uint8)' is deprecated [-Wdeprecated-declarations]
 _self->manager->BeginControllerCommand(__pyx_t_1, __pyx_t_2, __pyx_f_12libopenzwave_ctrl_callback, ((void *)__pyx_v_pythonfunc), __pyx_t_3, __pyx_t_4, __pyx_t_5)); if (unl
                                                                                                                                                                 ^
src-lib/libopenzwave/libopenzwave.cpp:329:36: note: in definition of macro '__Pyx_PyBool_FromLong'
 #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
                                    ^
In file included from src-lib/libopenzwave/libopenzwave.cpp:254:0:
openzwave/cpp/src/Manager.h:1731:19: note: declared here
   DEPRECATED bool BeginControllerCommand( uint32 const _homeId, Driver::ControllerCommand _command, Driver::pfnControllerCallback_t _callback = NULL, void* _context = NULL
                   ^
creating build/lib.linux-armv7l-2.7
g++ -pthread -shared -L/home/jenkins/Optware-ng/buildroot-armeabi-ng/host/staging/opt/lib -Wl,-rpath,/home/jenkins/Optware-ng/buildroot-armeabi-ng/host/staging/opt/lib -Wl,-rpath-link,/home/jenkins/Optware-ng/buildroot-armeabi-ng/host/staging/opt/lib build/temp.linux-armv7l-2.7/src-lib/libopenzwave/libopenzwave.o openzwave/libopenzwave.a -ludev -lstdc++ -o build/lib.linux-armv7l-2.7/libopenzwave.so
creating build/bdist.linux-armv7l
creating build/bdist.linux-armv7l/egg
copying build/lib.linux-armv7l-2.7/libopenzwave.so -> build/bdist.linux-armv7l/egg
creating stub loader for libopenzwave.so
byte-compiling build/bdist.linux-armv7l/egg/libopenzwave.py to libopenzwave.pyc
installing package data to build/bdist.linux-armv7l/egg
running install_data
creating build/bdist.linux-armv7l/egg/config
copying openzwave/config/manufacturer_specific.xml -> build/bdist.linux-armv7l/egg/config
copying openzwave/config/device_classes.xml -> build/bdist.linux-armv7l/egg/config
copying openzwave/config/options.xml -> build/bdist.linux-armv7l/egg/config
creating build/bdist.linux-armv7l/egg/config/nexia
copying openzwave/config/nexia/db100z.xml -> build/bdist.linux-armv7l/egg/config/nexia
creating build/bdist.linux-armv7l/egg/config/linear
copying openzwave/config/linear/PD300Z-2.xml -> build/bdist.linux-armv7l/egg/config/linear
copying openzwave/config/linear/WD500Z-1.xml -> build/bdist.linux-armv7l/egg/config/linear
creating build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgd211.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgs212.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgs211.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgss101.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgk001.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgs222.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgfs101.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgbs001.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgrgbwm441.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgs221.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgms.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgr221.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgrm222.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgsd002.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgr222.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgd212.xml -> build/bdist.linux-armv7l/egg/config/fibaro
copying openzwave/config/fibaro/fgwpe.xml -> build/bdist.linux-armv7l/egg/config/fibaro
creating build/bdist.linux-armv7l/egg/config/widom
copying openzwave/config/widom/UME304C_S.xml -> build/bdist.linux-armv7l/egg/config/widom
copying openzwave/config/widom/UBS104.xml -> build/bdist.linux-armv7l/egg/config/widom
creating build/bdist.linux-armv7l/egg/config/danfoss
copying openzwave/config/danfoss/rs.xml -> build/bdist.linux-armv7l/egg/config/danfoss
copying openzwave/config/danfoss/rsroom.xml -> build/bdist.linux-armv7l/egg/config/danfoss
copying openzwave/config/danfoss/living.xml -> build/bdist.linux-armv7l/egg/config/danfoss
copying openzwave/config/danfoss/z.xml -> build/bdist.linux-armv7l/egg/config/danfoss
creating build/bdist.linux-armv7l/egg/config/2gig
copying openzwave/config/2gig/ct50e.xml -> build/bdist.linux-armv7l/egg/config/2gig
copying openzwave/config/2gig/ct101.xml -> build/bdist.linux-armv7l/egg/config/2gig
copying openzwave/config/2gig/ct100.xml -> build/bdist.linux-armv7l/egg/config/2gig
copying openzwave/config/2gig/ct30.xml -> build/bdist.linux-armv7l/egg/config/2gig
creating build/bdist.linux-armv7l/egg/config/leviton
copying openzwave/config/leviton/vrcpg.xml -> build/bdist.linux-armv7l/egg/config/leviton
copying openzwave/config/leviton/vri10.xml -> build/bdist.linux-armv7l/egg/config/leviton
copying openzwave/config/leviton/rzi10.xml -> build/bdist.linux-armv7l/egg/config/leviton
copying openzwave/config/leviton/vrf01.xml -> build/bdist.linux-armv7l/egg/config/leviton
copying openzwave/config/leviton/vri06.xml -> build/bdist.linux-armv7l/egg/config/leviton
creating build/bdist.linux-armv7l/egg/config/fakro
copying openzwave/config/fakro/zws230.xml -> build/bdist.linux-armv7l/egg/config/fakro
copying openzwave/config/fakro/zws12.xml -> build/bdist.linux-armv7l/egg/config/fakro
creating build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHADx.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHBA2.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHDDx.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHSDx.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHJA2.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHLAx.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHCDx.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHTAx.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHAA2.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHIA2.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHJD1.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHBDx.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHNDx.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHCA2.xml -> build/bdist.linux-armv7l/egg/config/qubino
copying openzwave/config/qubino/ZMNHDA2.xml -> build/bdist.linux-armv7l/egg/config/qubino
creating build/bdist.linux-armv7l/egg/config/qees
copying openzwave/config/qees/reto-plugin-switch.xml -> build/bdist.linux-armv7l/egg/config/qees
copying openzwave/config/qees/reto-dimmer-plus.xml -> build/bdist.linux-armv7l/egg/config/qees
creating build/bdist.linux-armv7l/egg/config/fortrezz
copying openzwave/config/fortrezz/ssa2.xml -> build/bdist.linux-armv7l/egg/config/fortrezz
copying openzwave/config/fortrezz/ssa3.xml -> build/bdist.linux-armv7l/egg/config/fortrezz
copying openzwave/config/fortrezz/mimolite.xml -> build/bdist.linux-armv7l/egg/config/fortrezz
creating build/bdist.linux-armv7l/egg/config/eurotronic
copying openzwave/config/eurotronic/eur_stellaz.xml -> build/bdist.linux-armv7l/egg/config/eurotronic
copying openzwave/config/eurotronic/eur_cometz.xml -> build/bdist.linux-armv7l/egg/config/eurotronic
creating build/bdist.linux-armv7l/egg/config/assa_abloy
copying openzwave/config/assa_abloy/RealLivingCapTouch.xml -> build/bdist.linux-armv7l/egg/config/assa_abloy
creating build/bdist.linux-armv7l/egg/config/wenzhou
copying openzwave/config/wenzhou/tz65d.xml -> build/bdist.linux-armv7l/egg/config/wenzhou
copying openzwave/config/wenzhou/tz67.xml -> build/bdist.linux-armv7l/egg/config/wenzhou
copying openzwave/config/wenzhou/tz88.xml -> build/bdist.linux-armv7l/egg/config/wenzhou
copying openzwave/config/wenzhou/tz66d.xml -> build/bdist.linux-armv7l/egg/config/wenzhou
copying openzwave/config/wenzhou/sm103.xml -> build/bdist.linux-armv7l/egg/config/wenzhou
copying openzwave/config/wenzhou/tz68.xml -> build/bdist.linux-armv7l/egg/config/wenzhou
copying openzwave/config/wenzhou/tsp01.xml -> build/bdist.linux-armv7l/egg/config/wenzhou
creating build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/EnergySwitch.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/AlarmSound.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/Molite.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/PanicButton.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/1poleswitch.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/HeatingControl.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/DoorSensor.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/2poleswitch.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/SceneController.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/BuiltinDimmer.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/TagReader.xml -> build/bdist.linux-armv7l/egg/config/BeNext
copying openzwave/config/BeNext/PluginDimmer.xml -> build/bdist.linux-armv7l/egg/config/BeNext
creating build/bdist.linux-armv7l/egg/config/remotec
copying openzwave/config/remotec/zurc.xml -> build/bdist.linux-armv7l/egg/config/remotec
copying openzwave/config/remotec/zts-110.xml -> build/bdist.linux-armv7l/egg/config/remotec
copying openzwave/config/remotec/zxt-120.xml -> build/bdist.linux-armv7l/egg/config/remotec
copying openzwave/config/remotec/zfm-80.xml -> build/bdist.linux-armv7l/egg/config/remotec
creating build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/kfob.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/ZME_WCD2.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/zweather.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/ZME_WALLC-S.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/ZME_05431.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/ZME_KFOB-S.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/ZME_RC2.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/ZME_064435.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/ZME_06436.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/ZME_06433.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
copying openzwave/config/zwave.me/iTemp.xml -> build/bdist.linux-armv7l/egg/config/zwave.me
creating build/bdist.linux-armv7l/egg/config/swiid
copying openzwave/config/swiid/swiidplug.xml -> build/bdist.linux-armv7l/egg/config/swiid
copying openzwave/config/swiid/swiidinter.xml -> build/bdist.linux-armv7l/egg/config/swiid
creating build/bdist.linux-armv7l/egg/config/domitech
copying openzwave/config/domitech/zb22uk.xml -> build/bdist.linux-armv7l/egg/config/domitech
copying openzwave/config/domitech/ze27eu.xml -> build/bdist.linux-armv7l/egg/config/domitech
creating build/bdist.linux-armv7l/egg/config/sensative
copying openzwave/config/sensative/strips.xml -> build/bdist.linux-armv7l/egg/config/sensative
creating build/bdist.linux-armv7l/egg/config/cooper
copying openzwave/config/cooper/RF9505-T.xml -> build/bdist.linux-armv7l/egg/config/cooper
copying openzwave/config/cooper/RF9540-N.xml -> build/bdist.linux-armv7l/egg/config/cooper
creating build/bdist.linux-armv7l/egg/config/horstmann
copying openzwave/config/horstmann/scsc17.xml -> build/bdist.linux-armv7l/egg/config/horstmann
copying openzwave/config/horstmann/asrzw.xml -> build/bdist.linux-armv7l/egg/config/horstmann
copying openzwave/config/horstmann/ses302.xml -> build/bdist.linux-armv7l/egg/config/horstmann
copying openzwave/config/horstmann/srt323.xml -> build/bdist.linux-armv7l/egg/config/horstmann
copying openzwave/config/horstmann/sir321.xml -> build/bdist.linux-armv7l/egg/config/horstmann
copying openzwave/config/horstmann/hrt4zw.xml -> build/bdist.linux-armv7l/egg/config/horstmann
copying openzwave/config/horstmann/ses303.xml -> build/bdist.linux-armv7l/egg/config/horstmann
creating build/bdist.linux-armv7l/egg/config/popp
copying openzwave/config/popp/009105.xml -> build/bdist.linux-armv7l/egg/config/popp
copying openzwave/config/popp/solar-siren.xml -> build/bdist.linux-armv7l/egg/config/popp
copying openzwave/config/popp/zweather.xml -> build/bdist.linux-armv7l/egg/config/popp
copying openzwave/config/popp/009303.xml -> build/bdist.linux-armv7l/egg/config/popp
copying openzwave/config/popp/smoke-detector.xml -> build/bdist.linux-armv7l/egg/config/popp
copying openzwave/config/popp/123658.xml -> build/bdist.linux-armv7l/egg/config/popp
copying openzwave/config/popp/123601.xml -> build/bdist.linux-armv7l/egg/config/popp
copying openzwave/config/popp/123580.xml -> build/bdist.linux-armv7l/egg/config/popp
creating build/bdist.linux-armv7l/egg/config/ge
copying openzwave/config/ge/relay.xml -> build/bdist.linux-armv7l/egg/config/ge
copying openzwave/config/ge/dimmer_module.xml -> build/bdist.linux-armv7l/egg/config/ge
copying openzwave/config/ge/dimmer.xml -> build/bdist.linux-armv7l/egg/config/ge
copying openzwave/config/ge/12724-dimmer.xml -> build/bdist.linux-armv7l/egg/config/ge
creating build/bdist.linux-armv7l/egg/config/duwi
copying openzwave/config/duwi/ZWES1000.xml -> build/bdist.linux-armv7l/egg/config/duwi
copying openzwave/config/duwi/zwfb.xml -> build/bdist.linux-armv7l/egg/config/duwi
copying openzwave/config/duwi/ZWESJ300.xml -> build/bdist.linux-armv7l/egg/config/duwi
creating build/bdist.linux-armv7l/egg/config/zipato
copying openzwave/config/zipato/MiniKeypad.xml -> build/bdist.linux-armv7l/egg/config/zipato
copying openzwave/config/zipato/RGBBulb.xml -> build/bdist.linux-armv7l/egg/config/zipato
creating build/bdist.linux-armv7l/egg/config/schlage
copying openzwave/config/schlage/BE469NXCEN.xml -> build/bdist.linux-armv7l/egg/config/schlage
creating build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/hemg2.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/dsd31.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/ses2.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/ses2a.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/keyfob2.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/drycontactsensor.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/ses.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/doorwindow.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/multisensor6.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/zw120_doorwindow.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/msesv2.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/doorbell_gen5.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/zw062_garage_door_controller.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/hdss_gen5.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/sei.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/sd6.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/sei2.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/zstickgen5.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/ss6.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/multisensor_gen5.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/hem.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/recessed_doorsensor.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/watersensor.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/recessed_doorsensor_gen5.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/mmc.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/ledbulb.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/dws6.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/panicbtn.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/minimote.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/zw112_doorwindow6.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/dsd37.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/keyfob.xml -> build/bdist.linux-armv7l/egg/config/aeotec
copying openzwave/config/aeotec/alms.xml -> build/bdist.linux-armv7l/egg/config/aeotec
creating build/bdist.linux-armv7l/egg/config/act
copying openzwave/config/act/zdm230.xml -> build/bdist.linux-armv7l/egg/config/act
copying openzwave/config/act/zdw103.xml -> build/bdist.linux-armv7l/egg/config/act
copying openzwave/config/act/zir010.xml -> build/bdist.linux-armv7l/egg/config/act
copying openzwave/config/act/zdw232.xml -> build/bdist.linux-armv7l/egg/config/act
copying openzwave/config/act/lfm20.xml -> build/bdist.linux-armv7l/egg/config/act
copying openzwave/config/act/zrw103.xml -> build/bdist.linux-armv7l/egg/config/act
copying openzwave/config/act/zrp110.xml -> build/bdist.linux-armv7l/egg/config/act
creating build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/psm02.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/pan08.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/pst02-b.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/pan03.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/pse02.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/pst02-1c.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/psr04.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/pst02.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/phpat02.xml -> build/bdist.linux-armv7l/egg/config/philio
copying openzwave/config/philio/pan04.xml -> build/bdist.linux-armv7l/egg/config/philio
creating build/bdist.linux-armv7l/egg/config/merten
copying openzwave/config/merten/507801.xml -> build/bdist.linux-armv7l/egg/config/merten
copying openzwave/config/merten/50x5xx.xml -> build/bdist.linux-armv7l/egg/config/merten
creating build/bdist.linux-armv7l/egg/config/rcs
copying openzwave/config/rcs/therm0007.xml -> build/bdist.linux-armv7l/egg/config/rcs
copying openzwave/config/rcs/em52-zw.xml -> build/bdist.linux-armv7l/egg/config/rcs
copying openzwave/config/rcs/pm12-zw.xml -> build/bdist.linux-armv7l/egg/config/rcs
copying openzwave/config/rcs/therm0005.xml -> build/bdist.linux-armv7l/egg/config/rcs
copying openzwave/config/rcs/therm0009.xml -> build/bdist.linux-armv7l/egg/config/rcs
creating build/bdist.linux-armv7l/egg/config/dragontech
copying openzwave/config/dragontech/wd-100.xml -> build/bdist.linux-armv7l/egg/config/dragontech
creating build/bdist.linux-armv7l/egg/config/vision
copying openzwave/config/vision/zs5101eu.xml -> build/bdist.linux-armv7l/egg/config/vision
copying openzwave/config/vision/zd2201.xml -> build/bdist.linux-armv7l/egg/config/vision
copying openzwave/config/vision/zd2102.xml -> build/bdist.linux-armv7l/egg/config/vision
copying openzwave/config/vision/zg8101.xml -> build/bdist.linux-armv7l/egg/config/vision
copying openzwave/config/vision/zm1602eu5.xml -> build/bdist.linux-armv7l/egg/config/vision
copying openzwave/config/vision/zp3102.xml -> build/bdist.linux-armv7l/egg/config/vision
copying openzwave/config/vision/zm1601eu.xml -> build/bdist.linux-armv7l/egg/config/vision
copying openzwave/config/vision/zm1602eu.xml -> build/bdist.linux-armv7l/egg/config/vision
creating build/bdist.linux-armv7l/egg/config/iris
copying openzwave/config/iris/rangeextender.xml -> build/bdist.linux-armv7l/egg/config/iris
creating build/bdist.linux-armv7l/egg/config/homeseer
copying openzwave/config/homeseer/ztroller.xml -> build/bdist.linux-armv7l/egg/config/homeseer
copying openzwave/config/homeseer/ezmotionplus.xml -> build/bdist.linux-armv7l/egg/config/homeseer
copying openzwave/config/homeseer/hsm100.xml -> build/bdist.linux-armv7l/egg/config/homeseer
copying openzwave/config/homeseer/hsm200.xml -> build/bdist.linux-armv7l/egg/config/homeseer
creating build/bdist.linux-armv7l/egg/config/honeywell
copying openzwave/config/honeywell/th8320zw1000.xml -> build/bdist.linux-armv7l/egg/config/honeywell
creating build/bdist.linux-armv7l/egg/config/nodon
copying openzwave/config/nodon/crc3100OctanRemote.xml -> build/bdist.linux-armv7l/egg/config/nodon
copying openzwave/config/nodon/crc360xSofremote.xml -> build/bdist.linux-armv7l/egg/config/nodon
copying openzwave/config/nodon/asp3100SmartPlug.xml -> build/bdist.linux-armv7l/egg/config/nodon
copying openzwave/config/nodon/cws3101wallswitch.xml -> build/bdist.linux-armv7l/egg/config/nodon
creating build/bdist.linux-armv7l/egg/config/polycontrol
copying openzwave/config/polycontrol/keypad.xml -> build/bdist.linux-armv7l/egg/config/polycontrol
copying openzwave/config/polycontrol/doorlock.xml -> build/bdist.linux-armv7l/egg/config/polycontrol
copying openzwave/config/polycontrol/polylock.xml -> build/bdist.linux-armv7l/egg/config/polycontrol
creating build/bdist.linux-armv7l/egg/config/mcohome
copying openzwave/config/mcohome/mhs311.xml -> build/bdist.linux-armv7l/egg/config/mcohome
copying openzwave/config/mcohome/mhs411.xml -> build/bdist.linux-armv7l/egg/config/mcohome
copying openzwave/config/mcohome/mhs513.xml -> build/bdist.linux-armv7l/egg/config/mcohome
copying openzwave/config/mcohome/mhs412.xml -> build/bdist.linux-armv7l/egg/config/mcohome
copying openzwave/config/mcohome/mhs314.xml -> build/bdist.linux-armv7l/egg/config/mcohome
copying openzwave/config/mcohome/mhs312.xml -> build/bdist.linux-armv7l/egg/config/mcohome
creating build/bdist.linux-armv7l/egg/config/intermatic
copying openzwave/config/intermatic/ca8900.xml -> build/bdist.linux-armv7l/egg/config/intermatic
creating build/bdist.linux-armv7l/egg/config/waynedalton
copying openzwave/config/waynedalton/WDTC-20.xml -> build/bdist.linux-armv7l/egg/config/waynedalton
creating build/bdist.linux-armv7l/egg/config/evolve
copying openzwave/config/evolve/lsm-15.xml -> build/bdist.linux-armv7l/egg/config/evolve
copying openzwave/config/evolve/ltm-5.xml -> build/bdist.linux-armv7l/egg/config/evolve
copying openzwave/config/evolve/lrm-as.xml -> build/bdist.linux-armv7l/egg/config/evolve
creating build/bdist.linux-armv7l/egg/config/greenwave
copying openzwave/config/greenwave/powernode6.xml -> build/bdist.linux-armv7l/egg/config/greenwave
copying openzwave/config/greenwave/powernode1.xml -> build/bdist.linux-armv7l/egg/config/greenwave
creating build/bdist.linux-armv7l/egg/config/vitrum
copying openzwave/config/vitrum/vitrumBS.xml -> build/bdist.linux-armv7l/egg/config/vitrum
creating build/bdist.linux-armv7l/egg/config/thermofloor
copying openzwave/config/thermofloor/heatit021.xml -> build/bdist.linux-armv7l/egg/config/thermofloor
creating build/bdist.linux-armv7l/egg/config/frostdale
copying openzwave/config/frostdale/fdn2nxx.xml -> build/bdist.linux-armv7l/egg/config/frostdale
creating build/bdist.linux-armv7l/egg/config/dlink
copying openzwave/config/dlink/dch-z110.xml -> build/bdist.linux-armv7l/egg/config/dlink
copying openzwave/config/dlink/dch-z120.xml -> build/bdist.linux-armv7l/egg/config/dlink
copying openzwave/config/dlink/dch-z510.xml -> build/bdist.linux-armv7l/egg/config/dlink
creating build/bdist.linux-armv7l/egg/config/northq
copying openzwave/config/northq/nq9121.xml -> build/bdist.linux-armv7l/egg/config/northq
copying openzwave/config/northq/nq92021.xml -> build/bdist.linux-armv7l/egg/config/northq
creating build/bdist.linux-armv7l/egg/config/enerwave
copying openzwave/config/enerwave/zw500d.xml -> build/bdist.linux-armv7l/egg/config/enerwave
copying openzwave/config/enerwave/zwn-bpc.xml -> build/bdist.linux-armv7l/egg/config/enerwave
copying openzwave/config/enerwave/zw20r.xml -> build/bdist.linux-armv7l/egg/config/enerwave
copying openzwave/config/enerwave/zw15s.xml -> build/bdist.linux-armv7l/egg/config/enerwave
copying openzwave/config/enerwave/zwn-sc7.xml -> build/bdist.linux-armv7l/egg/config/enerwave
copying openzwave/config/enerwave/zw20rm.xml -> build/bdist.linux-armv7l/egg/config/enerwave
creating build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/an158.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/tse03.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/sp814.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/ad146.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/sf812.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/an145.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/an179.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/ad147.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/sp103.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/st815.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/st814.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/an180.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/se812.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/sm103.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/hsp02.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/st812.xml -> build/bdist.linux-armv7l/egg/config/everspring
copying openzwave/config/everspring/an181.xml -> build/bdist.linux-armv7l/egg/config/everspring
creating build/bdist.linux-armv7l/egg/config/trane
copying openzwave/config/trane/TZEMT400AB32MAA.xml -> build/bdist.linux-armv7l/egg/config/trane
copying openzwave/config/trane/TZEMT400BB32MAA.xml -> build/bdist.linux-armv7l/egg/config/trane
creating build/bdist.linux-armv7l/egg/config/everspringct
copying openzwave/config/everspringct/hsm02.xml -> build/bdist.linux-armv7l/egg/config/everspringct
creating build/bdist.linux-armv7l/egg/config/schlagelink
copying openzwave/config/schlagelink/itemp.xml -> build/bdist.linux-armv7l/egg/config/schlagelink
copying openzwave/config/schlagelink/minikeypad.xml -> build/bdist.linux-armv7l/egg/config/schlagelink
copying openzwave/config/zwcfg.xsd -> build/bdist.linux-armv7l/egg/config
copying openzwave/config/manufacturer_specific.xsd -> build/bdist.linux-armv7l/egg/config
copying openzwave/config/zwscene.xsd -> build/bdist.linux-armv7l/egg/config
copying openzwave/config/device_configuration.xsd -> build/bdist.linux-armv7l/egg/config
copying openzwave/config/options.xsd -> build/bdist.linux-armv7l/egg/config
copying openzwave/config/device_classes.xsd -> build/bdist.linux-armv7l/egg/config
creating build/bdist.linux-armv7l/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/PKG-INFO -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/SOURCES.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/dependency_links.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/not-zip-safe -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/requires.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/top_level.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
writing build/bdist.linux-armv7l/egg/EGG-INFO/native_libs.txt
creating dist
creating 'dist/libopenzwave-0.3.1-py2.7-linux-armv7l.egg' and adding 'build/bdist.linux-armv7l/egg' to it
removing 'build/bdist.linux-armv7l/egg' (and everything under it)
Processing libopenzwave-0.3.1-py2.7-linux-armv7l.egg
creating /opt/local/lib/python2.7/site-packages/libopenzwave-0.3.1-py2.7-linux-armv7l.egg
Extracting libopenzwave-0.3.1-py2.7-linux-armv7l.egg to /opt/local/lib/python2.7/site-packages
Removing libopenzwave 0.3.0b8 from easy-install.pth file
Adding libopenzwave 0.3.1 to easy-install.pth file

Installed /opt/local/lib/python2.7/site-packages/libopenzwave-0.3.1-py2.7-linux-armv7l.egg
Processing dependencies for libopenzwave==0.3.1
Searching for six==1.10.0
Best match: six 1.10.0
Processing six-1.10.0-py2.7.egg
six 1.10.0 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages/six-1.10.0-py2.7.egg
Finished processing dependencies for libopenzwave==0.3.1

Installation of lib finished.
python setup-api.py install
running install
/opt/local/lib/python2.5/site-packages (in --site-dirs) does not exist
Checking .pth file support in /opt/local/lib/python2.7/site-packages/
/opt/bin/python -E -c pass
TEST PASSED: /opt/local/lib/python2.7/site-packages/ appears to support .pth files
running bdist_egg
running egg_info
creating src-api/openzwave.egg-info
writing requirements to src-api/openzwave.egg-info/requires.txt
writing src-api/openzwave.egg-info/PKG-INFO
writing top-level names to src-api/openzwave.egg-info/top_level.txt
writing dependency_links to src-api/openzwave.egg-info/dependency_links.txt
writing manifest file 'src-api/openzwave.egg-info/SOURCES.txt'
reading manifest file 'src-api/openzwave.egg-info/SOURCES.txt'
writing manifest file 'src-api/openzwave.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
creating build/lib
creating build/lib/openzwave
copying src-api/openzwave/group.py -> build/lib/openzwave
copying src-api/openzwave/value.py -> build/lib/openzwave
copying src-api/openzwave/node.py -> build/lib/openzwave
copying src-api/openzwave/object.py -> build/lib/openzwave
copying src-api/openzwave/command.py -> build/lib/openzwave
copying src-api/openzwave/singleton.py -> build/lib/openzwave
copying src-api/openzwave/option.py -> build/lib/openzwave
copying src-api/openzwave/controller.py -> build/lib/openzwave
copying src-api/openzwave/network.py -> build/lib/openzwave
copying src-api/openzwave/scene.py -> build/lib/openzwave
copying src-api/openzwave/__init__.py -> build/lib/openzwave
creating build/bdist.linux-armv7l/egg
creating build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/group.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/value.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/node.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/object.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/command.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/singleton.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/option.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/controller.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/network.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/scene.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/__init__.py -> build/bdist.linux-armv7l/egg/openzwave
byte-compiling build/bdist.linux-armv7l/egg/openzwave/group.py to group.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/value.py to value.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/node.py to node.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/object.py to object.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/command.py to command.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/singleton.py to singleton.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/option.py to option.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/controller.py to controller.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/network.py to network.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/scene.py to scene.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/__init__.py to __init__.pyc
creating build/bdist.linux-armv7l/egg/EGG-INFO
copying src-api/openzwave.egg-info/PKG-INFO -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-api/openzwave.egg-info/SOURCES.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-api/openzwave.egg-info/dependency_links.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-api/openzwave.egg-info/not-zip-safe -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-api/openzwave.egg-info/requires.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-api/openzwave.egg-info/top_level.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
creating 'dist/openzwave-0.3.1-py2.7.egg' and adding 'build/bdist.linux-armv7l/egg' to it
removing 'build/bdist.linux-armv7l/egg' (and everything under it)
Processing openzwave-0.3.1-py2.7.egg
creating /opt/local/lib/python2.7/site-packages/openzwave-0.3.1-py2.7.egg
Extracting openzwave-0.3.1-py2.7.egg to /opt/local/lib/python2.7/site-packages
Removing openzwave 0.3.0b8 from easy-install.pth file
Adding openzwave 0.3.1 to easy-install.pth file

Installed /opt/local/lib/python2.7/site-packages/openzwave-0.3.1-py2.7.egg
Processing dependencies for openzwave==0.3.1
Searching for libopenzwave==0.3.1
Best match: libopenzwave 0.3.1
Processing libopenzwave-0.3.1-py2.7-linux-armv7l.egg
libopenzwave 0.3.1 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages/libopenzwave-0.3.1-py2.7-linux-armv7l.egg
Searching for Louie==1.1
Best match: Louie 1.1
Processing Louie-1.1-py2.7.egg
Louie 1.1 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages/Louie-1.1-py2.7.egg
Searching for six==1.10.0
Best match: six 1.10.0
Processing six-1.10.0-py2.7.egg
six 1.10.0 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages/six-1.10.0-py2.7.egg
Searching for nose==1.3.7
Best match: nose 1.3.7
nose 1.3.7 is already the active version in easy-install.pth
Installing nosetests script to /opt/local/bin
Installing nosetests-2.7 script to /opt/local/bin

Using /opt/local/lib/python2.7/site-packages
Finished processing dependencies for openzwave==0.3.1

Installation of API finished.
python setup-manager.py install
running install
/opt/local/lib/python2.5/site-packages (in --site-dirs) does not exist
Checking .pth file support in /opt/local/lib/python2.7/site-packages/
/opt/bin/python -E -c pass
TEST PASSED: /opt/local/lib/python2.7/site-packages/ appears to support .pth files
running bdist_egg
running egg_info
creating src-manager/pyozwman.egg-info
writing requirements to src-manager/pyozwman.egg-info/requires.txt
writing src-manager/pyozwman.egg-info/PKG-INFO
writing top-level names to src-manager/pyozwman.egg-info/top_level.txt
writing dependency_links to src-manager/pyozwman.egg-info/dependency_links.txt
writing manifest file 'src-manager/pyozwman.egg-info/SOURCES.txt'
reading manifest file 'src-manager/pyozwman.egg-info/SOURCES.txt'
writing manifest file 'src-manager/pyozwman.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
creating build/lib/pyozwman
copying src-manager/pyozwman/ozwsh_main.py -> build/lib/pyozwman
copying src-manager/pyozwman/ozwsh_widgets.py -> build/lib/pyozwman
copying src-manager/pyozwman/__init__.py -> build/lib/pyozwman
creating build/bdist.linux-armv7l/egg
creating build/bdist.linux-armv7l/egg/pyozwman
copying build/lib/pyozwman/ozwsh_main.py -> build/bdist.linux-armv7l/egg/pyozwman
copying build/lib/pyozwman/ozwsh_widgets.py -> build/bdist.linux-armv7l/egg/pyozwman
copying build/lib/pyozwman/__init__.py -> build/bdist.linux-armv7l/egg/pyozwman
creating build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/group.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/value.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/node.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/object.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/command.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/singleton.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/option.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/controller.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/network.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/scene.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/__init__.py -> build/bdist.linux-armv7l/egg/openzwave
byte-compiling build/bdist.linux-armv7l/egg/pyozwman/ozwsh_main.py to ozwsh_main.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwman/ozwsh_widgets.py to ozwsh_widgets.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwman/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/group.py to group.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/value.py to value.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/node.py to node.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/object.py to object.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/command.py to command.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/singleton.py to singleton.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/option.py to option.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/controller.py to controller.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/network.py to network.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/scene.py to scene.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/__init__.py to __init__.pyc
creating build/bdist.linux-armv7l/egg/EGG-INFO
installing scripts to build/bdist.linux-armv7l/egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/scripts-2.7
copying and adjusting src-manager/scripts/ozwsh -> build/scripts-2.7
changing mode of build/scripts-2.7/ozwsh from 644 to 755
creating build/bdist.linux-armv7l/egg/EGG-INFO/scripts
copying build/scripts-2.7/ozwsh -> build/bdist.linux-armv7l/egg/EGG-INFO/scripts
changing mode of build/bdist.linux-armv7l/egg/EGG-INFO/scripts/ozwsh to 755
copying src-manager/pyozwman.egg-info/PKG-INFO -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-manager/pyozwman.egg-info/SOURCES.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-manager/pyozwman.egg-info/dependency_links.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-manager/pyozwman.egg-info/not-zip-safe -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-manager/pyozwman.egg-info/requires.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-manager/pyozwman.egg-info/top_level.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
creating 'dist/pyozwman-0.3.1-py2.7.egg' and adding 'build/bdist.linux-armv7l/egg' to it
removing 'build/bdist.linux-armv7l/egg' (and everything under it)
Processing pyozwman-0.3.1-py2.7.egg
creating /opt/local/lib/python2.7/site-packages/pyozwman-0.3.1-py2.7.egg
Extracting pyozwman-0.3.1-py2.7.egg to /opt/local/lib/python2.7/site-packages
Removing pyozwman 0.3.0b8 from easy-install.pth file
Adding pyozwman 0.3.1 to easy-install.pth file
Installing ozwsh script to /opt/local/bin

Installed /opt/local/lib/python2.7/site-packages/pyozwman-0.3.1-py2.7.egg
Processing dependencies for pyozwman==0.3.1
Searching for openzwave==0.3.1
Best match: openzwave 0.3.1
Processing openzwave-0.3.1-py2.7.egg
openzwave 0.3.1 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages/openzwave-0.3.1-py2.7.egg
Searching for urwid==1.3.1
Best match: urwid 1.3.1
urwid 1.3.1 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages
Searching for libopenzwave==0.3.1
Best match: libopenzwave 0.3.1
Processing libopenzwave-0.3.1-py2.7-linux-armv7l.egg
libopenzwave 0.3.1 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages/libopenzwave-0.3.1-py2.7-linux-armv7l.egg
Searching for Louie==1.1
Best match: Louie 1.1
Processing Louie-1.1-py2.7.egg
Louie 1.1 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages/Louie-1.1-py2.7.egg
Searching for six==1.10.0
Best match: six 1.10.0
Processing six-1.10.0-py2.7.egg
six 1.10.0 is already the active version in easy-install.pth

Using /opt/local/lib/python2.7/site-packages/six-1.10.0-py2.7.egg
Searching for nose==1.3.7
Best match: nose 1.3.7
nose 1.3.7 is already the active version in easy-install.pth
Installing nosetests script to /opt/local/bin
Installing nosetests-2.7 script to /opt/local/bin

Using /opt/local/lib/python2.7/site-packages
Finished processing dependencies for pyozwman==0.3.1
python setup-web.py install
running install
/opt/local/lib/python2.5/site-packages (in --site-dirs) does not exist
Checking .pth file support in /opt/local/lib/python2.7/site-packages/
/opt/bin/python -E -c pass
TEST PASSED: /opt/local/lib/python2.7/site-packages/ appears to support .pth files
running bdist_egg
running egg_info
creating src-web/pyozwweb.egg-info
writing requirements to src-web/pyozwweb.egg-info/requires.txt
writing src-web/pyozwweb.egg-info/PKG-INFO
writing top-level names to src-web/pyozwweb.egg-info/top_level.txt
writing dependency_links to src-web/pyozwweb.egg-info/dependency_links.txt
writing manifest file 'src-web/pyozwweb.egg-info/SOURCES.txt'
reading manifest file 'src-web/pyozwweb.egg-info/SOURCES.txt'
writing manifest file 'src-web/pyozwweb.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
creating build/lib/pyozwweb
copying src-web/pyozwweb/shell.py -> build/lib/pyozwweb
copying src-web/pyozwweb/run.py -> build/lib/pyozwweb
copying src-web/pyozwweb/reload.py -> build/lib/pyozwweb
copying src-web/pyozwweb/__init__.py -> build/lib/pyozwweb
copying src-web/pyozwweb/config.py -> build/lib/pyozwweb
creating build/lib/pyozwweb/app
copying src-web/pyozwweb/app/listener.py -> build/lib/pyozwweb/app
copying src-web/pyozwweb/app/views.py -> build/lib/pyozwweb/app
copying src-web/pyozwweb/app/__init__.py -> build/lib/pyozwweb/app
creating build/lib/pyozwweb/app/socket
copying src-web/pyozwweb/app/socket/chat.py -> build/lib/pyozwweb/app/socket
copying src-web/pyozwweb/app/socket/ozwave.py -> build/lib/pyozwweb/app/socket
copying src-web/pyozwweb/app/socket/__init__.py -> build/lib/pyozwweb/app/socket
creating build/lib/pyozwweb/app/static
creating build/lib/pyozwweb/app/static/css
copying src-web/pyozwweb/app/static/css/main.css -> build/lib/pyozwweb/app/static/css
creating build/lib/pyozwweb/app/static/js
copying src-web/pyozwweb/app/static/js/zwnetwork.js -> build/lib/pyozwweb/app/static/js
creating build/lib/pyozwweb/app/static/includes
creating build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/bootstrap.min.css -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/bootstrap.css -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/bootstrap-theme.css -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/jquery.dataTables.css -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/dataTables.responsive.css -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/bootstrap.css.map -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/bootstrap-theme.css.map -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/dataTables.responsive.scss -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/bootstrap-theme.min.css -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/jquery.dataTables_themeroller.css -> build/lib/pyozwweb/app/static/includes/css
copying src-web/pyozwweb/app/static/includes/css/jquery.dataTables.min.css -> build/lib/pyozwweb/app/static/includes/css
creating build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/cytoscape.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/bootstrap.min.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/bootstrap.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/socket.io-0.9.16.min.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/jquery.dataTables.min.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/jquery-1.11.2.min.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/jquery.dataTables.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/jquery-1.11.2.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/cytoscape.min.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/dataTables.responsive.min.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/jquery.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/dataTables.responsive.js -> build/lib/pyozwweb/app/static/includes/js
copying src-web/pyozwweb/app/static/includes/js/npm.js -> build/lib/pyozwweb/app/static/includes/js
creating build/lib/pyozwweb/app/static/includes/images
copying src-web/pyozwweb/app/static/includes/images/favicon.ico -> build/lib/pyozwweb/app/static/includes/images
copying src-web/pyozwweb/app/static/includes/images/sort_asc.png -> build/lib/pyozwweb/app/static/includes/images
copying src-web/pyozwweb/app/static/includes/images/sort_both.png -> build/lib/pyozwweb/app/static/includes/images
copying src-web/pyozwweb/app/static/includes/images/sort_desc.png -> build/lib/pyozwweb/app/static/includes/images
copying src-web/pyozwweb/app/static/includes/images/sort_asc_disabled.png -> build/lib/pyozwweb/app/static/includes/images
copying src-web/pyozwweb/app/static/includes/images/sort_desc_disabled.png -> build/lib/pyozwweb/app/static/includes/images
copying src-web/pyozwweb/app/static/includes/images/Sorting icons.psd -> build/lib/pyozwweb/app/static/includes/images
creating build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/includes.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/controller.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/scenes.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/debug.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/layout.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/widgets.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/chat.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/home.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/node.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/404.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/map.html -> build/lib/pyozwweb/app/templates
copying src-web/pyozwweb/app/templates/values.html -> build/lib/pyozwweb/app/templates
creating build/bdist.linux-armv7l/egg
creating build/bdist.linux-armv7l/egg/pyozwman
copying build/lib/pyozwman/ozwsh_main.py -> build/bdist.linux-armv7l/egg/pyozwman
copying build/lib/pyozwman/ozwsh_widgets.py -> build/bdist.linux-armv7l/egg/pyozwman
copying build/lib/pyozwman/__init__.py -> build/bdist.linux-armv7l/egg/pyozwman
creating build/bdist.linux-armv7l/egg/pyozwweb
creating build/bdist.linux-armv7l/egg/pyozwweb/app
creating build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/includes.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/controller.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/scenes.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/debug.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/layout.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/widgets.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/chat.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/home.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/node.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/404.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/map.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/templates/values.html -> build/bdist.linux-armv7l/egg/pyozwweb/app/templates
copying build/lib/pyozwweb/app/listener.py -> build/bdist.linux-armv7l/egg/pyozwweb/app
copying build/lib/pyozwweb/app/views.py -> build/bdist.linux-armv7l/egg/pyozwweb/app
creating build/bdist.linux-armv7l/egg/pyozwweb/app/socket
copying build/lib/pyozwweb/app/socket/chat.py -> build/bdist.linux-armv7l/egg/pyozwweb/app/socket
copying build/lib/pyozwweb/app/socket/ozwave.py -> build/bdist.linux-armv7l/egg/pyozwweb/app/socket
copying build/lib/pyozwweb/app/socket/__init__.py -> build/bdist.linux-armv7l/egg/pyozwweb/app/socket
copying build/lib/pyozwweb/app/__init__.py -> build/bdist.linux-armv7l/egg/pyozwweb/app
creating build/bdist.linux-armv7l/egg/pyozwweb/app/static
creating build/bdist.linux-armv7l/egg/pyozwweb/app/static/js
copying build/lib/pyozwweb/app/static/js/zwnetwork.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/js
creating build/bdist.linux-armv7l/egg/pyozwweb/app/static/css
copying build/lib/pyozwweb/app/static/css/main.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/css
creating build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes
creating build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/cytoscape.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/bootstrap.min.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/bootstrap.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/socket.io-0.9.16.min.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/jquery.dataTables.min.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/jquery-1.11.2.min.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/jquery.dataTables.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/jquery-1.11.2.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/cytoscape.min.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/dataTables.responsive.min.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/jquery.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/dataTables.responsive.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
copying build/lib/pyozwweb/app/static/includes/js/npm.js -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/js
creating build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/bootstrap.min.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/bootstrap.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/bootstrap-theme.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/jquery.dataTables.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/dataTables.responsive.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/bootstrap.css.map -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/bootstrap-theme.css.map -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/dataTables.responsive.scss -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/bootstrap-theme.min.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/jquery.dataTables_themeroller.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
copying build/lib/pyozwweb/app/static/includes/css/jquery.dataTables.min.css -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/css
creating build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/images
copying build/lib/pyozwweb/app/static/includes/images/favicon.ico -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/images
copying build/lib/pyozwweb/app/static/includes/images/sort_asc.png -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/images
copying build/lib/pyozwweb/app/static/includes/images/sort_both.png -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/images
copying build/lib/pyozwweb/app/static/includes/images/sort_desc.png -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/images
copying build/lib/pyozwweb/app/static/includes/images/sort_asc_disabled.png -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/images
copying build/lib/pyozwweb/app/static/includes/images/sort_desc_disabled.png -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/images
copying build/lib/pyozwweb/app/static/includes/images/Sorting icons.psd -> build/bdist.linux-armv7l/egg/pyozwweb/app/static/includes/images
copying build/lib/pyozwweb/shell.py -> build/bdist.linux-armv7l/egg/pyozwweb
copying build/lib/pyozwweb/run.py -> build/bdist.linux-armv7l/egg/pyozwweb
copying build/lib/pyozwweb/reload.py -> build/bdist.linux-armv7l/egg/pyozwweb
copying build/lib/pyozwweb/__init__.py -> build/bdist.linux-armv7l/egg/pyozwweb
copying build/lib/pyozwweb/config.py -> build/bdist.linux-armv7l/egg/pyozwweb
creating build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/group.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/value.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/node.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/object.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/command.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/singleton.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/option.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/controller.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/network.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/scene.py -> build/bdist.linux-armv7l/egg/openzwave
copying build/lib/openzwave/__init__.py -> build/bdist.linux-armv7l/egg/openzwave
byte-compiling build/bdist.linux-armv7l/egg/pyozwman/ozwsh_main.py to ozwsh_main.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwman/ozwsh_widgets.py to ozwsh_widgets.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwman/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/app/listener.py to listener.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/app/views.py to views.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/app/socket/chat.py to chat.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/app/socket/ozwave.py to ozwave.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/app/socket/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/app/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/shell.py to shell.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/run.py to run.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/reload.py to reload.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-armv7l/egg/pyozwweb/config.py to config.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/group.py to group.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/value.py to value.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/node.py to node.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/object.py to object.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/command.py to command.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/singleton.py to singleton.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/option.py to option.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/controller.py to controller.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/network.py to network.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/scene.py to scene.pyc
byte-compiling build/bdist.linux-armv7l/egg/openzwave/__init__.py to __init__.pyc
creating build/bdist.linux-armv7l/egg/EGG-INFO
copying src-web/pyozwweb.egg-info/PKG-INFO -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-web/pyozwweb.egg-info/SOURCES.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-web/pyozwweb.egg-info/dependency_links.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-web/pyozwweb.egg-info/not-zip-safe -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-web/pyozwweb.egg-info/requires.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying src-web/pyozwweb.egg-info/top_level.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
creating 'dist/pyozwweb-0.3.1-py2.7.egg' and adding 'build/bdist.linux-armv7l/egg' to it
removing 'build/bdist.linux-armv7l/egg' (and everything under it)
Processing pyozwweb-0.3.1-py2.7.egg
creating /opt/local/lib/python2.7/site-packages/pyozwweb-0.3.1-py2.7.egg
Extracting pyozwweb-0.3.1-py2.7.egg to /opt/local/lib/python2.7/site-packages
Removing pyozwweb 0.3.0b8 from easy-install.pth file
Adding pyozwweb 0.3.1 to easy-install.pth file

Installed /opt/local/lib/python2.7/site-packages/pyozwweb-0.3.1-py2.7.egg
Processing dependencies for pyozwweb==0.3.1
Searching for Flask-Babel==0.9
Reading https://pypi.python.org/simple/Flask-Babel/
Download error on https://pypi.python.org/simple/Flask-Babel/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
Couldn't retrieve index page for 'Flask-Babel'
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
No local packages or download links found for Flask-Babel==0.9
error: Could not find suitable distribution for Requirement.parse('Flask-Babel==0.9')
Makefile:58: recipe for target 'install' failed
make: *** [install] Error 1
[root@root python-openzwave-0.3.1]$
alllexx88 commented 8 years ago

@srirams I know why it doesn't work for me, but without proper build (not install) log I can't tell why it does for you :-) Anyway, I've almost added py-cython package, and py-openzwave will come a bit later

srirams commented 8 years ago

That's the complete build log, I promise :) I think the difference is, I'm running the build from the extracted package (/archive/v0.3.1.tar.gz), whereas you're running the build from the root source.

alllexx88 commented 8 years ago

I'm building from the python-openzwave-0.3.1 dir that comes from extracting https://github.com/OpenZWave/python-openzwave/archive/v0.3.1.tar.gz. Your build log can't be full if using the same archive, since it's missing cloning git://github.com/OpenZWave/open-zwave.git before building it, as well as building the python extension. Anyway, it doesn't matter, I'm now able to cross-compile the python lib using cython, so the package should come soon.

alllexx88 commented 8 years ago

@srirams I've added python-openzwave: both python2.7 and python3 packages:

ipkg update
ipkg install py3-openzwave

It has lib, api and manager parts:

DiskStation> ozwsh-3 -h
Usage: ozwsh [--device=/dev/ttyUSB0] [--log=Debug] ...

Options:
  -h, --help            show this help message and exit
  -d DEVICE, --device=DEVICE
                        The path to your ZWave device
  -l LOG, --log=LOG     The log level (Debug|Info)
  -c CONFIG, --config=CONFIG
                        The config path
  -u USER, --user=USER  The user path

I can't fully test it, beyond the help message, since it fails on start due to missing /dev/ttyUSB0 device, so please report back whether it works.

The web part of the wrapper has many additional dependencies that are currently missing from Optware-ng, so for now we'll do without it.

alllexx88 commented 8 years ago

@srirams I can't fully test it without the actual device, but I did manage to start it:

ozwsh-3 -d /dev/null

This opens a screen of this kind:

openzwave Shell
--------------------------------------------------------------------------------
Path : /
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Help
ls : list directory
cd <directory> : change to directory <directory>
exit : quit the program

--------------------------------------------------------------------------------
Start Network
--------------------------------------------------------------------------------
$

So I assume that it's working, but still waiting for you to confirm this with a proper openzwave device

srirams commented 8 years ago

Very sorry for the delay in getting back to you. I wanted to do a clean install to make sure that my franken-builds weren't interfering (but also need to keep my builds because I've made some changes I need to keep). The file transfer was going very slowly, so I think the easiest option is to use a clean usb drive, which will have to be a weekend-project. In the meantime I've installed the new packages and they seem to work great, but will confirm this weekend with a clean usb and a fresh install.

Thanks, and hopefully updating the packages with new versions will be easy, so I can bug you when a new version of openzwave comes out and it won't be a bother?

alllexx88 commented 8 years ago

@srirams Thanks, waiting for the final test report then. And, of course, it's not a bother, upgrading should be simple unless something changes dramatically.

As for home-assistant, it looks like there're some core dependencies that have to be satisfied before adding it:

These are doable, I think I'll do it sooner or later, but all those components dependencies are way too much work for me alone: https://github.com/home-assistant/home-assistant/blob/dev/requirements_all.txt

srirams commented 8 years ago

@alllexx88 I meant to test this for a week and then forgot to update you. Sorry.

openzwave has been working great! As for home-assistant itself, all that is needed is to install it via pip and it works. home-assistant also uses pip to install dependencies based on the configuration, but there is a conflict because pip has both a prefix and home-assistant adds a target so we get this error:

must supply either home or prefix/exec-prefix -- not both

so modifying home-assistant to not specify a target works. But it is definitely not necessary to add the required dependencies to optware itself I don't think. It'll be too many and a constantly moving target :)

alllexx88 commented 8 years ago

@srirams Thanks for getting back to me after all :smiley:

Great to hear it's working good.

As for home-assistant itself, all that is needed is to install it via pip and it works. home-assistant also uses pip to install dependencies based on the configuration, but there is a conflict because pip has both a prefix and home-assistant adds a target so we get this error

pip is very handy, but there can be conflicts between pip-installed and optware-installed python packages: ipkg won't recognize there's a python package installed already unless it installed it itself, so it can install the same package (maybe, an older version of it) on top the one installed by pip, which can lead to broken requirements. Usually, rerunning pip-2.7 install -r requirements.txt is enough in such cases, so it shouldn't be a problem for advanced users, but do be aware of this.