Makepkg fails when installing microsoft edge

Hello
I’m new here
I have a problem when trying to install microsoft edge from AUR.
I got several errors from shell scripts.
Any idea what’s ongoing here?
Reinstalling pacman didn’t help either.
Thank you.
br.ari

moderated - codefence
Remember to use codefence as described below.

=> Retrieving sources...
  -> Downloading microsoft-edge-stable_96.0.1054.34-1_amd64.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  112M  100  112M    0     0  2997k      0  0:00:38  0:00:38 --:--:-- 3130k
  -> Found microsoft-edge-stable.sh
  -> Found Microsoft Standard Application License Terms - Standalone (free) Use Terms.pdf
==> Validating source files with sha256sums...
    microsoft-edge-stable_96.0.1054.34-1_amd64.deb ... Passed
    microsoft-edge-stable.sh ... Passed
    Microsoft Standard Application License Terms - Standalone (free) Use Terms.pdf ... Passed
==> Making package: microsoft-edge-stable-bin 96.0.1054.34-1 (ti 30. marraskuuta 2021 19.57.52)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found microsoft-edge-stable_96.0.1054.34-1_amd64.deb
  -> Found microsoft-edge-stable.sh
  -> Found Microsoft Standard Application License Terms - Standalone (free) Use Terms.pdf
==> Validating source files with sha256sums...
    microsoft-edge-stable_96.0.1054.34-1_amd64.deb ... Passed
    microsoft-edge-stable.sh ... Passed
    Microsoft Standard Application License Terms - Standalone (free) Use Terms.pdf ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting microsoft-edge-stable_96.0.1054.34-1_amd64.deb with bsdtar
==> Sources are ready.
==> Making package: microsoft-edge-stable-bin 96.0.1054.34-1 (ti 30. marraskuuta 2021 19.57.54)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Entering fakeroot environment...
/usr/share/makepkg/util/config.sh: command substitution: line 75: conditional binary operator expected
/usr/share/makepkg/util/config.sh: command substitution: line 75: syntax error near `$var'
/usr/share/makepkg/util/config.sh: command substitution: line 75: `                     [[ -v $var ]] && printf '%s=%s\n' "$var" "${!var@Q}"'
==> ERROR: $SRCEXT does not contain a valid package suffix (needs '.src.tar*', got '')
==> ERROR: $PKGEXT does not contain a valid package suffix (needs '.pkg.tar*', got '')
/usr/share/makepkg/util/util.sh: line 49: ${!v@a}: bad substitution
==> ERROR: microsoft-edge-stable-bin is not available for the '' architecture.
==> ERROR: checkdepends is not allowed to be empty.
/usr/share/makepkg/util/util.sh: line 49: ${!v@a}: bad substitution
/usr/bin/makepkg: line 395: local: `-': not a valid identifier
==> Starting package()...
==> Tidying install...
==> Checking for packaging issues...
==> Creating package "microsoft-edge-stable-bin"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> WARNING: '' is not a valid archive extension.
==> Leaving fakeroot environment.
==> Finished making: microsoft-edge-stable-bin 96.0.1054.34-1 (ti 30. marraskuuta 2021 19.58.07)
==> Cleaning up...
 -> the PKGDEST for microsoft-edge-stable-bin is listed by makepkg but does not exist: /home/kumpumak/.cache/yay/microsoft-edge-stable-bin/microsoft-edge-stable-bin-96.0.1054.34-1-x86_64.pkg.tar.zst

Please post the output of:

cat /etc/makepkg.conf

And if it exists:

cat ~/pacman/makepkg.conf

or

~/.makepkg.conf

Tip: When pasting terminal output on Discourse forums, one can either…

  • Use the Preformatted text </> toolbar button.

  • Add three backticks ` above and below the text (Markdown):

    ```
    type or paste code here
    ```

  • Use HTML:

    <pre><code>
    type or paste code here
    </pre></code>

Please edit your post accordingly.

Your issue is local your system - we cannot know what is wrong - but a @Yochanan’s suggestion on maikepkg.conf may reveal something.

The following is the output from build the package - documenting the above statement.

➜  ~ pamac build microsoft-edge-stable-bin
Preparing...
Checking microsoft-edge-stable-bin dependencies...
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  microsoft-edge-stable-bin  96.0.1054.34-1    AUR


Edit build files : [e] 
Apply transaction ? [e/y/N] y

Cloning microsoft-edge-stable-bin build files...
Generating microsoft-edge-stable-bin information...

Building microsoft-edge-stable-bin...
==> Making package: microsoft-edge-stable-bin 96.0.1054.34-1 (2021-11-30T19:33:49 CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading microsoft-edge-stable_96.0.1054.34-1_amd64.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  112M  100  112M    0     0  12.9M      0  0:00:08  0:00:08 --:--:-- 14.6M
  -> Found microsoft-edge-stable.sh
  -> Found Microsoft Standard Application License Terms - Standalone (free) Use Terms.pdf
==> Validating source files with sha256sums...
    microsoft-edge-stable_96.0.1054.34-1_amd64.deb ... Passed
    microsoft-edge-stable.sh ... Passed
    Microsoft Standard Application License Terms - Standalone (free) Use Terms.pdf ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting microsoft-edge-stable_96.0.1054.34-1_amd64.deb with bsdtar
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
==> Checking for packaging issues...
==> Creating package "microsoft-edge-stable-bin"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: microsoft-edge-stable-bin 96.0.1054.34-1 (2021-11-30T19:34:09 CET)
==> Cleaning up...

Checking keyring...                                                        [1/1]
Checking integrity...                                                      [1/1]
Loading packages files...                                                  [1/1]
Checking file conflicts...                                                 [1/1]
Checking available disk space...                                           [1/1]
Installing microsoft-edge-stable-bin (96.0.1054.34-1)...                   [1/1]
Running post-transaction hooks...
Arming ConditionNeedsUpdate...                                             [1/3]
Updating icon theme caches...                                              [2/3]
Updating the desktop file MIME type cache...                               [3/3]
Transaction successfully finished.

Thanks for fast respose.
I only have /etc/makepkg.conf
And the used release is: 21.2.0

#!/hint/bash
#
# /etc/makepkg.conf
#

#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
#  Format: 'protocol::agent'
DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u'
          'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
          'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'rsync::/usr/bin/rsync --no-motd -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

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

#-- The package required by makepkg to download VCS sources
#  Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
            'fossil::fossil'
            'git::git'
            'hg::mercurial'
            'svn::subversion')

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

