sedmelluq / lavaplayer

Audio player library for Discord
Apache License 2.0
958 stars 248 forks source link

Feature request: ARM support #16

Open Waester opened 7 years ago

Waester commented 7 years ago

Trying to compile this in an ARM based devices such as Raspberry Pi 3 results in failure, particularly the native libraries in the "natives" folder.

Browsing the source code of build.gradle and natives/build.gradle indicates that it only supports x86 & x86-64 for Linux.

wipedx commented 7 years ago

As a workaround you can go to /usr/lib/aarch64-linux-gnu and copy the libopus.so (or whatever is missing) into the .jar file/source/folder

(I think the Pi3 has arm v8 / 64bit) If not, change the aarch64-linux-gnu folder.

I'm using this (over JDA) for my Discord bot running on a pine64

TimHi commented 6 years ago

I'm running my discord bot on a raspberry pi without problems. You just need to include libconnector.so in "\resources\natives\linux-arm\libconnector.so".

See this for reference.

sedmelluq commented 6 years ago

I have no plans to maintain ARM versions myself. Napster built one for 32-bit ARM lately (in JDA Discord, search for in:lavaplayer arm has:file), which will work until the library is changed.

arne314 commented 3 years ago

As a workaround you can go to /usr/lib/aarch64-linux-gnu and copy the libopus.so (or whatever is missing) into the .jar file/source/folder

(I think the Pi3 has arm v8 / 64bit) If not, change the aarch64-linux-gnu folder.

I'm using this (over JDA) for my Discord bot running on a pine64

I ran into the same problem and I don't know exactly what you mean. Could you please explain your way of solving it a bit more precise so that I can get it working? I'm running a Raspberry Pi 4.

wipedx commented 3 years ago

As a workaround you can go to /usr/lib/aarch64-linux-gnu and copy the libopus.so (or whatever is missing) into the .jar file/source/folder (I think the Pi3 has arm v8 / 64bit) If not, change the aarch64-linux-gnu folder. I'm using this (over JDA) for my Discord bot running on a pine64

I ran into the same problem and I don't know exactly what you mean. Could you please explain your way of solving it a bit more precise so that I can get it working? I'm running a Raspberry Pi 4.

I'm not sure excalty anymore since this was 3 years ago. But the gist of it is to take the library files from your OS and I believe put them into the jar file? Jar files are basically zip files so you can open them with your favorite compression program and just place the file where it needs to be. I hope this clarifies it a little :)

arne314 commented 3 years ago

Ok, thanks for your answer 😃

DarknessOmbrage commented 3 years ago

I'm running my discord bot on a raspberry pi without problems. You just need to include libconnector.so in "\resources\natives\linux-arm\libconnector.so".

See this for reference.

This comment is functional, I just had to retrieve the natives in the jar of its link and add it to the natives of my bot. Now it runs without raising and lowering volume on my Raspberry Pi 4, so very thanks TimHi

zeyus commented 3 years ago

This is a hack, but I have generated a rpi arm libconnector.so if you want to get this running on the raspberry pi: https://github.com/zeyus/ukulele/tree/master/src/main/resources/natives/linux-arm

In addition I made a fork of the lavaplayer-natives which I used to generate the library https://github.com/zeyus/lavaplayer-natives

LynBean commented 2 years ago

My RPi linux-aarch64 libconnector.so got it from here, this repo also provided other versions too https://github.com/aikaterna/lavaplayer-natives

thedtvn commented 2 years ago

My RPi linux-aarch64 libconnector.so got it from here, this repo also provided other versions too https://github.com/aikaterna/lavaplayer-natives

how to use libconnector.so ?

Zazsona commented 2 years ago

how to use libconnector.so ?

As per TimHi's post above:

You just need to include libconnector.so in "\resources\natives\linux-arm\libconnector.so".

Change "linux-arm" to whichever platform you're targeting and add the corresponding libconnector file from the lavaplayer-natives repo. Then you've just got to build your application, and everything should slot into place!