You are not logged in.
Is this the right place to ask about AUR packages?
I look after the courier-mta package and since the previous package (v1.3.5) there has presumably been a change to pacman or makepkg as my PKGBUILD now fails to build.
I can run the configure and make from the command line and get a successful compilation so I assume the issue lies with makepkg.
Here is the relevant section of the config.log:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by courier configure 1.3.7, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc/courier --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var/spool/courier --enable-unicode --enable-workarounds-for-imap-client-bugs --enable-mimetypes=/etc/mime.types --with-piddir=/run/courier --with-trashquota --with-db=gdbm --with-random=/dev/urandom --with-mailuser=courier --with-mailgroup=courier --with-certdb=/etc/ssl/certs/ --with-notice=unicode
## --------- ##
## Platform. ##
## --------- ##
hostname = pinnacle
uname -m = x86_64
uname -r = 6.8.7-arch1-1
uname -s = Linux
uname -v = #1 SMP PREEMPT_DYNAMIC Wed, 17 Apr 2024 15:20:28 +0000
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin/
PATH: /usr/local/bin/
PATH: /usr/bin/
PATH: /usr/lib/jvm/default/bin/
PATH: /usr/bin/site_perl/
PATH: /usr/bin/vendor_perl/
PATH: /usr/bin/core_perl/
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2770: looking for aux files: config.guess config.sub ltmain.sh compile missing install-sh
configure:2783: trying ./
configure:2812: ./config.guess found
configure:2812: ./config.sub found
configure:2812: ./ltmain.sh found
configure:2812: ./compile found
configure:2812: ./missing found
configure:2794: ./install-sh found
configure:2943: checking for a BSD-compatible install
configure:3016: result: /usr/bin/install -c
configure:3027: checking whether build environment is sane
configure:3082: result: yes
configure:3241: checking for a race-free mkdir -p
configure:3285: result: /usr/bin/mkdir -p
configure:3292: checking for gawk
configure:3313: found /usr/bin/gawk
configure:3324: result: gawk
configure:3335: checking whether make sets $(MAKE)
configure:3358: result: yes
configure:3388: checking whether make supports nested variables
configure:3406: result: yes
configure:3608: checking for gcc
configure:3629: found /usr/bin/gcc
configure:3640: result: gcc
configure:3993: checking for C compiler version
configure:4002: gcc --version >&5
gcc (GCC) 13.2.1 20230801
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:4013: $? = 0
configure:4002: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.1 20230801 (GCC)
configure:4013: $? = 0
configure:4002: gcc -V >&5
gcc: error: unrecognized command-line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:4013: $? = 1
configure:4002: gcc -qversion >&5
gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:4013: $? = 1
configure:4002: gcc -version >&5
gcc: error: unrecognized command-line option '-version'
gcc: fatal error: no input files
compilation terminated.
configure:4013: $? = 1
configure:4033: checking whether the C compiler works
configure:4055: gcc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/aur/courier-mta/src=/usr/src/debug/courier-mta -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto,-L /usr/lib/courier-authlib -lcourierauth conftest.c >&5
cc1: error: unrecognized argument to '-flto=' option: 'auto,-L'
configure:4059: $? = 1
configure:4099: result: no
configure: failed program was:
| /* end confdefs.h. */
|
| int
| main (void)
| {
|
| ;
| return 0;
| }
configure:4104: error: in `/home/aur/courier-mta/src/courier-1.3.7':
configure:4106: error: C compiler cannot create executables
I confess to being out of my depth at this point so any help would be appreciated.
Neil.
Offline
Post your makepkg.conf
Online
Is this the right place to ask about AUR packages?
Nope. I moved to to AUR Issues for you.
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
I don't make any changes to makepkg.conf but here it is anyway:
#!/hint/bash
# shellcheck disable=2034
#
# /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::breezy'
'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=3 -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection \
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
-Wl,-z,pack-relative-relocs"
LTOFLAGS="-flto=auto"
RUSTFLAGS="-Cforce-frame-pointers=yes"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
DEBUG_CFLAGS="-g"
DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
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 !autodeps)
# 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
#-- autodeps: Automatically add depends/provides
#
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"
#-- Prefix and directories for library autodeps
LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32')
#########################################################################
# 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 -T0 --ultra -20 -)
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=()
# vim: set ft=sh ts=2 sw=2 et:
Offline
So everything there is fine, it's likely they way their build system is using $LDFLAGS.
Last edited by Scimmia (2024-04-24 15:41:21)
Online
https://aur.archlinux.org/cgit/aur.git/ … er-mta#n60
Replace
LDFLAGS+=",-L /usr/lib/courier-authlib -lcourierauth"
with
LDFLAGS+=" -L/usr/lib/courier-authlib -lcourierauth"
or
LDFLAGS+=" -Wl,-L/usr/lib/courier-authlib -Wl,-lcourierauth"
Edit:
Missing makedepends on procps-ng and systemd.
Last edited by loqs (2024-04-24 16:13:52)
Offline
Many thanks for getting to the bottom of this so quickly. If I replace the leading comma in LDFLAGS with space I get this far:
/bin/sh ./libtool --tag=CC --mode=link gcc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/aur/courier-mta/src=/usr/src/debug/courier-mta -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -L /usr/lib/courier-authlib -lcourierauth -o libgdbmobj.la gdbmobj.lo gdbmobj2.lo gdbmobj3.lo -lgdbm
libtool: error: require no space between '-L' and '/usr/lib/courier-authlib'
make[2]: *** [Makefile:452: libgdbmobj.la] Error 1
make[2]: Leaving directory '/home/aur/courier-mta/src/courier-1.3.7/libs/gdbmobj'
make[1]: *** [Makefile:378: all] Error 2
make[1]: Leaving directory '/home/aur/courier-mta/src/courier-1.3.7/libs/gdbmobj'
make: *** [Makefile:466: all-recursive] Error 1
==> ERROR: A failure occurred in build().
Aborting...
Removing the space after "-L" does the trick.
The second suggestion introducing -wl fails in the same way as the original.
I guess there must have been some stricter syntax check introduced recently.
Neil.
Last edited by vario (2024-04-24 16:16:05)
Offline
-wl should be -Wl which instructs the compiler to pass the options to the linker though it does not matter for -L and -l as the compiler knows about those options.
Offline
I know this is a bit lazy of me, but now I get two directories in the pkg folder where before only one...
1) pkg/courier-mta
2) pkg/courier-mta-debug
Do I need to be concerned about the "-debug" directory? How do I avoid it?
Neil.
SOLVED - add options=(!debug) to the PKGBUILD
Last edited by vario (2024-04-24 16:42:47)
Offline