macport で distfile がダウンロードできないとき
macport を認証 Proxy 環境で使用しているとまれに、Proxy の所為でパッケージの distfile がダウンロードできない事象が発生する。
例えば boost の場合
---> Fetching distfiles for boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://freefr.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://heanet.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://internode.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://iweb.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://jaist.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://kent.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://liquidtelecom.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://nbtelecom.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://ncu.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://netassist.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://netcologne.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://netix.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://skylineservers.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://skylink.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://superb-dca2.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://tcpdiag.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://tenet.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://ufpr.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://vorboss.dl.sourceforge.net/project/boost/boost/1.59.0 ---> Attempting to fetch boost_1_59_0.tar.bz2 from https://distfiles.macports.org/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://aarnet.au.distfiles.macports.org/pub/macports/mpdistfiles/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://cjj.kr.distfiles.macports.org/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://her.gr.distfiles.macports.org/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://jnb.za.distfiles.macports.org/distfiles/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://jog.id.distfiles.macports.org/macports/distfiles/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://lil.fr.distfiles.macports.org/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://mse.uk.distfiles.macports.org/sites/distfiles.macports.org/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://nou.nc.distfiles.macports.org/pub/macports/distfiles.macports.org/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://nue.de.distfiles.macports.org/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://osl.no.distfiles.macports.org/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://sea.us.distfiles.macports.org/macports/distfiles/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/boost ---> Attempting to fetch boost_1_59_0.tar.bz2 from http://svn.macports.org/repository/macports/distfiles/boost Error: org.macports.fetch for port boost returned: fetch failed Error: Failed to install boost
特定のパッケージだけではない場合はネットワークとか Proxy 設定とかを疑うのが正しいのだが、特定のパッケージだけで発生する場合、一体なにが原因なのかがよくわからない事が多い(大抵 Proxy 側の問題の方が多い気がする)。
そんな場合は、取得できない distfile をブラウザで取得し、/opt/local/var/macports/distfiles/ 以下に配置してあげればすんなりインストールできる。
boost の場合は以下に配置
/opt/local/var/macports/distfiles/boost
その後は普通に
$sudo port install boost