AUR 的 Arch Linux makepkg 现在总是无法找到依赖项

AUR 的 Arch Linux makepkg 现在总是无法找到依赖项

当尝试从 AUR 安装某些东西时,就像我之前成功完成的那样,没有任何问题,但现在总是失败。

[seth@archbang google-talkplugin-amd64]$ makepkg -si
==> Making package: google-talkplugin-amd64 2.5.6.0-1 (Mon Nov 21 19:26:58 MST 2011)
==> Checking runtime dependencies...
==> Installing missing dependencies...
error: target not found: error:
==> ERROR: 'pacman' failed to install missing dependencies.

我不明白如何修复这个错误。当它工作时,它也会对其他人执行此操作。

添加:

pacman.conf

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
HoldPkg     = pacman glibc
# If upgrades are available for these packages they will be asked for first
SyncFirst   = pacman
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/curl -C - %u > %o
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options (all disabled by default)
#UseSyslog
ShowSize
#UseDelta
TotalDownload
ILoveCandy

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[testing]
## Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist

[core]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist

[extra]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist

#[community-testing]
## Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist

[multilib]
## Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist

[community]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#Server = file:///home/custompkgs

更多信息:

[seth@archbang google-talkplugin-amd64]$ sudo makepkg --check --asroot
==> Making package: google-talkplugin-amd64 2.5.6.0-1 (Mon Nov 21 21:31:50 MST 2011)
==> Checking runtime dependencies...
==> Missing Dependencies:
  -> lib32-alsa-lib
  -> libstdc++5
  -> glew
  -> lib32-libxt
  -> lib32-openssl
  -> lib32-libxfixes
  -> lib32-gtk2
  -> lib32-gdk-pixbuf2
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.

MAKEPGK.conf

#
# /etc/makepkg.conf
#

#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
#  Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
          'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u'
          'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
          'rsync::/usr/bin/rsync -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/curl

#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="x86_64"
CHOST="x86_64-unknown-linux-gnu"

#-- Exclusive: will only run on x86_64
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CFLAGS="-march=amdfam10 -mtune=amdfam10 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
CXXFLAGS="-march=amdfam10 -mtune=amdfam10 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j5"

#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check)
#  A negated environment option will do the opposite of the comments below.
#
#-- fakeroot: Allow building packages as a non-root user
#-- distcc:   Use the Distributed C/C++/ObjC compiler
#-- color:    Colorize output messages
#-- ccache:   Use ccache to cache compilation
#-- check:    Run the check() function if present in the PKGBUILD
#
BUILDENV=(fakeroot !distcc color !ccache check)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""

#########################################################################
# GLOBAL PACKAGE OPTIONS
#   These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs libtool emptydirs zipman purge)
#  A negated option will do the opposite of the comments below.
#
#-- strip:     Strip symbols from binaries/libraries
#-- docs:      Save doc directories specified by DOC_DIRS
#-- libtool:   Leave libtool (.la) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman:    Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge:     Remove files specified by PURGE_TARGETS
#
OPTIONS=(strip docs libtool emptydirs zipman purge)

#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)

#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <[email protected]>"

#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
#          doing.
#
PKGEXT='.pkg.tar.xz'
SRCEXT='.src.tar.gz'

# vim: set ft=sh ts=2 sw=2 et:

结果

[seth@archbang ~]$ sudo pacman -Syu && sudo pacman -S base-devel
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
 community is up to date
:: Starting full system upgrade...
 there is nothing to do
:: There are 11 members in group base-devel:
:: Repository core
   1) autoconf  2) automake  3) bison  4) fakeroot  5) flex  6) gcc  7) libtool
   8) m4  9) make  10) patch  11) pkg-config

Enter a selection (default=all): 
warning: autoconf-2.68-2 is up to date -- reinstalling
warning: automake-1.11.1-3 is up to date -- reinstalling
warning: bison-2.5-2 is up to date -- reinstalling
warning: fakeroot-1.18.1-1 is up to date -- reinstalling
warning: flex-2.5.35-5 is up to date -- reinstalling
warning: gcc-4.6.2-1 is up to date -- reinstalling
warning: libtool-2.4.2-2 is up to date -- reinstalling
warning: m4-1.4.16-2 is up to date -- reinstalling
warning: make-3.82-4 is up to date -- reinstalling
warning: patch-2.6.1-3 is up to date -- reinstalling
warning: pkg-config-0.26-2 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (11): m4-1.4.16-2 [0.16 MB]  autoconf-2.68-2 [0.56 MB]
              automake-1.11.1-3 [0.51 MB]  bison-2.5-2 [0.42 MB]
              fakeroot-1.18.1-1 [0.05 MB]  flex-2.5.35-5 [0.24 MB]
              gcc-4.6.2-1 [17.03 MB]  libtool-2.4.2-2 [0.26 MB]
              make-3.82-4 [0.34 MB]  patch-2.6.1-3 [0.06 MB]
              pkg-config-0.26-2 [0.03 MB]

Total Download Size:    0.00 MB
Total Installed Size:   77.21 MB

Proceed with installation? [Y/n] y
(11/11) checking package integrity                 [----------------------] 100%
(11/11) checking for file conflicts                [----------------------] 100%
( 1/11) upgrading m4                               [----------------------] 100%
( 2/11) upgrading autoconf                         [----------------------] 100%
( 3/11) upgrading automake                         [----------------------] 100%
( 4/11) upgrading bison                            [----------------------] 100%
( 5/11) upgrading fakeroot                         [----------------------] 100%
( 6/11) upgrading flex                             [----------------------] 100%
( 7/11) upgrading gcc                              [----------------------] 100%
( 8/11) upgrading libtool                          [----------------------] 100%
( 9/11) upgrading make                             [----------------------] 100%
(10/11) upgrading patch                            [----------------------] 100%
(11/11) upgrading pkg-config                       [----------------------] 100%
[seth@archbang ~]$ sudo pacman -Qi base-devel
error: package "base-devel" not found

答案1

此应用程序的许多依赖项都是 32 位的。为了让 pacman 能够安装它们,您需要启用 multilib 存储库才能pacman.conf成功构建软件包。

多库条目在 Arch 维基上。

如果这不起作用,您应该尝试安装一个(或多个)或依赖项,以pacman -S $pkg确保您的 pacman 数据库是最新的并且正在同步到当前镜像。

由于 Arch 是滚动版本,因此批判的您同步到当前的镜像 - 否则这将导致各种问题。

如果有效,那么我建议检查您makepkg.conf是否有任何异常情况。

更新 您必须手动构建一些依赖项:libpng12openssl-compatibility,例如。我不知道为什么 makepkg 没有打印出完整的错误消息:它应该是:

==> Making package: google-talkplugin 2.5.6.0-1 (Wed Nov 23 18:58:38 NZDT 2011)
==> Checking runtime dependencies...
==> Installing missing dependencies...
error: target not found: openssl-compatibility
==> ERROR: 'pacman' failed to install missing dependencies.

您还可以考虑使用 AUR 帮助程序自动从 AUR 安装依赖项。

相关内容