#-- Compiler and Linker Flags
#CPPFLAGS=""
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
        -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
        -fstack-clash-protection -fcf-protection"
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
#RUSTFLAGS="-C opt-level=2"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
#DEBUG_RUSTFLAGS="-C debuginfo=2"

#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
#  A negated environment option will do the opposite of the comments below.
#
#-- 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
#-- sign:     Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- 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=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg

#########################################################################
# GLOBAL PACKAGE OPTIONS
#   These are default values for the options=() settings
#########################################################################
#
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
#  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
#-- staticlibs: Leave static library (.a) 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
#-- debug:      Add debugging flags as specified in DEBUG_* variables
#-- lto:        Add compile flags for building with link time optimization
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)

#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
INTEGRITY_CHECK=(sha256)
#-- 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)
#-- Directory to store source code in for debug packages
DBGSRCDIR="/usr/src/debug"

#########################################################################
# 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
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""

#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
COMPRESSZST=(zstd -c -z -q -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
COMPRESSLZ4=(lz4 -q)
COMPRESSLZ=(lzip -c -f)

#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.gz'

#########################################################################
# OTHER
#########################################################################
#
#-- Command used to run pacman as root, instead of trying sudo and su
#PACMAN_AUTH=()
type or paste code here

Hmm…
When I run "pamac build microsoft-edge-stable-bin “, it finished succesfully
But above errors with makepkg I got when I run:
" yay -S microsoft-edge-stable”

Your /etc/makepkg.conf is normal.

If it’s only with Yay, then maybe something is wrong in the config?

Please post the output of:

yay --version

Also post the output of the following if it exists:

cat ~/.config/yay/config.json

Please edit your previous post instead of adding a new reply right afterward. I’ve merged your last two posts.

yay version:
yay v11.0.2 - libalpm v13.0.1
No config.json available at ~/.config/yay/

Please, post output of

cat /usr/share/makepkg/util/config.sh
cat /usr/share/makepkg/util/config.sh                                                                ✔ 
#!/usr/bin/bash
#
#   config.sh - functions for handling makepkg config files
#
#   Copyright (c) 2006-2021 Pacman Development Team <pacman-dev@archlinux.org>
#   Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
#
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

[[ -n "$LIBMAKEPKG_UTIL_CONFIG_SH" ]] && return
LIBMAKEPKG_UTIL_CONFIG_SH=1

LIBRARY=${LIBRARY:-'/usr/share/makepkg'}

source "$LIBRARY/util/error.sh"
source "$LIBRARY/util/message.sh"
source "$LIBRARY/util/util.sh"

# correctly source makepkg.conf, respecting user precedence and the system conf
source_makepkg_config() {
        # $1: override system config file

        local MAKEPKG_CONF=${1:-${MAKEPKG_CONF:-/etc/makepkg.conf}}

        # Source the config file; fail if it is not found
        if [[ -r $MAKEPKG_CONF ]]; then
                source_safe "$MAKEPKG_CONF"
        else
                error "$(gettext "%s not found.")" "$MAKEPKG_CONF"
                plainerr "$(gettext "Aborting...")"
                exit $E_CONFIG_ERROR
        fi

        # Source user-specific makepkg.conf overrides, but only if no override config
        # file was specified
        XDG_PACMAN_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/pacman"
        if [[ $MAKEPKG_CONF = "/etc/makepkg.conf" ]]; then
                if [[ -r $XDG_PACMAN_DIR/makepkg.conf ]]; then
                        source_safe "$XDG_PACMAN_DIR/makepkg.conf"
                elif [[ -r $HOME/.makepkg.conf ]]; then
                        source_safe "$HOME/.makepkg.conf"
                fi
        fi
}

# load makepkg.conf by sourcing the configuration files, and preserving
# existing environment settings
load_makepkg_config() {
        # $1: override system config file

        local MAKEPKG_CONF=${1:-${MAKEPKG_CONF:-/etc/makepkg.conf}}

        # preserve environment variables to override makepkg.conf
        local restore_envvars=$(
                for var in PKGDEST SRCDEST SRCPKGDEST LOGDEST BUILDDIR PKGEXT SRCEXT GPGKEY PACKAGER CARCH; do
                        # the output of 'declare -p' results in locally scoped values when used within a function
                        [[ -v $var ]] && printf '%s=%s\n' "$var" "${!var@Q}"
                done
        )

        source_makepkg_config "$MAKEPKG_CONF"

        eval "$restore_envvars"
}

Hi again
An another thing that now when I tried to update Edge via GUI package manager it says: “Failed to prepare transaction”, “target not found: microsoft-edge-stabe-bin”
But I manage to update with: sudo pamac update
Yep, a bit confusing…

@arik

What shell are you using?

echo $SHELL

/bin/zsh