Mac OS X 10.5.6で久々にsudo port upgrade installed したら下記のようなエラーが。。
(注:sudo port upgrade installedするときはTimeMachineはOFFにしとく)
Error: Target org.macports.activate returned: Image error: /opt/local/include/X11/extensions/render.h is being used by the active render port. Please deactivate this port first, or use the -f flag to force the activation. Error: The following dependencies failed to build: xorg-renderproto
とりあえず全て終わるまで放置。
全て終わったらsudo port activate -f xorg-renderprotoする。
> sudo port activate -f xorg-renderproto Warning: File /opt/local/include/X11/extensions/render.h already exists. Moving to: /opt/local/include/X11/extensions/render.h.mp_1235296545. Warning: File /opt/local/include/X11/extensions/renderproto.h already exists. Moving to: /opt/local/include/X11/extensions/renderproto.h.mp_1235296545.
んで、port outdatedする
> port outdated The following installed ports are outdated: graphviz 2.18_0 < 2.20.3_3 texlive_base 2007_1 < 2007_6 xrender 0.9.0_2 < 0.9.4_5
xrenderが怪しいから、sudo port upgrade xrenderする。
>sudo port upgrade xrender ---> Fetching xrender ---> Attempting to fetch libXrender-0.9.4.tar.bz2 from http://distfiles.macports.org/xrender ---> Verifying checksum(s) for xrender ---> Extracting xrender ---> Configuring xrender ---> Building xrender ---> Staging xrender into destroot ---> Deactivating xrender @0.9.0_2 ---> Installing xrender @0.9.4_5 ---> Activating xrender @0.9.4_5 ---> Cleaning xrender
んで、再度sudo port upgrade installedしてみる。
>sudo port upgrade installed ---> Fetching xorg-libXcursor ---> Attempting to fetch libXcursor-1.1.9.tar.bz2 from http://distfiles.macports.org/xorg-libXcursor ---> Verifying checksum(s) for xorg-libXcursor ---> Extracting xorg-libXcursor ---> Configuring xorg-libXcursor ---> Building xorg-libXcursor ---> Staging xorg-libXcursor into destroot ---> Installing xorg-libXcursor @1.1.9_0 ---> Activating xorg-libXcursor @1.1.9_0 ---> Cleaning xorg-libXcursor ---> Fetching xorg-libXrandr ---> Attempting to fetch libXrandr-1.2.3.tar.bz2 from http://distfiles.macports.org/xorg-libXrandr ---> Verifying checksum(s) for xorg-libXrandr ---> Extracting xorg-libXrandr ---> Configuring xorg-libXrandr ---> Building xorg-libXrandr ---> Staging xorg-libXrandr into destroot ---> Installing xorg-libXrandr @1.2.3_0 ---> Activating xorg-libXrandr @1.2.3_0 ---> Cleaning xorg-libXrandr ---> Fetching xorg-libs ---> Verifying checksum(s) for xorg-libs ---> Extracting xorg-libs ---> Configuring xorg-libs ---> Building xorg-libs ---> Staging xorg-libs into destroot ---> Installing xorg-libs @20090105_0 ---> Activating xorg-libs @20090105_0 ---> Cleaning xorg-libs ---> Fetching gd2 ---> Attempting to fetch gd-2.0.35.tar.bz2 from http://distfiles.macports.org/gd2 ---> Verifying checksum(s) for gd2 ---> Extracting gd2 ---> Applying patches to gd2 ---> Configuring gd2 ---> Building gd2 ---> Staging gd2 into destroot ---> Installing gd2 @2.0.35_3 ---> Activating gd2 @2.0.35_3 ---> Cleaning gd2 ---> Fetching graphviz ---> Attempting to fetch graphviz-2.20.3.tar.gz from http://distfiles.macports.org/graphviz ---> Verifying checksum(s) for graphviz ---> Extracting graphviz ---> Configuring graphviz ---> Building graphviz ---> Staging graphviz into destroot ---> Deactivating graphviz @2.18_0 ---> Installing graphviz @2.20.3_3+macosx ---> Activating graphviz @2.20.3_3+macosx ---> Cleaning graphviz Error: No port render found. . . .
んが!またErrorだ。んだけど、これ以外はエラー無く通った。
>sudo port activate render ---> Activating render Error: port activate failed: Image error: render @0.9_1 is already active.
意味不明。
>port installed | grep render render @0.9_1 (active) xorg-renderproto @0.9.3_0 (active) xrender @0.9.0_2 xrender @0.9.4_5 (active)
最新graphvizをアンインストールして再度インストールしてみる。
>sudo port upgrade graphviz ---> Fetching graphviz ---> Verifying checksum(s) for graphviz ---> Extracting graphviz ---> Configuring graphviz ---> Building graphviz ---> Staging graphviz into destroot ---> Deactivating graphviz @2.18_0 ---> Installing graphviz @2.20.3_3+macosx ---> Activating graphviz @2.20.3_3+macosx ---> Cleaning graphviz
うまくいった。
けど、ホント大丈夫なんかな?
追記:
twitterでナイスガイからアドバイスもらった
There was a recent cleanup, 'sudo port -f uninstall render' you don't need it anymore.
Remember to upgrade outdated. #macports
sudo port -f unistall renderやってみる
>sudo port -f uninstall render ---> Unable to uninstall render 0.9_1, the following ports depend on it: ---> xrender ---> cairo Warning: Uninstall forced. Proceeding despite dependencies. ---> Deactivating render @0.9_1 ---> Uninstalling render @0.9_1
警告出たけどとりあえずパス。
試しにこの状態で、先程問題だったgraphviz(and doxygen)をアンインストール->インストールしてみる。
# uninstall doxygen >sudo port uninstall doxygen @1.5.8_1 ---> Deactivating doxygen @1.5.8_1 ---> Uninstalling doxygen @1.5.8_1 # unistall graphviz >sudo port uninstall graphviz @2.20.3_3+macosx ---> Deactivating graphviz @2.20.3_3+macosx ---> Uninstalling graphviz @2.20.3_3+macosx # install graphviz >sudo port install graphviz ---> Fetching graphviz ---> Verifying checksum(s) for graphviz ---> Extracting graphviz ---> Configuring graphviz ---> Building graphviz ---> Staging graphviz into destroot ---> Installing graphviz @2.20.3_3+macosx ---> Activating graphviz @2.20.3_3+macosx ---> Cleaning graphviz # install doxygen sudo port install doxygen ---> Fetching doxygen ---> Verifying checksum(s) for doxygen ---> Extracting doxygen ---> Configuring doxygen ---> Building doxygen ---> Staging doxygen into destroot ---> Installing doxygen @1.5.8_1 ---> Activating doxygen @1.5.8_1 ---> Cleaning doxygen # test doxygen cd project; doxygen
うまくいった。
結論:
勇気を持って、sudo port unistall -f render しちまう。