我从这里获得了 acestream_3.0.3_centos_7_amd64
的直接镜头,请参阅此线程,然后我尝试了:
[xiaobai@xiaobai acestream_3.0.3_centos_7_amd64]$ sh start.sh --client-console --bind-all
2016-06-22 04:01:14,760|MainThread|acestream|platform=linux
2016-06-22 04:01:14,760|MainThread|acestream|app=acestream
2016-06-22 04:01:14,760|MainThread|acestream|version=3.0.3 code=3000300 revision=1355M date=2014-10-30
2016-06-22 04:01:14,760|MainThread|acestream|use_local_db=False
2016-06-22 04:01:14,760|MainThread|acestream|use_m2crypto=True
2016-06-22 04:01:14,760|MainThread|acestream|enable debug: 0
2016-06-22 04:01:14,761|MainThread|acestream|get_default_api_version: 2
2016-06-22 04:01:14,761|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2016-06-22 04:01:14,781|MainThread|acestream.coreapp|cannot load session config, use default
2016-06-22 04:01:14,786|MainThread|acestream|error during startup
Traceback (most recent call last):
File "core.c", line 1108, in
File "core.c", line 211, in
File "core.c", line 193, in
File "core.c", line 687, in
File "ACEStream/Core/Session.py", line 159, in __init__
File "ACEStream/Core/Overlay/permid.py", line 42, in generate_keypair
File "/home/xiaobai/note/src/acestream/acestream_centos7/acestream_3.0.3_centos_7_amd64/lib/M2Crypto-0.21.1-py2.7-linux-x86_64.egg/M2Crypto/EC.py", line 269, in gen_params
return EC(m2.ec_key_new_by_curve_name(curve), 1)
File "/home/xiaobai/note/src/acestream/acestream_centos7/acestream_3.0.3_centos_7_amd64/lib/M2Crypto-0.21.1-py2.7-linux-x86_64.egg/M2Crypto/EC.py", line 106, in __init__
assert m2.ec_key_type_check(ec), "'ec' type error"
ValueError: Received a NULL pointer.
[xiaobai@xiaobai acestream_3.0.3_centos_7_amd64]$
我也从这里获得了acestream-launcher
的直接镜头,然后我尝试了:
[xiaobai@xiaobai acestream-launcher]$ python acestream_launcher.py acestream://example_for_stackoverflow
Acestream engine running.
2016-06-22 04:05:49,506|MainThread|acestream|platform=linux
2016-06-22 04:05:49,507|MainThread|acestream|app=acestream
2016-06-22 04:05:49,507|MainThread|acestream|version=3.0.5.1 code=3000501 revision=1415 date=2014-12-10
2016-06-22 04:05:49,507|MainThread|acestream|use_local_db=True
2016-06-22 04:05:49,507|MainThread|acestream|use_m2crypto=True
2016-06-22 04:05:49,507|MainThread|acestream|enable debug: 0
2016-06-22 04:05:49,508|MainThread|acestream|get_default_api_version: 2
2016-06-22 04:05:49,508|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2016-06-22 04:05:49,523|MainThread|acestream.coreapp|cannot load session config, use default
2016-06-22 04:05:49,524|MainThread|acestream|error during startup
Traceback (most recent call last):
File "core.c", line 1147, in
File "core.c", line 241, in
File "core.c", line 187, in
File "core.c", line 691, in
File "ACEStream/Core/Session.py", line 160, in __init__
File "ACEStream/Core/Overlay/permid.py", line 43, in generate_keypair
File "/usr/lib64/python2.7/site-packages/M2Crypto/EC.py", line 126, in gen_key
m2.ec_key_gen_key(self.ec)
ValueError: Received a NULL pointer.
Exception ValueError: 'Received a NULL pointer.' in <bound method EC.__del__ of <M2Crypto.EC.EC instance at 0x7f444f379d40>> ignored
Error authenticating to Acestream!
Media Player not running...
[xiaobai@xiaobai acestream-launcher]$
我还从这里获得了acestream-engine
的目录,然后我附加了" post_install",并将其附加到此文件acestream-engine.install
:
post_install() {
if ! getent passwd acestream &> /dev/null; then
useradd -u 4035 -g video -m -s /usr/bin/nologin acestream
fi
}
post_upgrade() {
post_install
}
post_remove() {
if getent passwd acestream &>/dev/null; then
userdel acestream
fi
}
post_install
,为了运行acestream-engine
服务(请参阅此线程):
[xiaobai@xiaobai acestream-engine]$ systemctl start acestream-engine.service
Failed to start acestream-engine.service: Unit acestream-engine.service failed to load: No such file or directory.
[xiaobai@xiaobai acestream-engine]$ sh acestream-engine.install
acestream-engine.install: line 3: /usr/sbin/useradd: Permission denied
[xiaobai@xiaobai acestream-engine]$ sudo sh acestream-engine.install
[xiaobai@xiaobai acestream-engine]$ grep -i ace /etc/passwd
59:acestream:x:4035:39::/home/acestream:/usr/bin/nologin
[xiaobai@xiaobai acestream-engine]$ sudo cp acestream-engine.service /lib/systemd/system/
[xiaobai@xiaobai acestream-engine]$ sudo systemctl start acestream-engine.service
i还请参考文件PKGBUILD
(此文件仅存在于AceStream_3.0.5.1_ubuntu_14.04_x86_64中,但实际上是Acestream_3.0.3_centos_7_amd64可以使用)并手动运行命令:
[xiaobai@xiaobai acestream_3.0.3_centos_7_amd64]$ sudo install -Dm755 acestreamengine "/usr/bin/acestreamengine"
[xiaobai@xiaobai acestream_3.0.3_centos_7_amd64]$ sudo mkdir "/usr/share/acestream/"
[xiaobai@xiaobai acestream_3.0.3_centos_7_amd64]$ install -d "/usr/share/acestream/"
[xiaobai@xiaobai acestream_3.0.3_centos_7_amd64]$ sudo cp -a data lib "/usr/share/acestream/"
之后,在acestream-engine
目录中,执行:
[xiaobai@xiaobai acestream-engine]$ sudo install -Dm644 "acestream-engine.service" "/lib/systemd/system/acestream-engine.service"
[xiaobai@xiaobai acestream-engine]$ sudo systemctl start acestream-engine.service
Warning: Unit file of acestream-engine.service changed on disk, 'systemctl daemon-reload' recommended.
[xiaobai@xiaobai acestream-engine]$ sudo systemctl daemon-reload
[xiaobai@xiaobai acestream-engine]$ sudo systemctl start acestream-engine.service
[xiaobai@xiaobai acestream-engine]$ sudo systemctl restart acestream-engine.service
但没有帮助。
之后,直接运行/usr/bin/acestreamengine --client-console --bind-all
还会获得类似的错误,例如上面的sh start.sh --client-console --bind-all
。
和 --client-gtk
,请参阅此线程:
$ /usr/bin/acestreamengine --client-gtk
/usr/share/acestream/lib/pycompat27.so/ACEStream/Main/AppWrapperGtk.py:40: Warning: gsignal.c:2461: signal 'child-added' is invalid for instance '0x2aee250' of type 'GtkMenu'
Exception ValueError: 'Received a NULL pointer.' in <bound method EC.__del__ of <M2Crypto.EC.EC instance at 0x7f4c84256290>> ignored
$
我也尝试了aceget.exp
,请参阅此线程:
[xiaobai@xiaobai aceget]$ ./aceget.exp --help
can't find package sha1
while executing
"package require sha1"
(file "./aceget.exp" line 15)
[xiaobai@xiaobai aceget]$ dnf install tcllib
...
Running transaction
Installing : tcllib-1.16-5.fc21.noarch 1/1
Verifying : tcllib-1.16-5.fc21.noarch 1/1
Installed:
tcllib.noarch 1.16-5.fc21
Complete!
[xiaobai@xiaobai aceget]$ ./aceget.exp --help
params: hostname/ip port-number TORRENT/INFOHASH/PID/RAW/URL url/pid/whatever
[xiaobai@xiaobai aceget]$
[xiaobai@xiaobai aceget]$ ./aceget.exp 127.0.0.1 62062 PID acestream://example_fro_stackoverflow
send: spawn id exp6 not open
while executing
"send [format "HELLOBG version=%dr" $apiversion]"
(file "./aceget.exp" line 52)
[xiaobai@xiaobai aceget]$
和sudo systemctl status acestream-engine.service
失败:
[xiaobai@xiaobai acestream-engine]$ sudo systemctl stop acestream-engine.service
[sudo] password for xiaobai:
[xiaobai@xiaobai acestream-engine]$ sudo systemctl start acestream-engine.service
[xiaobai@xiaobai acestream-engine]$ sudo systemctl status acestream-engine.service
● acestream-engine.service - AceStream Engine (console)
Loaded: loaded (/usr/lib/systemd/system/acestream-engine.service; disabled)
Active: failed (Result: exit-code) since Wed 2016-06-22 04:42:44 MYT; 3s ago
Process: 16865 ExecStart=/usr/bin/acestreamengine --client-console --bind-all (code=exited, status=1/FAILURE)
Main PID: 16865 (code=exited, status=1/FAILURE)
Jun 22 04:42:44 xiaobai systemd[1]: acestream-engine.service: main process exited, code=exited, status=1/FAILURE
Jun 22 04:42:44 xiaobai systemd[1]: Unit acestream-engine.service entered failed state.
Jun 22 04:42:44 xiaobai systemd[1]: acestream-engine.service failed.
[xiaobai@xiaobai acestream-engine]$
开始[在上面的NULL pointer
错误之前]
我列出了此步骤,因为它可能相关。我得到ImportError: libcrypto.so.1.0.0
:
[xiaobai@xiaobai acestream_3.0.5.1_ubuntu_14.04_x86_64]$ /usr/bin/acestreamengine --client-console --bind-all
Cannot load libraries: path /usr/share/acestream/lib
Traceback (most recent call last):
File "<entry>", line 6, in <module>
File "core.c", line 71, in
ImportError: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
[xiaobai@xiaobai acestream_3.0.5.1_ubuntu_14.04_x86_64]$ dnf install openssl-libs
Failed to synchronize cache for repo 'fedora-source' from 'https://mirrors.fedoraproject.org/metalink?repo=fedora-source-21&arch=x86_64': Cannot prepare internal mirrorlist: file "repomd.xml" was not found in metalink, disabling.
Using metadata from Wed Jun 15 21:50:48 2016 (6 days, 5:06:37 hours old)
Package openssl-libs-1:1.0.1k-12.fc21.x86_64 is already installed, skipping.
Package openssl-libs-1:1.0.1k-12.fc21.i686 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
[xiaobai@xiaobai acestream_3.0.5.1_ubuntu_14.04_x86_64]$ dnf provides */libcrypto.so
Using metadata from Wed Jun 15 21:50:48 2016 (6 days, 5:10:33 hours old)
openssl-devel-1:1.0.1k-12.fc21.x86_64 : Files for development of applications which will use OpenSSL
Repo : @System
openssl-devel-1:1.0.1j-1.fc21.i686 : Files for development of applications which will use OpenSSL
Repo : fedora
openssl-devel-1:1.0.1j-1.fc21.x86_64 : Files for development of applications which will use OpenSSL
Repo : fedora
openssl-devel-1:1.0.1k-12.fc21.i686 : Files for development of applications which will use OpenSSL
Repo : updates
openssl-devel-1:1.0.1k-12.fc21.x86_64 : Files for development of applications which will use OpenSSL
Repo : updates
[xiaobai@xiaobai acestream_3.0.5.1_ubuntu_14.04_x86_64]$ dnf install openssl-devel-1:1.0.1j-1.fc21.x86_64
Failed to synchronize cache for repo 'fedora-source' from 'https://mirrors.fedoraproject.org/metalink?repo=fedora-source-21&arch=x86_64': Cannot prepare internal mirrorlist: file "repomd.xml" was not found in metalink, disabling.
Using metadata from Wed Jun 15 21:50:48 2016 (6 days, 5:11:36 hours old)
Error: package openssl-devel-1:1.0.1j-1.fc21.x86_64 requires openssl-libs(x86-64) = 1:1.0.1j-1.fc21, but none of the providers can be installed
[xiaobai@xiaobai acestream_3.0.5.1_ubuntu_14.04_x86_64]$
所以我放弃了,并安装Fedora 22的OpenSSL rpm(在Fedora 21中不存在):
[xiaobai@xiaobai openssl-spotify]$ wget ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/p/po/postinstaller/fedora/releases/22/x86_64/openssl1-1.0.0-2.fc22.x86_64.rpm
--2016-06-22 03:25:24-- ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/p/po/postinstaller/fedora/releases/22/x86_64/openssl1-1.0.0-2.fc22.x86_64.rpm
=> ‘openssl1-1.0.0-2.fc22.x86_64.rpm’
Resolving ftp.pbone.net (ftp.pbone.net)... 85.14.85.4
Connecting to ftp.pbone.net (ftp.pbone.net)|85.14.85.4|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /mirror/ftp.sourceforge.net/pub/sourceforge/p/po/postinstaller/fedora/releases/22/x86_64 ... done.
==> SIZE openssl1-1.0.0-2.fc22.x86_64.rpm ... 766220
==> PASV ... done. ==> RETR openssl1-1.0.0-2.fc22.x86_64.rpm ... done.
Length: 766220 (748K) (unauthoritative)
openssl1-1.0.0-2.fc22.x86_64.rpm 100%[===========================================================================================================================================>] 748.26K 441KB/s in 1.7s
2016-06-22 03:25:29 (441 KB/s) - ‘openssl1-1.0.0-2.fc22.x86_64.rpm’ saved [766220]
[xiaobai@xiaobai openssl-spotify]$
[xiaobai@xiaobai openssl-spotify]$ sudo rpm -ivh openssl1-1.0.0-2.fc22.x86_64.rpm
warning: openssl1-1.0.0-2.fc22.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID example_for_SO: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:openssl1-1.0.0-2.fc22 ################################# [100%]
[xiaobai@xiaobai openssl-spotify]$ l /usr/lib/libcr[Tab]
libcrack.so.2 libcrack.so.2.9.0 libcrypt-2.20.so libcrypto.so.10 libcrypto.so.1.0.1k libcrypt.so libcrypt.so.1
[xiaobai@xiaobai openssl-spotify]$
然后,我也将dnf install m2crypto
进行安装的m2crypto-0.22.5-2.fc21.x86_64
,否则在运行python acestream_launcher.py acestream://example_for_stackoverflow
时将获得ImportError: No module named M2Crypto
。
结束[在上面NULL pointer
的错误之前]
您可以看到,我在尝试安装AceStream播放器以在Fedora 21中播放Acestream感到多么沮丧。
所以我的问题是,在Fedora 21中安装AceStream播放器的逐步正确的是什么?
m2.ec_key_gen_key(self.ec) ValueError: Received a NULL pointer.
当您使用Fedora Proper的OpenSSL时,这会发生这种情况,您需要使用OpenSSL毫无疑问https://github.com/unitedrpms/openssl/releases/tag/tag/1.0.2j-2