You are not logged in.

#1 2025-11-16 11:10:19

Lockheed
Member
Registered: 2010-03-16
Posts: 1,550

[solved] Installing/upgrading anything from AUR = memory overflow

I've been experiencing this issue since at least a week. During system updates, I normally use pikaur or paru and when the repo packages are updated and it proceeds to AUR packages, it shows "Reading local package database..." indefinitely, and while doing so, it fills up entire free RAM, no mater if it is 64GB or 32GB. System then freezes and hard reboot is necessary. It happens on all my Arch machines (be it personal computers or servers). Rebooting solves nothing.

I though compiling manually with makepkg would circumvent the issue, but the result is the same.

ChatGPT/Perplexity claims this is a widespread unresolved issue with AUR, but I've seen no other posts on the subject.
Does anyone have any idea what's going on and/or how to fix it?

Last edited by Lockheed (2025-11-16 22:40:16)

Offline

#2 2025-11-16 12:09:28

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,443
Website

Re: [solved] Installing/upgrading anything from AUR = memory overflow

I have already tried to answer a similar request from you on one of my AUR packages, but you got stuck ther on installing the "devtools" package I guess:
https://aur.archlinux.org/pkgbase/zfs-l … nt-1047309

Offline

#3 2025-11-16 12:25:58

Lockheed
Member
Registered: 2010-03-16
Posts: 1,550

Re: [solved] Installing/upgrading anything from AUR = memory overflow

gromit wrote:

I have already tried to answer a similar request from you on one of my AUR packages, but you got stuck ther on installing the "devtools" package I guess

You did not mention devtools in your response there. Besides, even if that would work for zfs-linux, it still does not address the questions I asked here: is it in fact widespread, why does that happen when accessing anything from AUR, and how to fix it.

Last edited by Lockheed (2025-11-16 12:26:32)

Offline

#4 2025-11-16 12:35:47

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,565

Re: [solved] Installing/upgrading anything from AUR = memory overflow

Reading local package database...

That phrase doesn't occur at all when I build packages with makepkg.


Please create a fresh clone of freecol-git (has no aur deps and builds fast) and run makepkg -rs --log in that folder.
If that succeeds, makepkg works as intended.
Does that crash also ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#5 2025-11-16 12:50:49

Lockheed
Member
Registered: 2010-03-16
Posts: 1,550

Re: [solved] Installing/upgrading anything from AUR = memory overflow

Lone_Wolf wrote:
Reading local package database...

That phrase doesn't occur at all when I build packages with makepkg.

You're right, but apart form the message, the resulting memory leak is the same with makepkg


Lone_Wolf wrote:

Please create a fresh clone of freecol-git (has no aur deps and builds fast) and run makepkg -rs --log in that folder.
If that succeeds, makepkg works as intended.
Does that crash also ?

It does.

freecol-git]$ makepkg -rs --log
/usr/bin/bash: warning: shell level (1000) too high, resetting to 1
/usr/bin/bash: warning: shell level (1000) too high, resetting to 1
/usr/bin/bash: warning: shell level (1000) too high, resetting to 1
/usr/bin/bash: warning: shell level (1000) too high, resetting to 1
/usr/bin/bash: warning: shell level (1000) too high, resetting to 1
/usr/bin/bash: warning: shell level (1000) too high, resetting to 1

That took about 1 minute and 5-10GB of memory. It would proceed to crash if I hadn't killed it. After CTRL+C-ing it, I get about a thousand messages like that:

==> ERROR: Aborted by user! Exiting...

==> ERROR: Aborted by user! Exiting...

==> ERROR: Aborted by user! Exiting...

==> ERROR: Aborted by user! Exiting...

==> ERROR: Aborted by user! Exiting...

==> ERROR: Aborted by user! Exiting...

==> ERROR: Aborted by user! Exiting...

==> ERROR: Aborted by user! Exiting...

before it returns me back to the console prompt. It's the same thing with AUR helpers.

Offline

#6 2025-11-16 13:03:18

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,565

Re: [solved] Installing/upgrading anything from AUR = memory overflow

/usr/bin/bash: warning: shell level (1000) too high, resetting to 1

That indicates something in your shell is opening another shell which opens another shell ad infinitum.

Please post your ~/.bashrc and ~/.bash_profile


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#7 2025-11-16 21:20:24

Lockheed
Member
Registered: 2010-03-16
Posts: 1,550

Re: [solved] Installing/upgrading anything from AUR = memory overflow

# cat /home/rock/.bashrc 
#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
# cat /home/rock/.bash_profile 
#
# ~/.bash_profile
#

[[ -f ~/.bashrc ]] && . ~/.bashrc
cat /home/juha/.bashrc 

# Check for an interactive session
[ -z "$PS1" ] && return

alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '

if [ -f /etc/profile ]; then
  . /etc/profile
fi


# simplified systemd command, for instance "sudo systemctl stop xxx" - > "0.stop xxx"
if ! systemd-notify --booted;
then  # for not systemd
    0.start() {
        sudo rc.d start $1
    }

    0.restart() {
        sudo rc.d restart $1
    }

    0.stop() {
        sudo rc.d stop $1
    }
else
# start systemd service
    0.start() {
        sudo systemctl start $1
    }
# restart systemd service
    0.restart() {
        sudo systemctl restart $1
    }
# stop systemd service
    0.stop() {
        sudo systemctl stop $1
    }
# enable systemd service
    0.enable() {
        sudo systemctl enable $1
    }
# disable a systemd service
    0.disable() {
        sudo systemctl disable $1
    }
# show the status of a service
    0.status() {
        systemctl status $1
    }
# reload a service configuration
    0.reload() {
        sudo systemctl reload $1
    }
# list all running service
    0.list() {
        systemctl
    }
# list all failed service
    0.failed () {
        systemctl --failed
    }
# list all systemd available unit files
    0.list-files() {
        systemctl list-unit-files
    }
# check the log
    0.log() {
        sudo journalctl
    }
# show wants
    0.wants() {
        systemctl show -p "Wants" $1.target
    }
# analyze the system
    0.analyze() {
        systemd-analyze $1
    }
fi

export LIBVA_DRIVER_NAME=vdpau
export VDPAU_DRIVER=r600
export BROWSER="firefox-nightly"
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/juha/bin:/opt/android-sdk:/opt/android-sdk/platform-tools:/home/juha/.gem/ruby/2.1.0/bin:/usr/bin/core_perl/:/opt/kf5/bin:/var/lib/snapd/snap/bin" 

PATH="/home/juha/perl5/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="/home/juha/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/home/juha/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/home/juha/perl5\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/home/juha/perl5"; export PERL_MM_OPT;

# =============================================================================
#
# Utility functions for zoxide.
#

# pwd based on the value of _ZO_RESOLVE_SYMLINKS.
function __zoxide_pwd() {
    \builtin pwd -L
}

# cd + custom logic based on the value of _ZO_ECHO.
function __zoxide_cd() {
    # shellcheck disable=SC2164
    \builtin cd -- "$@"
}

# =============================================================================
#
# Hook configuration for zoxide.
#

# Hook to add new entries to the database.
__zoxide_oldpwd="$(__zoxide_pwd)"

function __zoxide_hook() {
    \builtin local -r retval="$?"
    \builtin local pwd_tmp
    pwd_tmp="$(__zoxide_pwd)"
    if [[ ${__zoxide_oldpwd} != "${pwd_tmp}" ]]; then
        __zoxide_oldpwd="${pwd_tmp}"
        \command zoxide add -- "${__zoxide_oldpwd}"
    fi
    return "${retval}"
}

# Initialize hook.
if [[ ${PROMPT_COMMAND:=} != *'__zoxide_hook'* ]]; then
    PROMPT_COMMAND="__zoxide_hook;${PROMPT_COMMAND#;}"
fi

# =============================================================================
#
# When using zoxide with --no-cmd, alias these internal functions as desired.
#

__zoxide_z_prefix='z#'

