blaise-io / acelink

Play Ace Streams on macOS using Docker.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to run Ace Link on Apple M1

ikhurramraza opened this issue · comments

Describe the bug

Unable to run Ace Link

What I expected to happen

Ace Link to run

Additional debug info

System info:

MacBook Pro M1
Docker installed
VLC installed
Ace Link installed (using Homebrew)

Here's the out put of docker logs acelink--ace-stream-server

2021-06-01 20:05:53,586|MainThread|acestream|init segmenter failed
Traceback (most recent call last):
  File "core.c", line 333, in
ImportError: cannot import name pysegmenter
2021-06-01 20:05:53,588|MainThread|acestream|platform=linux
2021-06-01 20:05:53,591|MainThread|acestream|app=acestream
2021-06-01 20:05:53,591|MainThread|acestream|version=3.1.49 code=3014900 revision=365f84f date=2019-07-11
2021-06-01 20:05:53,591|MainThread|acestream|use_local_db=True
2021-06-01 20:05:53,592|MainThread|acestream|use_m2crypto=True
2021-06-01 20:05:53,592|MainThread|acestream|is_gui_mode=0
2021-06-01 20:05:53,593|MainThread|acestream|enable debug: 0
2021-06-01 20:05:53,604|MainThread|acestream|get_default_api_version: 2
2021-06-01 20:05:53,604|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2021-06-01 20:05:53,605|MainThread|acestream.coreapp|state_dir=u'/root/.ACEStream'
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
2021-06-01 20:05:54,545|MainThread|acestream.coreapp|set_debug_from_ui: level=0
2021-06-01 20:05:54,549|MainThread|acestream|enable debug: 0
2021-06-01 20:05:54,591|MainThread|acestream.coreapp|cannot load session config, use default
: error fetching interface information: Device not found
2021-06-01 20:05:54,761|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:51351
2021-06-01 20:05:54,762|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2021-06-01 20:05:54,762|MainThread|acestream.LM|listen on 8621
2021-06-01 20:05:54,834|AceStreamCoreThread|acestream.SocketHandler.SocketHandler|create_multicast_sockets: failed to create socket: ip=239.255.17.18 port=32968 local=172.17.0.2
Traceback (most recent call last):
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 842, in create_multicast_sockets
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 860, in create_single_multicast_socket
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 92] Protocol not available
2021-06-01 20:05:54,852|MainThread|acestream.VideoServer|start: addr= port=6878 allow_remote=1 allow_intranet=1
2021-06-01 20:05:55,712|MainThread|acestream.coreapp|failed to start aircast manager
Traceback (most recent call last):
  File "core.c", line 1483, in
  File "core.c", line 122, in
  File "core.c", line 290, in
  File "ACEStream/third_party/zeroconf/zeroconf.py", line 1400, in __init__
  File "ACEStream/third_party/zeroconf/zeroconf.py", line 1437, in _init_sockets
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 92] Protocol not available
2021-06-01 20:05:55,722|ServiceTaskQueueThread-2|acestream.Session|sync_time: no response
2021-06-01 20:05:55,746|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:37736
2021-06-01 20:05:55,747|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=62062
2021-06-01 20:05:55,749|Instance2InstanceThread-32|acestream.APIServer|run: ready to receive remote commands on 62062
Exception in thread ZeroconfThread-24:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "ACEStream/third_party/zeroconf/zeroconf.py", line 849, in run
  File "ACEStream/third_party/zeroconf/zeroconf.py", line 1452, in _periodic_check
AttributeError: 'Zeroconf' object has no attribute 'last_sockets_check'

Hey @ikhurramraza, thanks for reporting. I cannot debug this because I don't have an M1 machine. Can you check for me which version brew installed using docker info and share the result? If it has the arm64 version installed, you could try the Intel version with emulation, and if it has the regular version installed, you could try installing the arm64 version.

I installed Docker manually. And it is the M1 variant.

docker info gives me:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
  compose: Docker Compose (Docker Inc., 2.0.0-beta.1)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 4
 Server Version: 20.10.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.25-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 1.942GiB
 Name: docker-desktop
 ID: 4DWM:JCAR:LZRR:LBNG:CPY4:HSGP:MTJK:BNU7:TFZ4:Q67F:EGSG:VKFY
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Unfortunately I cannot install the Intel version on my work machine since it will disrupt my environment. So I cannot test that.

@ikhurramraza I'm now building an image for arm64 as well, which should be picked up by M1 machines. Can you update to 1.9.0 and verify it works?

Update: I pulled 1.9.0 because it won't work until Acestream is published for the arm64 platform.

I tried to run blaiseio/acelink:1.9.0 --platform=linux/arm64 but no luck.

Here is the docker logs for running the image

/lib64/ld-linux-x86-64.so.2: No such file or directory

Yes I messed something up, I created an ARM version of the Docker image using the AMD64 binary of the Acestream server, which is not going to work because it's the wrong arch.

There is an ARM version of the ace stream server for Android, there are existing Docker images based on this (eg https://github.com/lucabelluccini/acestream-engine-armv7-docker) M1 is ARMv8 so this won't work, but I don't have access to an M1 machine to convert this into a working solution for Ace Link.

commented

hi, I have an armv7 device in which I would like to run de AceLink docker. I have been using it on a x86 device for a while and it works great.
I will be have to help creating an armv7 build based on the Android binaries. How can I help?

armv7 is out of scope for Ace Link because it is not a macOS platform. You could try https://github.com/lucabelluccini/acestream-engine-armv7-docker or https://github.com/trananhtuan/acestream-armv7-docker

For M1 users: The AMD64 version works with Docker when you uncheck experimental features in Docker's preferences, see #38

I'm having the same problem. Version 1.9.0 installed, unchecked experimental features in docker

commented

Same issue here. experimental features in docker are unchecked

same problem unchecked

I verified and it works for me. Please reopen with similar details if 2.0.0 is not working for you.

Ace Link 2.0.0
MacBook Air (M1, 2020)
macOS 12.0.1 (21A559)
Docker 4.3.2

Docker / Preferences / Docker Engine:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "features": {
    "buildkit": true
  },
  "experimental": false
}

