Gentoo

安裝 pth 時 econf 失敗

  • July 27, 2016

我剛開始使用 Gentoo,我在使用 Portage 安裝程序時遇到了一些困難。這是美妙的和自動的,除非它不是。

我嘗試安裝的許多程序(git、gedit、chrome、nautilus)最終都依賴於 pth,不管它是什麼。但它因 econf 錯誤而失敗:

  ERROR: dev-libs/pth-2.0.7-r3::gentoo failed (configure phase):
    econf failed

  Call stack:
           ebuild.sh, line   93:  Called src_configure
         environment, line 2881:  Called econf '--disable-static'
    phase-helpers.sh, line  577:  Called die
  The specific snippet of code:
               die "econf failed"

  If you need support, post the output of `emerge --info '=dev-libs/pth-2.0.7-r3::gentoo'`,
  the complete build log and the output of `emerge -pqv '=dev-libs/pth-2.0.7-r3::gentoo'`.
  The complete build log is located at '/var/tmp/portage/dev-libs/pth-2.0.7-r3/temp/build.log'.
  The ebuild environment file is located at '/var/tmp/portage/dev-libs/pth-2.0.7-r3/temp/environment'.
  Working directory: '/var/tmp/portage/dev-libs/pth-2.0.7-r3/work/pth-2.0.7'

這是 ebuild 行

[ebuild  N    ] dev-libs/pth-2.0.7-r3  USE="-debug -static-libs"

以及我放在pastebin上的emerge資訊,因為它的長度。

建構日誌:

* Package:    dev-libs/pth-2.0.7-r3
* Repository: gentoo
* Maintainer: crypto@gentoo.org
* USE:        abi_x86_64 amd64 elibc_glibc kernel_linux multilib userland_GNU
* FEATURES:   preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking pth-2.0.7.tar.gz to /var/tmp/portage/dev-libs/pth-2.0.7-r3/work
>>> Source unpacked in /var/tmp/portage/dev-libs/pth-2.0.7-r3/work
>>> Preparing source in /var/tmp/portage/dev-libs/pth-2.0.7-r3/work/pth-2.0.7 ...
* Applying pth-2.0.5-parallelfix.patch ...                              [ ok ]
* Applying pth-2.0.6-ldflags.patch ...                                  [ ok ]
* Applying pth-2.0.6-sigstack.patch ...                                 [ ok ]
* Applying pth-2.0.7-parallel-install.patch ...                         [ ok ]
* Applying pth-2.0.7-ia64.patch ...                                     [ ok ]
* Applying pth-2.0.7-kernel-3.patch ...                                 [ ok ]
* Replacing obsolete head/tail with POSIX compliant ones
*  - fixed aclocal.m4
*  - fixed configure
* Running elibtoolize in: pth-2.0.7/
*   Applying portage/1.5.10 patch ...
*   Applying max_cmd_len/1.5.20 patch ...
*   Applying sed/1.5.6 patch ...
*   Applying as-needed/1.5 patch ...
*   Applying target-nm/2.4.2 patch ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-libs/pth-2.0.7-r3/work/pth-2.0.7 ...
* econf: updating pth-2.0.7/config.sub with /usr/share/gnuconfig/config.sub
* econf: updating pth-2.0.7/config.guess with /usr/share/gnuconfig/config.guess
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-static
./configure: line 286: /tmp/autoconf.25970: Permission denied
./configure: line 297: /tmp/autoconf.25970: Permission denied
./configure: line 310: /tmp/autoconf.25970: No such file or directory
* ERROR: dev-libs/pth-2.0.7-r3::gentoo failed (configure phase):
*   econf failed
* 
* Call stack:
*          ebuild.sh, line   93:  Called src_configure
*        environment, line 2887:  Called econf '--disable-static'
*   phase-helpers.sh, line  577:  Called die
* The specific snippet of code:
*              die "econf failed"
* 
* If you need support, post the output of `emerge --info '=dev-libs/pth-2.0.7-r3::gentoo'`,
* the complete build log and the output of `emerge -pqv '=dev-libs/pth-2.0.7-r3::gentoo'`.
* The complete build log is located at '/var/tmp/portage/dev-libs/pth-2.0.7-r3/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-libs/pth-2.0.7-r3/temp/environment'.
* Working directory: '/var/tmp/portage/dev-libs/pth-2.0.7-r3/work/pth-2.0.7'
* S: '/var/tmp/portage/dev-libs/pth-2.0.7-r3/work/pth-2.0.7'

這裡出了什麼問題,如何解決?

事實證明/tmp,出於某種原因,除了 root 之外,它是不可寫的。我解決了這個問題

chmod a+w /tmp

我不知道這是怎麼回事;這是全新安裝,我當然沒有故意將權限更改為drwxr-xr-.

引用自:https://unix.stackexchange.com/questions/97991