我对 Gentoo portage 没有太多经验,当我尝试将 Nodejs 安装
# emerge --ask monit nginx nodejs
到我的 gentoo 中时,我收到一条错误消息,如下所示:
[ebuild N ] net-libs/http-parser-2.6.1 USE="-static-libs" ABI_X86="(64) -32 (-x32)"
[ebuild R ] dev-libs/openssl-1.0.2f USE="-bindist*"
[ebuild N ] dev-libs/libuv-1.8.0 USE="-static-libs" ABI_X86="(64) -32 (-x32)"
[ebuild N ] app-admin/monit-5.16.1 USE="pam ssl -libressl"
[ebuild N ] www-servers/nginx-1.9.10-r3 USE="http http-cache http2 ipv6 pcre ssl -aio -debug -libatomic -libressl -luajit -pcre-jit -rtmp (-selinux) -threads -vim-syntax" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_ip_hash userid uwsgi -addition -ajp -auth_ldap -auth_pam -auth_request -cache_purge -dav -dav_ext -degradation -echo -fancyindex -flv -geoip -gunzip -gzip_static -headers_more -image_filter -lua -memc -metrics -mogilefs -mp4 -naxsi -perl -push_stream -random_index -realip -secure_link -security -slice -slowfs_cache -spdy -sticky -stub_status -sub -upload_progress -upstream_check -xslt" NGINX_MODULES_MAIL="-imap -pop3 -smtp" NGINX_MODULES_STREAM="-access -limit_conn -upstream"
[ebuild N ] net-libs/nodejs-5.6.0-r1 USE="npm snapshot ssl -debug -doc -icu {-test}" CPU_FLAGS_X86="sse2" PYTHON_TARGETS="python2_7"
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-libs/openssl:0
(dev-libs/openssl-1.0.2f:0/0::gentoo, ebuild scheduled for merge) pulled in by
>=dev-libs/openssl-1.0.2f:0=[-bindist] required by (net-libs/nodejs-5.6.0-r1:0/0::gentoo, ebuild scheduled for merge)
^^^^^^^^
(dev-libs/openssl-1.0.2f:0/0::gentoo, installed) pulled in by
>=dev-libs/openssl-0.9.8f:0[bindist=] required by (net-misc/openssh-7.1_p2-r1:0/0::gentoo, installed)
^^^^^^^^
dev-libs/openssl:0[bindist=] required by (dev-qt/qtnetwork-5.5.1:5/5::gentoo, installed)
^^^^^^^^
It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.
For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.
之后,我尝试了emerge --sync
,emerge -u world
但效果不佳。有些主题说我应该删除ssl
,但我不确定这是解决它的真正方法。
答案1
我重新安装openssh
openssl
qtnetwork
没有 ' bindist
' 标志的https://forums.gentoo.org/viewtopic-t-1020062-highlight-nodejs.html说了这么多,问题就解决了!所有包均已成功重建。