KeckObservatory / RemoteObserving

Client side software for remote observing at W. M. Keck Observatory.
https://www2.keck.hawaii.edu/realpublic/inst/mainland_observing/
BSD 2-Clause "Simplified" License
24 stars 4 forks source link

Soundplay issue with M1 Mac #95

Closed caridlin closed 1 year ago

caridlin commented 2 years ago

Hi Keck Remote Observing Development Team,

I'm having soundplay issues with my M1 Macbook. The error message basically says 'invalid soundplay binary name: soundplay.darwin.x86_64'. My suspicion is that it's not compatible with the arm86 architecture of the M1 Mac.

Thanks and below is the full log:

./start_keck_viewers kcwi6 INFO: Python 3.9.2 | packaged by conda-forge | (default, Feb 21 2021, 05:00:30) [Clang 11.0.1 ] INFO: Remote Observing Software Version = 2.0.1 WARNING: Unable to verify remote version INFO: Using config file: local_config.yaml INFO: Checking whether firewall is open INFO: firewall is open INFO: Validating ssh key... INFO: SSH key OK INFO: Determining VNC server for 'kcwi6' (via API) INFO: Got VNC server: 'kcwi' INFO: Opening VNCviewer for 'control0' INFO: Opening SSH tunnel for kvnc@kcwi.keck.hawaii.edu:5925 on local port 5901. INFO: Opening VNCviewer for 'control1' INFO: Opening SSH tunnel for kvnc@kcwi.keck.hawaii.edu:5926 on local port 5902. INFO: Opening VNCviewer for 'control2' INFO: Opening SSH tunnel for kvnc@kcwi.keck.hawaii.edu:5927 on local port 5903. INFO: Opening VNCviewer for 'telstatus' INFO: Opening SSH tunnel for kvnc@kcwi.keck.hawaii.edu:5928 on local port 5904. INFO: Opening SSH tunnel for kvnc@kcwi.keck.hawaii.edu:9798 on local port 5905. INFO: Starting soundplayer: server=localhost, instrument=kcwi ERROR: Could not start soundplayer ERROR: invalid soundplay binary name: soundplay.darwin.x86_64

joshwalawender commented 2 years ago

@caridlin This configuration should work. The M1 based Macs automatically handle the x86_64 binaries. Can you send me the full log file (located in the logs/ subdirectory)? I suspect something in your configuration is causing it to fail to find the correct set of binaries.

bpholden commented 2 years ago

@joshwalawender - based on reading the soundplay.py file, it looks like the soundplay executable name is determined from the architecture of the machine if no file is provided. @caridlin - as Josh says, the M1 is supposed to be binary compatible. The simplest solution maybe to copy the old file that says x86 to the new arm file name. The nice thing is you can test this by JUST running soundplay.py, you do not need to run all of the VNC software.

joshwalawender commented 1 year ago

Solution in #102 .

Summary: