Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failing to compile ohPlayer 1.32 with Linux-armhf #28

Open
Dual01 opened this issue Oct 9, 2021 · 5 comments
Open

Failing to compile ohPlayer 1.32 with Linux-armhf #28

Dual01 opened this issue Oct 9, 2021 · 5 comments

Comments

@Dual01
Copy link

Dual01 commented Oct 9, 2021

When I compile ohplayer 1.32 on an RPI, I get the several errors:

make -f Makefile.raspbian
make[1]: Entering directory '/home/dietpi/ohPlayer/linux'
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c ConfigGTKKeyStore.cpp -o raspbian/objs/ConfigGTKKeyStore.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c RamStore.cpp -o raspbian/objs/RamStore.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c Libav.cpp -o raspbian/objs/Libav.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c Volume.cpp -o raspbian/objs/Volume.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c ExampleMediaPlayer.cpp -o raspbian/objs/ExampleMediaPlayer.o
In file included from ExampleMediaPlayer.cpp:25:
ExampleMediaPlayer.h: In function ‘OpenHome::TBool OpenHome::Av::CompareIPv6Addrs(TIpAddress, TIpAddress)’:
ExampleMediaPlayer.h:55:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
&& memcmp((TByte*)addr1.iV6[0], (TByte*)addr2.iV6[0], 16) == 0;
^
ExampleMediaPlayer.h:55:60: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
&& memcmp((TByte*)addr1.iV6[0], (TByte*)addr2.iV6[0], 16) == 0;
^
ExampleMediaPlayer.cpp: In member function ‘void OpenHome::Av::ExampleMediaPlayer::RegisterPlugins(OpenHome::Environment&)’:
ExampleMediaPlayer.cpp:331:58: error: no matching function for call to ‘OpenHome::Media::ProtocolFactory::NewTidal(OpenHome::Environment&, OpenHome::Brn, OpenHome::Av::MediaPlayer&)’
iMediaPlayer));
^
In file included from ExampleMediaPlayer.cpp:6:
../dependencies/Linux-armhf/ohMediaPlayer/include/OpenHome/Media/Protocol/ProtocolFactory.h:39:22: note: candidate: ‘static OpenHome::Media::Protocol
OpenHome::Media::ProtocolFactory::NewTidal(OpenHome::Environment&, OpenHome::SslContext&, const OpenHome::Brx&, const OpenHome::Brx&, const OpenHome::Brx&, std::vectorOpenHome::OAuthAppDetails&, OpenHome::Av::IMediaPlayer&)’
static Protocol* NewTidal(Environment& aEnv, SslContext& aSsl, const Brx& aPartnerId, const Brx& aClientId, const Brx& aClientSecret, std::vector& aAppDetails, Av::IMediaPlayer& aMediaPlayer);
^~~~~~~~
../dependencies/Linux-armhf/ohMediaPlayer/include/OpenHome/Media/Protocol/ProtocolFactory.h:39:22: note: candidate expects 7 arguments, 3 provided
make[1]: *** [Makefile.raspbian:115: raspbian/objs/ExampleMediaPlayer.o] Error 1
make[1]: Leaving directory '/home/dietpi/ohPlayer/linux'
make: *** [Makefile:28: raspbian] Error 2

Any help would be greatly appreciated.
Best regards
Dieter

@jchassin
Copy link

jchassin commented Feb 6, 2022

Hi, I would have a look at ohPipeline/OpenHome/Av/Tests/TestMediaPlayer.cpp to see how is invoked ProtocolFactory::NewTidal

@Dual01
Copy link
Author

Dual01 commented Feb 12, 2022

Thanks for this valuable hint. However, my programming skills in C++ are too low in order to get this implemented.
Any help is appreciated.
Dieter

@jchassin
Copy link

ok noted, i'll check next week

@jchassin
Copy link

Hi, I've checked and were able to build with Tidal adapting Exemple.cpp but now I have an issue to connect to Tidal
As ProtocolFactory::NewTidal arguments changed I have some difficulties to understand the signification of the arguments, do some have some informations to share regarding :
appClientId, appClientSecret, apps,

@Dual01
Copy link
Author

Dual01 commented Feb 19, 2022

This is what I found: This seems to be related to the Tidal OAUTH2 login procedure. The client /secret combination allows the app to access the tidal web service (homepage) where the user can enter his login data. The client id and secret combination has nothing to do with the users TIDAL account. I found "It is the authorization to use a specific REST API to access the TIDAL Web services (for instance: user login, get list of new tracks, get list of own playlists, get a stream URL to play a track/video, and so on)". There are many different id/secret combinations for the TIDAL API because there are a lot of devices which are able to play TIDAL music. The API is documented here: https://github.com/Fokka-Engineering/TIDAL/wiki.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants