Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Compiling ohSongcast
20-05-2014, 12:53 PM
Post: #11
RE: Compiling ohSongcast
The ohSongcast repo should build again now.

Note that I've temporarily removed the dependency on NetworkMonitor. This won't affect you if you just want to use WavSender.
Find all posts by this user
20-05-2014, 06:51 PM
Post: #12
RE: Compiling ohSongcast
(20-05-2014 09:31 AM)simonc Wrote:  It looks like the ohSongcast build has rotted. I'll try to have a look at it later today.

Thanks Simon, that worked...
Find all posts by this user
28-05-2014, 10:49 AM
Post: #13
RE: Compiling ohSongcast
Hello Simon, I have managed to build ohSoncast on a Raspberry pi but not on my Linux-x86 pc. I get(with -Werror removed)
mkdir -p Build/Obj/Posix/Debug/
gcc -fPIC -o Build/Obj/Posix/Debug/ReceiverManager1.o -c -fexceptions -Wall -pipe -D_GNU_SOURCE -D_REENTRANT -DDEFINE_LITTLE_ENDIAN -DDEFINE_TRACE -g -O0 -fvisibility=hidden -DDllImport="__attribute__ ((visibility(\"default\")))" -DDllExport="__attribute__ ((visibility(\"default\")))" -DDllExportClass="__attribute__ ((visibility(\"default\")))" -Wno-psabi -I../ohNet/Build/Include/ -I../ohTopology/build/Include/ ohSongcast/ReceiverManager1.cpp
gcc -fPIC -o Build/Obj/Posix/Debug/ReceiverManager2.o -c -fexceptions -Wall -pipe -D_GNU_SOURCE -D_REENTRANT -DDEFINE_LITTLE_ENDIAN -DDEFINE_TRACE -g -O0 -fvisibility=hidden -DDllImport="__attribute__ ((visibility(\"default\")))" -DDllExport="__attribute__ ((visibility(\"default\")))" -DDllExportClass="__attribute__ ((visibility(\"default\")))" -Wno-psabi -I../ohNet/Build/Include/ -I../ohTopology/build/Include/ ohSongcast/ReceiverManager2.cpp
ohSongcast/ReceiverManager2.cpp: In destructor ‘OpenHome::Av::ReceiverManager2::~ReceiverManager2()’:
ohSongcast/ReceiverManager2.cpp:446:23: warning: deleting object of polymorphic class type ‘OpenHome::Av::ReceiverManager2Job’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete (iFree.Read());
^
gcc -fPIC -o Build/Obj/Posix/Debug/ReceiverManager3.o -c -fexceptions -Wall -pipe -D_GNU_SOURCE -D_REENTRANT -DDEFINE_LITTLE_ENDIAN -DDEFINE_TRACE -g -O0 -fvisibility=hidden -DDllImport="__attribute__ ((visibility(\"default\")))" -DDllExport="__attribute__ ((visibility(\"default\")))" -DDllExportClass="__attribute__ ((visibility(\"default\")))" -Wno-psabi -I../ohNet/Build/Include/ -I../ohTopology/build/Include/ ohSongcast/ReceiverManager3.cpp
ohSongcast/ReceiverManager3.cpp: In destructor ‘OpenHome::Av::ReceiverManager3::~ReceiverManager3()’:
ohSongcast/ReceiverManager3.cpp:283:26: warning: deleting object of polymorphic class type ‘OpenHome::Av::ReceiverManager2’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete (iReceiverManager);
^
gcc -fPIC -o Build/Obj/Posix/Debug/TestReceiverManager1.o -c -fexceptions -Wall -pipe -D_GNU_SOURCE -D_REENTRANT -DDEFINE_LITTLE_ENDIAN -DDEFINE_TRACE -g -O0 -fvisibility=hidden -DDllImport="__attribute__ ((visibility(\"default\")))" -DDllExport="__attribute__ ((visibility(\"default\")))" -DDllExportClass="__attribute__ ((visibility(\"default\")))" -Wno-psabi -I../ohNet/Build/Include/ -I../ohTopology/build/Include/ ohSongcast/TestReceiverManager1.cpp
ohSongcast/TestReceiverManager1.cpp: In function ‘int main(int, char**)’:
ohSongcast/TestReceiverManager1.cpp:187:16: warning: deleting object of polymorphic class type ‘OpenHome::Av::ReceiverManager1Logger’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete (logger);
^
g++ -lpthread -o Build/Obj/Posix/Debug/TestReceiverManager1.elf Build/Obj/Posix/Debug/TestReceiverManager1.o ../ohNet/Build/Obj/Posix/Debug/CpAvOpenhomeOrgProduct1.o ../ohNet/Build/Obj/Posix/Debug/CpAvOpenhomeOrgVolume1.o ../ohNet/Build/Obj/Posix/Debug/CpAvOpenhomeOrgReceiver1.o Build/Obj/Posix/Debug/ReceiverManager1.o Build/Obj/Posix/Debug/ReceiverManager2.o Build/Obj/Posix/Debug/ReceiverManager3.o ../ohTopology/build/libohTopology.a ../ohNet/Build/Obj/Posix/Debug/libohNetCore.a ../ohNet/Build/Obj/Posix/Debug/libTestFramework.a
../ohNet/Build/Obj/Posix/Debug/libohNetCore.a(Os.o): In function `OsCreate':
/home/paulw/ohNet/Os/Posix/Os.c:86: undefined reference to `pthread_key_create'
../ohNet/Build/Obj/Posix/Debug/libohNetCore.a(Os.o): In function `OsDestroy':
/home/paulw/ohNet/Os/Posix/Os.c:99: undefined reference to `pthread_key_delete'
../ohNet/Build/Obj/Posix/Debug/libohNetCore.a(Os.o): In function `OsMutexCreate':
/home/paulw/ohNet/Os/Posix/Os.c:412: undefined reference to `pthread_mutexattr_init'
/home/paulw/ohNet/Os/Posix/Os.c:413: undefined reference to `pthread_mutexattr_settype'
../ohNet/Build/Obj/Posix/Debug/libohNetCore.a(Os.o): In function `threadEntrypoint':
/home/paulw/ohNet/Os/Posix/Os.c:511: undefined reference to `pthread_setspecific'
../ohNet/Build/Obj/Posix/Debug/libohNetCore.a(Os.o): In function `DoThreadCreate':
/home/paulw/ohNet/Os/Posix/Os.c:532: undefined reference to `pthread_attr_setstacksize'
/home/paulw/ohNet/Os/Posix/Os.c:537: undefined reference to `pthread_create'
../ohNet/Build/Obj/Posix/Debug/libohNetCore.a(Os.o): In function `OsThreadTls':
/home/paulw/ohNet/Os/Posix/Os.c:553: undefined reference to `pthread_getspecific'
../ohNet/Build/Obj/Posix/Debug/libohNetCore.a(Os.o): In function `ThreadJoin':
/home/paulw/ohNet/Os/Posix/Os.c:1283: undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status
make: *** [Build/Obj/Posix/Debug/TestReceiverManager1.elf] Error 1

gcc version 4.8.2
Any ideas?
Thanks Paul
Find all posts by this user
28-05-2014, 12:59 PM
Post: #14
RE: Compiling ohSongcast
(28-05-2014 10:49 AM)paulw Wrote:  Hello Simon, I have managed to build ohSoncast on a Raspberry pi but not on my Linux-x86 pc.

I've committed fixes to all the warnings (which were all caused by recent versions of gcc flagging the lack of virtual destructor as suspect).

I can't reproduce the linker errors using gcc v4.7. They all concern functions that should exist in libpthread. ohSongcast tries to link to this (see the definition of link in Makefile). You could try editing this to use -pthread instead or editing Common.mak to add -pthread at the end of the command line instead.
Find all posts by this user
28-05-2014, 04:34 PM
Post: #15
RE: Compiling ohSongcast
Hi Simon thanks. I started everything from scratch and now (with the pthread amendment) it goes as far as
ohSongcast/Songcast.cs
ohSongcast/Songcast.cs(320,22): warning CS0219: The variable `address' is assigned but its value is never used
Compilation succeeded - 1 warning(s)
dmcs /nologo /target:exe /debug+ \
/out:Build/Obj/Posix/Debug/TestSongcastCs.elf \
/reference:System.dll \
/reference:System.Net.dll \
/reference:Build/Obj/Posix/Debug/ohSongcast.net.dll \
ohSongcast/TestSongcastCs.cs
error CS0006: Metadata file `System.Net.dll' could not be found
Compilation failed: 1 error(s), 0 warnings
make: *** [Build/Obj/Posix/Debug/TestSongcastCs.elf] Error 1

Executables such as WavSender are built but do not work at the moment.

The whole process I followed from this thread and the README's
is :-
git clone https://github.com/openhome/ohNet.git
git clone https://github.com/openhome/ohdevtools.git
git clone https://github.com/openhome/ohNetmon.git
git clone https://github.com/openhome/ohTopologygit
cd ohNet
make all debug=1
cd ../ohNetmon
./go fetch --debug ohNet
./go fetch --debug ohWafHelpers
./waf configure --ohnet=../ohNet --debug
./waf build
cd ../ohTopology
./go fetch --debug ohNet
./go fetch --debug ohWafHelpers
./waf configure --ohnet=../ohNet --debug --dest-platform=Linux-x86
./waf build
cd ../ohSongcast
make
is this correct?
Thanks Paul
Find all posts by this user
28-05-2014, 05:08 PM
Post: #16
RE: Compiling ohSongcast
(28-05-2014 04:34 PM)paulw Wrote:  Hi Simon thanks. I started everything from scratch and now (with the pthread amendment) it goes as far as
ohSongcast/Songcast.cs
ohSongcast/Songcast.cs(320,22): warning CS0219: The variable `address' is assigned but its value is never used
Compilation succeeded - 1 warning(s)
dmcs /nologo /target:exe /debug+ \
/out:Build/Obj/Posix/Debug/TestSongcastCs.elf \
/reference:System.dll \
/reference:System.Net.dll \
/reference:Build/Obj/Posix/Debug/ohSongcast.net.dll \
ohSongcast/TestSongcastCs.cs
error CS0006: Metadata file `System.Net.dll' could not be found
Compilation failed: 1 error(s), 0 warnings
make: *** [Build/Obj/Posix/Debug/TestSongcastCs.elf] Error 1

ohSongcast contains a mixture of C++ and C# code. The build failure is from a C# exe. You'll need to have mono installed to build this on Linux.

If you want to proceed without mono, you could be more specific about what to build. e.g.

make WavSender

to build WavSender.elf and its dependencies only.

(28-05-2014 04:34 PM)paulw Wrote:  Executables such as WavSender are built but do not work at the moment.

The whole process I followed from this thread and the README's
is :-
[snip]
is this correct?
Thanks Paul

Yes, that looks spot on. What happens when you try to run WavSender?
Find all posts by this user
28-05-2014, 06:12 PM
Post: #17
RE: Compiling ohSongcast
Simon , I have mono installed. I built WavSender and ZoneWatcher separately. They both seem to work but I got no sound from my DS which kept disappearing from kinsky.
Find all posts by this user
28-05-2014, 08:24 PM
Post: #18
RE: Compiling ohSongcast
Simon, you were right. I found mono-complete which added some more packages. Now it compiles. Thanks
Find all posts by this user
28-05-2014, 09:35 PM
Post: #19
RE: Compiling ohSongcast
(28-05-2014 06:12 PM)paulw Wrote:  Simon , I have mono installed. I built WavSender and ZoneWatcher separately. They both seem to work but I got no sound from my DS which kept disappearing from kinsky.

When the DS disappears from Kinsky, does it's front panel go blank then show a single flashing dot for a few seconds? If it does, the DS has crashed and is rebooting. This would point to a bug in WavSender.

Let me know if this is the case and I'll try to reproduce/debug it.
Find all posts by this user
29-05-2014, 10:44 AM
Post: #20
RE: Compiling ohSongcast
No the DS does not reboot. No sound as yet, will keep working on it. BTW it took a long time for the Linux-x86 to show up as a songcast source - any hints as to why this may be?
Find all posts by this user


Forum Jump: