USE_LINUX 利用禁止2006年05月29日 00時06分31秒

/usr/ports/CHANGES に

  - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD
    tools to strip binaries anymore, so it's not necessary anymore to override
    STRIP and STRIP_CMD.   
  - USE_LINUX_PREFIX implies NO_MTREE now.
  - In the USE_LINUX case, USE_XLIB now depends upon the Linux X11 libraries
    instead upon the native FreeBSD libraries.
  - The variable LINUX_BASE_PORT contains a string which is suitable as an
    item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the
    default (or overridden) Linux base, ${LINUX_BASE_PORT} should be used+
    instead of a hardcoded reference. 
  - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base
    port and if USE_LINUX isn't set to "yes" (case insensitive), the port will
    be marked as IGNORE.

とあったので試しに、OVERRIDE_LINUX_BASE や USE_LINUX を設定して実験していた。

===>  Checking if print/adobe-cmaps already installed
/bin/mkdir -p /usr/local/share/fonts/adobe-cmaps
cd /ports/tmp/usr/ports/print/adobe-cmaps/work &&
/usr/bin/tar cf - ac15 ag15 ai0 aj16 aj20 ak12 rksj-cmaps tounicode |
(cd /usr/local/share/fonts/adobe-cmaps && /usr/bin/tar xf - )
===>   Registering installation for adobe-cmaps-20051217
make: Max recursion level (500) exceeded.: Resource temporarily unavailabl

その後から何を更新しても、make が大量に fork されるという事態に陥っていた。

/var/db/pkgdb.db でも、壊れたのかと思いきや、USE_LINUX が悪さをしていたらしい。これを無効にすると何の問題も無くなった。他所でも同じ問題が発生していたらしい。

この様子だと、USE_LINUX は既に廃れているのかも知れない。OVERRIDE_LINUX_BASE を使うべきだろう。

もともと、Linux 互換は最近、うまく設定できていないので、問題の切り分けに時間がかかった。