squeeze2raop not found on FreeBSD
Closed this issue ยท 8 comments
Hi,
I've did a LMS installation on FreeBSD for testing purpose. I've installed LMS dependencies from pkg repository and LMS from ports:
# uname -a
FreeBSD freebsd.example.org 13.2-RELEASE-p4 FreeBSD 13.2-RELEASE-p4 GENERIC amd64
Logitech Media Server Version: 8.3.1 - TRUNK @ UNKNOWN
Server starts fine and I've installed Airplay Bridge v1.4.3.
The configuration dialog only shows:
On my Linux servers I can chose between squeeze2raop-linux-x86_64
and squeeze2raop-linux-x86_64-static
. Therefore I've checked the plugin dir:
root in freebsd in /var/db/logitechmediaserver/cache/InstalledPlugins/Plugins/RaopBridge/Bin
# ll
total 119300
-rw-r--r-- 1 slimserv slimserv 1.1K Nov 28 15:47 config.xml
-rw-r--r-- 1 slimserv slimserv 2.3M Oct 9 2022 libcrypto-1_1.dll
-rw-r--r-- 1 slimserv slimserv 701K Oct 9 2022 libssl-1_1.dll
-rw-r--r-- 1 slimserv slimserv 1.8M Nov 27 19:03 squeeze2raop-freebsd-x86_64
-rw-r--r-- 1 slimserv slimserv 6.1M Nov 27 19:03 squeeze2raop-freebsd-x86_64-static
-rw-r--r-- 1 slimserv slimserv 1.7M Nov 27 19:02 squeeze2raop-linux-aarch64
-rw-r--r-- 1 slimserv slimserv 5.6M Nov 27 19:02 squeeze2raop-linux-aarch64-static
-rw-r--r-- 1 slimserv slimserv 1.1M Nov 27 19:02 squeeze2raop-linux-arm
-rw-r--r-- 1 slimserv slimserv 4.9M Nov 27 19:02 squeeze2raop-linux-arm-static
-rw-r--r-- 1 slimserv slimserv 1.6M Nov 27 19:03 squeeze2raop-linux-armv5
-rw-r--r-- 1 slimserv slimserv 5.5M Nov 27 19:03 squeeze2raop-linux-armv5-static
-rw-r--r-- 1 slimserv slimserv 1.5M Nov 27 19:03 squeeze2raop-linux-armv6
-rw-r--r-- 1 slimserv slimserv 5.5M Nov 27 19:03 squeeze2raop-linux-armv6-static
-rw-r--r-- 1 slimserv slimserv 1.8M Nov 27 19:02 squeeze2raop-linux-mips
-rw-r--r-- 1 slimserv slimserv 6.9M Nov 27 19:02 squeeze2raop-linux-mips-static
-rw-r--r-- 1 slimserv slimserv 1.8M Nov 27 19:03 squeeze2raop-linux-powerpc
-rw-r--r-- 1 slimserv slimserv 6.3M Nov 27 19:03 squeeze2raop-linux-powerpc-static
-rw-r--r-- 1 slimserv slimserv 1.7M Nov 27 19:02 squeeze2raop-linux-sparc64
-rw-r--r-- 1 slimserv slimserv 5.9M Nov 27 19:02 squeeze2raop-linux-sparc64-static
-rw-r--r-- 1 slimserv slimserv 1.6M Nov 27 19:02 squeeze2raop-linux-x86
-rw-r--r-- 1 slimserv slimserv 5.2M Nov 27 19:02 squeeze2raop-linux-x86-static
-rw-r--r-- 1 slimserv slimserv 1.8M Nov 27 19:02 squeeze2raop-linux-x86_64
-rw-r--r-- 1 slimserv slimserv 6.5M Nov 27 19:02 squeeze2raop-linux-x86_64-static
-rw-r--r-- 1 slimserv slimserv 3.8M Nov 27 19:03 squeeze2raop-macos
-rw-r--r-- 1 slimserv slimserv 1.6M Nov 27 19:03 squeeze2raop-macos-arm64
-rw-r--r-- 1 slimserv slimserv 4.8M Nov 27 19:03 squeeze2raop-macos-arm64-static
-rw-r--r-- 1 slimserv slimserv 10M Nov 27 19:03 squeeze2raop-macos-static
-rw-r--r-- 1 slimserv slimserv 2.2M Nov 27 19:03 squeeze2raop-macos-x86_64
-rw-r--r-- 1 slimserv slimserv 5.6M Nov 27 19:03 squeeze2raop-macos-x86_64-static
-rw-r--r-- 1 slimserv slimserv 1.8M Nov 27 19:03 squeeze2raop-solaris-x86_64
-rw-r--r-- 1 slimserv slimserv 4.9M Nov 27 19:03 squeeze2raop-solaris-x86_64-static
-rw-r--r-- 1 slimserv slimserv 1.2M Nov 27 19:03 squeeze2raop-static.exe
-rw-r--r-- 1 slimserv slimserv 1.2M Nov 27 19:03 squeeze2raop.exe
I'v tried to mak the FreeBSD binaries executable: # chmod +x squeeze2raop-freebsd-x86_64 squeeze2raop-freebsd-x86_64-static
but still no luck.
Therefore I wonder if there is a bug? There obviously is some criteria what is shown in the dropdown list for the Binary. Maybe it's wrong for FreeBSD?
What options are you given in the dialog box of the plugin's settings where you select the helper binary?
Huh... that does not make sense. Can you tell me what LMS evaluates for system name, version (detailed) and Perl version ... (in settings, tab information I think).
This one:
Logitech Media Server Status
Logitech Media Server Version: 8.3.1 - TRUNK @ UNKNOWN
Hostname: freebsd.example.org
Server IP Address: 10.x.y.z
Server HTTP Port Number: 9000
Operating system: FreeBSD - EN - utf8
Platform Architecture: amd64-freebsd
Perl Version: 5.34.2 - amd64-freebsd-thread-multi
Audio::Scan: 1.06
IO::Socket::SSL: 2.083
Database Version: DBD::SQLite 1.58 (sqlite 3.22.0)
Total Players Recognized: 0
Folders
Cache Folder
/var/db/logitechmediaserver/cache
Preferences Folder
/var/db/logitechmediaserver/prefs
Plugin Folders
/usr/local/lib/perl5/site_perl, /usr/local/share/logitechmediaserver/Plugins, /var/db/logitechmediaserver/cache/InstalledPlugins/Plugins
Helper Applications Folder
/usr/local/share/logitechmediaserver/Bin, /sbin, /bin, /usr/sbin, /usr/bin, /usr/local/bin, /usr/libexec, /usr/local/libexec, /var/db/logitechmediaserver/cache/InstalledPlugins/Plugins/RaopBridge/Bin
Can you edit the file squeeze2raop.pm in cache/InstalledPlugins/Plugins/RaopBridge and change line 54
if ($os->{'osName'} =~ /freebsd/) {
with
if ($os->{'osName'} =~ /freebsd/i) {
To see if it makes a change. The cache directory might be under /var/lib/squeezeboxserver but I'm not sure
Ok - found it. Either I got the name wrong in the past or there is change if you run it in a NAS vs native but anyway, it would not find the helper. I've uploaded a new version. Had to install a FreeBSD VM and all the jazz of LMS 3rd party compile ๐
Yes, it works now ๐
Site note: Yesterday evening I'va also tried to manually install LMS on the same FreeBSD VM. I've used the Unix package (http://downloads.slimdevices.com/nightly/8.3/lms/2b19c834c9e5654326a573ca4190274791c4b058/logitechmediaserver-8.3.2-1699864324.tgz
) and I've run the CPAN buildme.sh from slimserver-vendor, just like done in the FreeBSD port of LMS.
The result is following version:
Logitech Media Server Version: 8.3.2 - 1699864324 @ Mon 13 Nov 2023 09:59:27 AM CET
Hostname: freebsd.example.org
Server IP Address: 10.x.y.z
Server HTTP Port Number: 9000
Operating system: freebsd - EN - utf8
Platform Architecture: amd64-freebsd
Perl Version: 5.34.2 - amd64-freebsd-thread-multi
Audio::Scan: 1.06
IO::Socket::SSL: 2.083
Database Version: DBD::SQLite 1.58 (sqlite 3.22.0)
Total Players Recognized: 0
On this LMS version the 1.4.3 plugin works. So apparantly Slim::Utils::OSDetect::details
gives different results in these two LMS versions.
It seems that it can be either
- 'os' = 'Unix'
- 'osname' = 'freebsd'
or
- 'os' = 'FreeBSD'
- 'osname' (we don't care)
Well, it can't find libstdc++.so.6, there seem to be no libstdc++ (huh?) but the static version works.
[edit]: well, forgot that llvm is by default on FreeBSD but I use gcc, so needed to install it to have the libraries added. Both static and non-static work now