You are not logged in.

#1 2024-04-24 14:48:29

vario
Member
Registered: 2017-12-24
Posts: 14

makepkg compilation error

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

#2 2024-04-24 15:21:05

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,599

Re: makepkg compilation error

Post your makepkg.conf

Offline

#3 2024-04-24 15:30:57

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,804

Re: makepkg compilation error

vario wrote:

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

Online

#4 2024-04-24 15:33:35

vario
Member
Registered: 2017-12-24
Posts: 14

Re: makepkg compilation error

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

#5 2024-04-24 15:38:59

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,599

Re: makepkg compilation error

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)

Offline

#6 2024-04-24 15:41:36

loqs
Member
Registered: 2014-03-06
Posts: 17,440

Re: makepkg compilation error

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

#7 2024-04-24 16:09:13

vario
Member
Registered: 2017-12-24
Posts: 14

Re: makepkg compilation error

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

#8 2024-04-24 16:16:56

loqs
Member
Registered: 2014-03-06
Posts: 17,440

Re: makepkg compilation error

-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

#9 2024-04-24 16:30:30

vario
Member
Registered: 2017-12-24
Posts: 14

Re: makepkg compilation error

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

Board footer

Powered by FluxBB