(builder and features.buildkit are likely irrelevant)

Docker / Preferences / Experimental Features:
Use the new Virtualization framework: unchecked

I'm still having this issue.

2022-03-26 22:39:33,244|MainThread|acestream|init segmenter done: log_path=/root/.ACEStream/logs/segmenter.log
2022-03-26 22:39:33,247|MainThread|acestream|platform=linux
2022-03-26 22:39:33,248|MainThread|acestream|app=acestream
2022-03-26 22:39:33,248|MainThread|acestream|version=3.1.16 code=3011600 revision=3258 date=2017-02-08
2022-03-26 22:39:33,249|MainThread|acestream|use_local_db=True
2022-03-26 22:39:33,250|MainThread|acestream|use_m2crypto=True
2022-03-26 22:39:33,250|MainThread|acestream|enable debug: 0
2022-03-26 22:39:33,259|MainThread|acestream|get_default_api_version: 2
2022-03-26 22:39:33,260|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2022-03-26 22:39:33,261|MainThread|acestream.coreapp|state_dir=u'/root/.ACEStream'
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
/bin/ls: cannot access '/dev/disk/by-id/': No such file or directory
2022-03-26 22:39:34,372|MainThread|acestream.coreapp|cannot load session config, use default
2022-03-26 22:39:34,483|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:45050
2022-03-26 22:39:34,485|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2022-03-26 22:39:34,485|MainThread|acestream.LM|listen on 8621
2022-03-26 22:39:34,487|MainThread|acestream.localdb|No existing database found. Attempting to creating a new database u'/root/.ACEStream/sqlite/torrentstream.sdb'
2022-03-26 22:39:34,587|AceStreamCoreThread|acestream.SocketHandler.SocketHandler|create_multicast_sockets: failed to create socket: ip=239.255.17.18 port=32968 local=172.17.0.2
Traceback (most recent call last):
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 825, in create_multicast_sockets
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 843, in create_single_multicast_socket
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 92] Protocol not available
2022-03-26 22:39:34,589|AceStreamCoreThread|acestream.SocketHandler.SocketHandler|create_multicast_sockets: failed to create socket: ip=239.255.17.18 port=32968 local=172.17.0.2
Traceback (most recent call last):
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 825, in create_multicast_sockets
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 843, in create_single_multicast_socket
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 92] Protocol not available
2022-03-26 22:39:34,590|AceStreamCoreThread|acestream.SocketHandler.SocketHandler|create_multicast_sockets: failed to create socket: ip=239.255.17.18 port=32968 local=172.17.0.2
Traceback (most recent call last):
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 825, in create_multicast_sockets
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 843, in create_single_multicast_socket
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 92] Protocol not available
2022-03-26 22:39:34,607|MainThread|acestream.VideoServer|start: addr= port=6878 allow_remote=1 allow_intranet=1
2022-03-26 22:39:35,767|MainThread|acestream.coreapp|failed to start aircast manager
Traceback (most recent call last):
  File "core.c", line 1212, in 
  File "core.c", line 122, in 
  File "core.c", line 289, in 
  File "ACEStream/third_party/zeroconf/zeroconf.py", line 1400, in __init__
  File "ACEStream/third_party/zeroconf/zeroconf.py", line 1437, in _init_sockets
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 92] Protocol not available
2022-03-26 22:39:35,804|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:59316
2022-03-26 22:39:35,807|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=62062
2022-03-26 22:39:35,810|Instance2InstanceThread-29|acestream.APIServer|run: ready to receive remote commands on 62062
Exception in thread ZeroconfThread-21:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "ACEStream/third_party/zeroconf/zeroconf.py", line 849, in run
  File "ACEStream/third_party/zeroconf/zeroconf.py", line 1452, in _periodic_check
AttributeError: 'Zeroconf' object has no attribute 'last_sockets_check'

This is occurring on v1.9.0 and v2.0.0.

Docker: 4.5.0
MacBook Pro (13-inch, M1, 2020)
MacOS: Big Sur 11.5.2
Docker experimental virtualisation framework is unchecked and docker engine config is same as posted above.

I have the same problem.
The docker´s link blaseio/acestream doesn't work in Dockers due to AMD64 issues. I have 4.20.1 Docker versions, 2.0.5 Acelink versions and unchecked Rosetta AMD64 emulation on Apple Silicon
Thanks

Unable to run version 2.0.5 of Ace Link.

  • Install Docker's DMG.
  • Install Ace Link's DMG.
  • MacOS Apple M1.
    I read that I should install Ace Link version 1.9.... AND IT WORKS! Why is that? Can you help me?
    (I translated this text from Spanish to English using ChatGPT)

Unable to run version 2.0.5 of Ace Link.

  • Install Docker's DMG.

  • Install Ace Link's DMG.

  • MacOS Apple M1.

I read that I should install Ace Link version 1.9.... AND IT WORKS! Why is that? Can you help me?

(I translated this text from Spanish to English using ChatGPT)

I was on the same situation. Finally solved it installing Docker 4.3.2 with Ace Link 2.0.5.