You are not logged in.

#1 2009-05-31 11:39:53

aniruddha
Member
Registered: 2009-05-31
Posts: 12

(SOLVED) Problems resolving dependencies as fakeroot wit AUR

I downloaded the tsclient PKGBUILD and followed the AUR User Guidelines. Fakeroot is installed (I don't use sudo) and makepkg.conf looks ok. When I issue makepkg I get the following errors.  What is the proper way to deal with these buildtime dependencies?

$ makepkg -s

==> ERROR: Cannot find the sudo binary! Is sudo installed?
    Missing dependencies cannot be installed or removed as a normal user
    without sudo; install and configure sudo to auto-resolve dependencies.

$ makepkg

==> Making package: tsclient2 2.0.1-4 x86_64 (Sun May 31 13:35:11 CEST 2009)
==> Checking Runtime Dependencies...
==> Missing Dependencies:
  -> rdesktop>=1.3
==> Checking Buildtime Dependencies...
==> Missing Dependencies:
  -> sharutils
==> ERROR: Could not resolve all dependencies.

$ cat /etc/makepkg.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 -march=x86-64 
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"

#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache !xdelta)
#  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
#-- xdelta:   Generate delta patch from previous to current package
#
BUILDENV=(fakeroot !distcc color !ccache !xdelta)
#
#-- 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)
#  A negated option will do the opposite of the comments below.
#
#-- strip:     Strip symbols from binaries/libraries
#-- docs:      Save doc and info directories
#-- libtool:   Leave libtool (.la) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman:    Compress manpages with gzip
#
OPTIONS=(strip docs libtool emptydirs zipman)

#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Info and doc directories to remove (if option set correctly above)
DOC_DIRS=(usr/{,share/}{info,doc,gtk-doc} opt/*/{info,doc,gtk-doc})
#-- Directories to be searched for the strip option (if option set correctly above)
STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin})

#########################################################################
# 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
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"

#########################################################################
# BUILDSCRIPT/EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
#          doing.
#
BUILDSCRIPT='PKGBUILD'
PKGEXT='.pkg.tar.gz'
SRCEXT='.src.tar.gz'
DB_COMPRESSION='gz'
DB_CHECKSUMS=(md5)

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

Last edited by aniruddha (2009-05-31 17:10:52)

Offline

#2 2009-05-31 11:42:56

SpeedVin
Member
From: Poland
Registered: 2009-04-29
Posts: 955

Re: (SOLVED) Problems resolving dependencies as fakeroot wit AUR

You must install sudo do build packages wink


Shell Scripter | C/C++/Python/Java Coder | ZSH

Offline

#3 2009-05-31 11:43:29

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: (SOLVED) Problems resolving dependencies as fakeroot wit AUR

@aniruddha i`m sorry if you didn't understand the first error. just install sudo and add configure sudo to be used by your username.
http://wiki.archlinux.org/index.php/Sudo


Give what you have. To someone, it may be better than you dare to think.

Offline

#4 2009-05-31 11:54:13

aniruddha
Member
Registered: 2009-05-31
Posts: 12

Re: (SOLVED) Problems resolving dependencies as fakeroot wit AUR

Thanks for the quick replies! I really want to avoid sudo, and as far as I can tell it isn't necessary: I rather use fakeroot instead. I wonder though why it doesn't work hmm

This will use sudo to install any dependencies, if the use of sudo is undesirable use fakeroot (see below) and don't include the "-s" in the makepkg command.

Using fakeroot
fakeroot simply allows a normal user the necessary root permissions to create pkgs in the build environment without being able to alter the wider system. If the build process attempts to alter files outside of the build environment then errors are produced and the build fails - this is very useful for checking the quality/safety/integrity of PKGBUILDs for distribution. By default export USE_FAKEROOT="y" is included in /etc/makepkg.conf, so unless you have switched it off it is already enabled

.
http://wiki.archlinux.org/index.php/AUR_User_Guidelines

Offline

#5 2009-05-31 11:56:59

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,385
Website

Re: (SOLVED) Problems resolving dependencies as fakeroot wit AUR

You still need sudo to install the dependencies.  Fakeroot does something completely different.  The way around using sudo is to install missing dependencies manually (pacman -S --asdep <list of packages>) and not use the "-s" flag for makepkg.

Offline

#6 2009-05-31 12:08:40

aniruddha
Member
Registered: 2009-05-31
Posts: 12

Re: (SOLVED) Problems resolving dependencies as fakeroot wit AUR

Allan wrote:

You still need sudo to install the dependencies.  Fakeroot does something completely different.  The way around using sudo is to install missing dependencies manually (pacman -S --asdep <list of packages>) and not use the "-s" flag for makepkg.

Thanks, issuing 'pacman -S --asdep rdesktop sharutils' did the trick. I'll update the wiki. What about running 'makepkg' from inside a fakeroot? Does this also work? Are there any (dis)advantages to this approach?

1) $ fakeroot
2) # makepkg --asroot

Last edited by aniruddha (2009-05-31 12:08:59)

Offline

#7 2009-05-31 13:13:27

Mr.Elendig
#archlinux@freenode channel op
From: The intertubes
Registered: 2004-11-07
Posts: 4,092

Re: (SOLVED) Problems resolving dependencies as fakeroot wit AUR

aniruddha wrote:
Allan wrote:

You still need sudo to install the dependencies.  Fakeroot does something completely different.  The way around using sudo is to install missing dependencies manually (pacman -S --asdep <list of packages>) and not use the "-s" flag for makepkg.

Thanks, issuing 'pacman -S --asdep rdesktop sharutils' did the trick. I'll update the wiki. What about running 'makepkg' from inside a fakeroot? Does this also work? Are there any (dis)advantages to this approach?

1) $ fakeroot
2) # makepkg --asroot

http://wiki.archlinux.org/index.php/Makepkg wrote:

If you want to be able to install dependencies with makepkg as user (with makepkg -s, see below) you need to install sudo and add yourself to /etc/sudoers:

USER_NAME    ALL=(ALL)    NOPASSWD: /usr/bin/pacman

The above will negate the need to enter a password with pacman. See the Sudo wiki for detailed information.


Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest

Offline

#8 2009-05-31 13:25:58

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,385
Website

Re: (SOLVED) Problems resolving dependencies as fakeroot wit AUR

aniruddha wrote:
Allan wrote:

You still need sudo to install the dependencies.  Fakeroot does something completely different.  The way around using sudo is to install missing dependencies manually (pacman -S --asdep <list of packages>) and not use the "-s" flag for makepkg.

Thanks, issuing 'pacman -S --asdep rdesktop sharutils' did the trick. I'll update the wiki. What about running 'makepkg' from inside a fakeroot? Does this also work? Are there any (dis)advantages to this approach?

1) $ fakeroot
2) # makepkg --asroot

Um...  I really have no idea what you are doing! 

Just run makepkg as a user and either setup sudo so it will install deps for you or install them using pacman yourself.  There is nothing more to package building.

Offline

#9 2009-05-31 17:10:21

aniruddha
Member
Registered: 2009-05-31
Posts: 12

Re: (SOLVED) Problems resolving dependencies as fakeroot wit AUR

I get it. fakeroot is only for the building phase. Thanks all for you help smile

Offline

Board footer

Powered by FluxBB