Gentoo Prefix を OS X El Capitan に三日かけて導入した
読了まで:約5分
という話。
追記: [[2018-02-05]]
な
また、 [[macOS High Sierra]] が公開されている 2018 年現在、僕は macOS では [[Homebrew]] を使っています。
ここ数日前ぐらいから、
[[OS X El Capitan]] の
パッケージマネージャ、 [[pkgsrc]] + [[pkgin]] から 変えるかなー
と
よし、
Gentoo Prefix (Portage) を 構築してみよう!
と
1. [OS X El Capitan で [[Gentoo Prefix]] を導入する手順 (理想)]
基本的には、
- <https://gitweb.gentoo.org/repo/proj/prefix.git/tree/scripts/bootstrap-prefix.sh https://gitweb.gentoo.org/repo/proj/prefix.git/tree/scripts/bootstrap-prefix.sh>
を
$ bash ~/Downloads/bootstrap-prefix.sh
して、
パッケージが
コンパイル出来ねー
とか、
file collision が
見付かって インストール出来ねー
とか
2. [OS X El Capitan に [[Gentoo Prefix]] を導入する方法 (実際)]
まず、
基本的には、
- <https://gitweb.gentoo.org/repo/proj/prefix.git/tree/scripts/bootstrap-prefix.sh https://gitweb.gentoo.org/repo/proj/prefix.git/tree/scripts/bootstrap-prefix.sh>
を
$ bash ~/Downloads/bootstrap-prefix.sh
します。
1. stage2 で sys-devel/binutils-apple がコンパイル転ける
これは、$EPREFIX/tmp/etc/portage/package.mask
>=sys-devel/binutils-apple-7.0
と
2. stage2 で llvm-3.4.2 の アーカイブが Download 出来ない
$EPREFIX/tmp/usr/portage/sys-devel/llvm-3.4.2.ebuild
の
clang? ( http://llvm.org/releases/${PV}/compiler-rt-3.4.src.tar.gz
http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz )
を、
clang? ( http://llvm.org/releases/${PV%.*}/compiler-rt-3.4.src.tar.gz
http://llvm.org/releases/${PV%*}/cfe-${PV}.src.tar.gz )
と
3. stage2 で bash が file collision してインストール出来ない
まず、
$EPREFIX/bin/bash
を
次に$EPREFIX/bin/egrep
#!/bin/sh
と/bin/sh
を$EPREFIX/etc/portage/make.conf
のCONFIG_SHELL
を
CONFIG_SHELL="/bin/bash"
と/bin/bash
を
4. stage3 の wget のコンパイルが転ける
$EPREFIX/etc/portage/package.mask
で
=net-misc/wget-1.18
を
5. stage3 で nano が (ry
これも$EPREFIX/etc/portage/package.mask
=app-editors/nano-2.6.3
を
6. stage3 の sys-apps/baselayout-prefix が file collision
これは、bootstrap-prefix.sh
$EPREFIX/sbin/openrc-run
をbootstrap-prefix.sh
if [[[ ! -x "${ROOT}"/sbin/openrc-run ]] ]; then
echo "We need openrc-run at ${ROOT}/sbin to merge rsync." > "${ROOT}"/sbin/openrc-run
chmod +x "${ROOT}"/sbin/openrc-run
fi
を$EPREFIX/sbin/openrc-run
を
なbootstrap-prefix.sh
からのbootstrap_stage3
関数の
7. stage3 で llvm-3.8.1 のコンパイル中に Segmentation Fault
これは、
llvm-3.5.2
が
$ $EPREFIX/bin/emerge -u =sys-devel/llvm-3.4.1
とllvm-3.4.1
にllvm-3.8.1
以上
と
- [[Gentoo Prefix]] on [[OS X El Capitan]]
は
ただしコレ、
そのため、
- [[Gentoo Prefix]]
を
ま、
と
まあ、
と