# Jump to a directory using only keywords.
function __zoxide_z() {
    # shellcheck disable=SC2199
    if [[ $# -eq 0 ]]; then
        __zoxide_cd ~
    elif [[ $# -eq 1 && $1 == '-' ]]; then
        __zoxide_cd "${OLDPWD}"
    elif [[ $# -eq 1 && -d $1 ]]; then
        __zoxide_cd "$1"
    elif [[ ${@: -1} == "${__zoxide_z_prefix}"?* ]]; then
        # shellcheck disable=SC2124
        \builtin local result="${@: -1}"
        __zoxide_cd "${result:${#__zoxide_z_prefix}}"
    else
        \builtin local result
        # shellcheck disable=SC2312
        result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -- "$@")" &&
            __zoxide_cd "${result}"
    fi
}

# Jump to a directory using interactive search.
function __zoxide_zi() {
    \builtin local result
    result="$(\command zoxide query --interactive -- "$@")" && __zoxide_cd "${result}"
}

# =============================================================================
#
# Commands for zoxide. Disable these using --no-cmd.
#

\builtin unalias cd &>/dev/null || \builtin true
function cd() {
    __zoxide_z "$@"
}

\builtin unalias cdi &>/dev/null || \builtin true
function cdi() {
    __zoxide_zi "$@"
}

# Load completions.
# - Bash 4.4+ is required to use `@Q`.
# - Completions require line editing. Since Bash supports only two modes of
#   line editing (`vim` and `emacs`), we check if either them is enabled.
# - Completions don't work on `dumb` terminals.
if [[ ${BASH_VERSINFO[0]:-0} -eq 4 && ${BASH_VERSINFO[1]:-0} -ge 4 || ${BASH_VERSINFO[0]:-0} -ge 5 ]] &&
    [[ :"${SHELLOPTS}": =~ :(vi|emacs): && ${TERM} != 'dumb' ]]; then
    # Use `printf '\e[5n'` to redraw line after fzf closes.
    \builtin bind '"\e[0n": redraw-current-line' &>/dev/null

    function __zoxide_z_complete() {
        # Only show completions when the cursor is at the end of the line.
        [[ ${#COMP_WORDS[@]} -eq $((COMP_CWORD + 1)) ]] || return

        # If there is only one argument, use `cd` completions.
        if [[ ${#COMP_WORDS[@]} -eq 2 ]]; then
            \builtin mapfile -t COMPREPLY < <(
                \builtin compgen -A directory -- "${COMP_WORDS[-1]}" || \builtin true
            )
        # If there is a space after the last word, use interactive selection.
        elif [[ -z ${COMP_WORDS[-1]} ]] && [[ ${COMP_WORDS[-2]} != "${__zoxide_z_prefix}"?* ]]; then
            \builtin local result
            # shellcheck disable=SC2312
            result="$(\command zoxide query --exclude "$(__zoxide_pwd)" --interactive -- "${COMP_WORDS[@]:1:${#COMP_WORDS[@]}-2}")" &&
                COMPREPLY=("${__zoxide_z_prefix}${result}/")
            \builtin printf '\e[5n'
        fi
    }

    \builtin complete -F __zoxide_z_complete -o filenames -- cd
    \builtin complete -r cdi &>/dev/null || \builtin true
fi

# =============================================================================
#
# To initialize zoxide, add this to your configuration (usually ~/.bashrc):
#
# eval "$(zoxide init bash)"

Two different systems. Last change in those files were in 2019 and 2024. The issue started only at most two weeks ago.

Last edited by Lockheed (2025-11-16 21:20:58)

Offline

#8 2025-11-16 21:39:08

loqs
Member
Registered: 2014-03-06
Posts: 18,725

Re: [solved] Installing/upgrading anything from AUR = memory overflow

What is the output of:

type -a bash
type -a makepkg

Offline

#9 2025-11-16 21:40:44

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,538

Re: [solved] Installing/upgrading anything from AUR = memory overflow

Both systems are affected?
makepkg itself is a shell script

type -a makepkg # assuming /usr/bin/makepkg

Edit /usr/bin/makepkg and add "set -x" under the shebang.
Run makepkg, it'll produce a shit ton of output, you might want to "|& tee /tmp/makepkg.log" and cltr+c early (since it's just recursing bashes anyway)
Should tell us where it enters the death spiral.

Offline

#10 2025-11-16 21:59:55

Lockheed
Member
Registered: 2010-03-16
Posts: 1,550

Re: [solved] Installing/upgrading anything from AUR = memory overflow

loqs wrote:

What is the output

It's the same on both machines:

~> type -a makepkg
makepkg is /usr/bin/makepkg
juha@panzor ~> type -a makepkg
makepkg is /usr/bin/makepkg
seth wrote:

Both systems are affected?

Yes. And potentially more, as I admin multiple Arch servers.

seth wrote:

Run makepkg, it'll produce a shit ton of output

https://pastebin.com/raw/XPdQyJPn

Offline

#11 2025-11-16 22:15:15

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,538

Re: [solved] Installing/upgrading anything from AUR = memory overflow

+ source /etc/makepkg.conf
++ DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' 'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' 'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 'https::/usr/bin/curl -gqb "" -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')
++ VCSCLIENTS=('bzr::bzr' 'git::git' 'hg::mercurial' 'svn::subversion')
++ CARCH=x86_64
++ CHOST=x86_64-pc-linux-gnu
++ CPPFLAGS=-D_FORTIFY_SOURCE=2
++ CFLAGS='-march=native -O2 -pipe -fno-plt'
++ CXXFLAGS='-march=native -O2 -pipe -fno-plt'
++ LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
+++ nproc
++ MAKEFLAGS=--jobs=16
++ DEBUG_CFLAGS='-g -fvar-tracking-assignments'
++ DEBUG_CXXFLAGS='-g -fvar-tracking-assignments'
++ BUILDENV=(!distcc color !ccache check !sign)
++ BUILDDIR=/tmp/makepkg
++ makepkg

makepkg ends up running itself, post your /etc/makepkg.conf

Offline

#12 2025-11-16 22:25:44

Lockheed
Member
Registered: 2010-03-16
Posts: 1,550

Re: [solved] Installing/upgrading anything from AUR = memory overflow

> 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/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
          'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'https::/usr/bin/curl -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'
            'git::git'
            'hg::mercurial'
            'svn::subversion')

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

#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=native -O2 -pipe -fstack-protector-strong -fno-plt"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="--jobs=$(nproc)"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"

#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# 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 makepkg

#########################################################################
# GLOBAL PACKAGE OPTIONS
#   These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)
#  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
#-- upx:        Compress binary executable files using UPX
#-- optipng:    Optimize PNG images with optipng
#-- debug:      Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)

#-- 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
#-- 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 -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)

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

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

and

# cat /etc/makepkg.conf
#!/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 -gqC - -o %o %u'
          'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
          'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'https::/usr/bin/curl -gqb "" -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'
            'git::git'
            'hg::mercurial'
            'svn::subversion')

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

#-- Compiler and Linker Flags
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=native -O2 -pipe -fno-plt"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="--jobs=$(nproc)"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"

#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# 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 makepkg

#########################################################################
# GLOBAL PACKAGE OPTIONS
#   These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug)
#  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
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug)

#-- 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)
#-- 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'
SRCEXT='.src.tar.gz'

Last edited by Lockheed (2025-11-16 22:27:22)

Offline

#13 2025-11-16 22:27:01

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,538

Re: [solved] Installing/upgrading anything from AUR = memory overflow

#-- Specify a directory for package building.
BUILDDIR=/tmp/makepkg makepkg

What does this *actually* do?

Offline

#14 2025-11-16 22:32:30

Lockheed
Member
Registered: 2010-03-16
Posts: 1,550

Re: [solved] Installing/upgrading anything from AUR = memory overflow

Not sure. Runs nested makepkg ?
I have added some optimisation to the configs about a month ago, but do not recall anything about that line.

Gonna remove that duplicate now.

EDIT:
That resolved the issue. Thanks for your investigative help!

Last edited by Lockheed (2025-11-16 22:39:27)

Offline

#15 2025-11-16 23:05:53

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,538

Re: [solved] Installing/upgrading anything from AUR = memory overflow

foo=bar echo $foo

You're setting the variable foo to the value "bar" and then run "echo $foo"

BUILDDIR=/tmp/makepkg makepkg

sets BUILDDIR to /tmp/makepkg and then runs makepkg w/ that variable set

BUILDDIR="/tmp/makepkg makepkg"

sets BUILDDIR to "/tmp/makepkg makepkg"

but do not recall anything about that line

Likely copypasta or vimdisaster, the line defaults to

#BUILDDIR=/tmp/makepkg

Offline

Board footer

Powered by FluxBB