Just a note about the Spotty plugin for LMS if you are using my
packages. Alpine uses musl libc, not glibc like most other distros use
so generally, software should be built against musl to run on Alpine.
There are ways around it, 'which you can read about here'
(https://wiki.alpinelinux.org/wiki/Running_glibc_programs) but again
generally, it's "best" to to compile the software from source for the
target environment.

The Spotty plugin includes helper binaries for different architectures:


Code:
--------------------
    
  InstalledPlugins/Plugins/Spotty/Bin/i386-linux/spotty-x86_64
  InstalledPlugins/Plugins/Spotty/Bin/i386-linux/spotty
  InstalledPlugins/Plugins/Spotty/Bin/arm-linux/spotty-hf
  InstalledPlugins/Plugins/Spotty/Bin/darwin-thread-multi-2level/spotty
  InstalledPlugins/Plugins/Spotty/Bin/MSWin32-x86-multi-thread/spotty.exe
  InstalledPlugins/Plugins/Spotty/Bin/aarch64-linux/spotty
  
--------------------


The i386-linux binaries are statically linked so those work out of the
box on Alpine:


Code:
--------------------
    
  server:/var/opt/lms/cache/InstalledPlugins/Plugins/Spotty/Bin$ file 
i386-linux/spotty
  i386-linux/spotty: ELF 32-bit LSB executable, Intel 80386, version 1 
(GNU/Linux), statically linked, 
BuildID[sha1]=5e320001d63c07a82ee333379eea2b77b829b31f, stripped
  
  server:/var/opt/lms/cache/InstalledPlugins/Plugins/Spotty/Bin$ file 
i386-linux/spotty-x86_64 
  i386-linux/spotty-x86_64: ELF 64-bit LSB executable, x86-64, version 1 
(SYSV), statically linked, 
BuildID[sha1]=ffcc50d53d957922dbb94a29dd3192e623962fe4, stripped
  
--------------------


The issue I had was trying to run LMS with my car project which uses an
armv7 cpu. The arm binaries included with Spotty are dynamically linked
and won't run on Alpine as-is:


Code:
--------------------
    
  server:/var/opt/lms/cache/InstalledPlugins/Plugins/Spotty/Bin$ file 
arm-linux/spotty-hf 
  arm-linux/spotty-hf: ELF 32-bit LSB shared object, ARM, EABI5 version 1 
(SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 
2.6.26, BuildID[sha1]=65f83e7aa10c3accfc378452d474253bc19bbb4e, stripped
  
  server:/var/opt/lms/cache/InstalledPlugins/Plugins/Spotty/Bin$ file 
aarch64-linux/spotty 
  aarch64-linux/spotty: ELF 64-bit LSB pie executable, ARM aarch64, version 1 
(SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for 
GNU/Linux 3.7.0, BuildID[sha1]=c295a41b3d01fa8389286e32e342deed7dd8efe0, 
stripped
  
--------------------


The Spotty plugin looks for and uses a helper binary named
"spotty-custom" so that end users can build their own with that name and
the plugin will find it automatically. So long story long, that's what I
ended up doing, building the spotty helpers natively on Alpine for
armv7, aarch64, x86, and x86_64. I didn't really need to do x86 and
x86_64 since the statically linked ones included with the plugin work,
but I was testing on x86_64 so I just built them both anyway.

If you want to use the Alpine spotty helpers, make sure you have my repo
added and:


Code:
--------------------
    
  # apk update
  # apk add spotty
  # rc-service lms restart
  
--------------------


In the spotty plugin settings, you should see /usr/bin/spotty-custom
automatically selected:


+-------------------------------------------------------------------+
|Filename: Screenshot 2022-10-08 at 09-10-09 Server Settings.png    |
|Download: http://forums.slimdevices.com/attachment.php?attachmentid=38848|
+-------------------------------------------------------------------+

------------------------------------------------------------------------
sodface's Profile: http://forums.slimdevices.com/member.php?userid=19057
View this thread: http://forums.slimdevices.com/showthread.php?t=112276

_______________________________________________
unix mailing list
unix@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/unix

Reply via email to