ONVIF for Linux – 2
I was going to build the onvifdm libraries on Fedora and then build a small sample application to test my ip camera.
First I downloaded the source code from the onvifdm project on Sourceforge:
svn checkout svn://svn.code.sf.net/p/onvifdm/code/trunk onvifdm
I tried to build on Fedora so I got the necessary mono compilers. Directions by the F# Software Foundation were not immediately applicable to Fedora and Fedora 20 did not pack the necessary versions (>= 3.0).
In the end I downloaded the source version 3.4.0 for the mono C# compiler from The Mono Project and built the sources
su yum install libgdiplus-devel tar -xjf mono-3.4.0.tar.bz2 cd mono-3.4.0 ./autogen.sh --prefix=/usr/local/ make make install
The install would not work until I manually added the file Microsoft.Portable.Common.targets from the github to the local source tree.
Then I built the F# compiler using instructions by Adrian.
su git clone https://github.com/fsharp/fsharp cd fsharp ./autogen.sh --prefix=/usr/local/ make make install
The F# build was – thankfully – uneventful.
Very nice about the mono project is a build utility xbuild that claims to be able to build MS Visual project files (.sln files). And just such a file (odm.sln) was provided by the onvifdm project sources.
cd onvifdm xbuild odm.sln
That gave me 613 errors. I suspected mostly references to unknown libraries (“assemblies” in #-speech).
I think I will have to manipulate the sln-file and throw out all UI stuff. The idea is to only build the kernel onvif libraries and call them from some native linux app.
I will keep you posted.
Best of luck with your endevours. I have been tearing my hair out trying to get Zoneminder to work with a Chinese camera I bought off Aliexpress. Not a cheap one either, it cost nearly $200, but documentation is totally non existent, and seller is useless I’m afraid. So for now I’m stuck with a bit of lemon until somebody like you can get a tool like this integrated into Zoneminder. I have Zoneminder operating on an ubuntu 16.04 server, and that’s all just fine, just cannot get a camera to work..