Build of exim with clang_glibc toolchain

The build took 00h 01m 01s and was NOT successful.

The program in this build is written in the following languages, according to sloccount:

SLOCLanguage
97,873 ansic
7,104 perl
1,950 sh
964 makefile
107,891 total

The process tree of the build process is here.

Several sub-process invocations were improper; see the process tree for details. Summary:

Log

To avoid scrolling, you may jump to the last line of the invocation of makepkg that was used to build this package.

Removed vanilla repositories from pacman.conf and added:
# [tuscan]
# Server = file:///var/cache/pacman/pkg/

CMD: pacman -Syy --noconfirm
# :: Synchronizing package databases...
# downloading tuscan.db...

Copied permanent toolchain into container-local sysroot
# /toolchain_root/sysroot --> /sysroot/sysroot
# /toolchain_root/lib --> /sysroot/lib
# /toolchain_root/sbin --> /sysroot/sbin
# /toolchain_root/lib64 --> /sysroot/lib64
# /toolchain_root/etc --> /sysroot/etc
# /toolchain_root/share --> /sysroot/share
# /toolchain_root/bin --> /sysroot/bin
# /toolchain_root/var --> /sysroot/var
# /toolchain_root/usr --> /sysroot/usr
# /toolchain_root/glibc-build --> /sysroot/glibc-build
# /toolchain_root/x86_64-pc-linux-gnu --> /sysroot/x86_64-pc-linux-gnu
# /toolchain_root/include --> /sysroot/include
# /toolchain_root/libexec --> /sysroot/libexec

CMD: sudo -u tuscan PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=clang CXX=clang++ red makepkg --noextract --syncdeps --skipinteg --skippgpcheck --skipchecksums --noconfirm --nocolor --log --noprogressbar --nocheck
# ==> Making package: exim 4.87-1 (Thu Apr 13 21:02:02 UTC 2017)
# ==> Checking runtime dependencies...
# ==> Checking buildtime dependencies...
# ==> WARNING: Using existing $srcdir/ tree
# ==> Starting build()...
# /bin/sh scripts/source_checks
#
# >>> Creating links to source files...
# >>> Creating lookups/Makefile for building dynamic modules
# >>> New Makefile & lookups/Makefile installed
# >>> Use "make makefile" if you need to force rebuilding of the makefile
#
# make[1]: Entering directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64'
# /bin/sh ../scripts/Configure-os.c
# gcc buildconfig.c
# /bin/sh ../scripts/Configure-config.h "make"
# make[2]: Entering directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64'
# make[2]: 'buildconfig' is up to date.
# make[2]: Leaving directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64'
# Building configuration file config.h
# >>> config.h built
#
# >>> version 4.87 #1
#
# >>> exicyclog script built
# >>> exinext script built
# >>> exiwhat script built
# >>> exigrep script built
# >>> eximstats script built
# >>> exipick script built
# >>> exiqgrep script built
# >>> exiqsumm script built
# >>> transport-filter.pl script built
# >>> convert4r3 script built
# >>> convert4r4 script built
# >>> exim_checkaccess script built
#
# /bin/sh ../scripts/Configure-os.h
# gcc exim_dbmbuild.c
# gcc -o exim_dbmbuild
# >>> exim_dbmbuild utility built
#
# gcc -DEXIM_DUMPDB exim_dbutil.c
# gcc -DCOMPILE_UTILITY os.c
# gcc -DCOMPILE_UTILITY store.c
# gcc -o exim_dumpdb
# >>> exim_dumpdb utility built
#
# gcc -DEXIM_FIXDB exim_dbutil.c
# make[2]: Entering directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/auths'
# gcc auth-spa.c
# gcc call_pam.c
# gcc call_pwcheck.c
# gcc call_radius.c
# gcc check_serv_cond.c
# gcc cram_md5.c
# gcc cyrus_sasl.c
# gcc dovecot.c
# gcc get_data.c
# gcc get_no64_data.c
# gcc gsasl_exim.c
# gcc heimdal_gssapi.c
# gcc md5.c
# gcc plaintext.c
# gcc pwcheck.c
# gcc sha1.c
# gcc spa.c
# gcc tls.c
# gcc xtextdecode.c
# gcc xtextencode.c
# ar cq auths.a
# ranlib auths.a
# make[2]: Leaving directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/auths'
#
# gcc -o exim_fixdb
# >>> exim_fixdb utility built
#
# gcc -DEXIM_TIDYDB exim_dbutil.c
# gcc -o exim_tidydb
# >>> exim_tidydb utility built
#
# gcc exim_lock.c
# gcc -o exim_lock
# >>> exim_lock utility built
#
# make[2]: Entering directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/lookups'
# gcc dbmdb.c
# gcc dnsdb.c
# gcc dsearch.c
# gcc lsearch.c
# gcc ldap.c
# gcc spf.c
# ar cq lookups.a
# ranlib lookups.a
# gcc lf_quote.c
# gcc lf_check_file.c
# gcc lf_sqlperform.c
# make[2]: Leaving directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/lookups'
#
# make[2]: Entering directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/pdkim'
# gcc pdkim.c
# gcc hash.c
# gcc rsa.c
# ar cq pdkim.a
# ranlib pdkim.a
# make[2]: Leaving directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/pdkim'
#
# make[2]: Entering directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/routers'
# gcc accept.c
# gcc dnslookup.c
# gcc ipliteral.c
# gcc iplookup.c
# gcc manualroute.c
# gcc queryprogram.c
# gcc redirect.c
# gcc rf_change_domain.c
# gcc rf_expand_data.c
# gcc rf_get_errors_address.c
# gcc rf_get_munge_headers.c
# gcc rf_get_transport.c
# gcc rf_get_ugid.c
# gcc rf_lookup_hostlist.c
# gcc rf_queue_add.c
# gcc rf_self_action.c
# gcc rf_set_ugid.c
# ar cq routers.a
# ranlib routers.a
# make[2]: Leaving directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/routers'
#
# make[2]: Entering directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/transports'
# gcc appendfile.c
# gcc autoreply.c
# gcc lmtp.c
# gcc pipe.c
# gcc smtp.c
# gcc smtp_socks.c
# gcc tf_maildir.c
# ar cq transports.a
# ranlib transports.a
# make[2]: Leaving directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64/transports'
#
# gcc acl.c
# acl.c:1842:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 1 warning generated.
# gcc base64.c
# gcc child.c
# gcc crypt16.c
# gcc daemon.c
# gcc dbfn.c
# gcc debug.c
# gcc deliver.c
# deliver.c:1124:27: warning: '&&' within '||' [-Wlogical-op-parentheses]
# || result == FAIL && tb->log_fail_output
# ~~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
# deliver.c:1124:27: note: place parentheses around the '&&' expression to silence this warning
# || result == FAIL && tb->log_fail_output
# ^
# ( )
# deliver.c:1125:27: warning: '&&' within '||' [-Wlogical-op-parentheses]
# || result == DEFER && tb->log_defer_output
# ~~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
# deliver.c:1125:27: note: place parentheses around the '&&' expression to silence this warning
# || result == DEFER && tb->log_defer_output
# ^
# ( )
# deliver.c:1159:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# deliver.c:2158:32: warning: '&&' within '||' [-Wlogical-op-parentheses]
# || message_length > 0 && (ret = write(pfd[pipe_write], s, message_length)) != message_length
# ~~ ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# deliver.c:2158:32: note: place parentheses around the '&&' expression to silence this warning
# || message_length > 0 && (ret = write(pfd[pipe_write], s, message_length)) != message_length
# ^
# ( )
# deliver.c:2517:25: warning: '&&' within '||' [-Wlogical-op-parentheses]
# && ( !addr->host_list && !next->host_list
# ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
# deliver.c:2517:25: note: place parentheses around the '&&' expression to silence this warning
# && ( !addr->host_list && !next->host_list
# ^
# ( )
# deliver.c:2520:8: warning: '&&' within '||' [-Wlogical-op-parentheses]
# && Ustrcmp(addr->host_list->name, next->host_list->name) == 0
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# deliver.c:2520:8: note: place parentheses around the '&&' expression to silence this warning
# && Ustrcmp(addr->host_list->name, next->host_list->name) == 0
# ^
# deliver.c:4116:28: warning: expression result unused [-Wunused-value]
# !tp->expand_multi_domain || (deliver_set_expansions(next), 1),
# ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# deliver.c:4153:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# deliver.c:6288:33: warning: '&&' within '||' [-Wlogical-op-parentheses]
# else if ( ( queue_running && !deliver_force
# ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
# deliver.c:6288:33: note: place parentheses around the '&&' expression to silence this warning
# else if ( ( queue_running && !deliver_force
# ^
# ( )
# deliver.c:7671:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 10 warnings generated.
# gcc directory.c
# gcc dns.c
# dns.c:1056:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else if (namesuff - 4 > name && strcmpic(namesuff - 4, US".ip6.arpa") == 0)
# ^
# 1 warning generated.
# gcc drtables.c
# gcc enq.c
# gcc exim.c
# exim.c:3436:46: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# if (++i < argc) log_oneline = argv[i]; else
# ^
# exim.c:3754:18: warning: assigning to 'uschar *' (aka 'unsigned char *') from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
# if ((initial_cwd = os_getcwd(NULL, 0)) == NULL)
# ^ ~~~~~~~~~~~~~~~~~~
# exim.c:5457:11: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 3 warnings generated.
# gcc expand.c
# expand.c:6735:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 1 warning generated.
# gcc filter.c
# gcc filtertest.c
# gcc globals.c
# gcc dkim.c
# gcc header.c
# gcc host.c
# gcc ip.c
# gcc log.c
# gcc lss.c
# gcc match.c
# gcc moan.c
# gcc os.c
# gcc parse.c
# parse.c:556:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# 1 warning generated.
# gcc queue.c
# gcc rda.c
# gcc readconf.c
# readconf.c:3841:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# readconf.c:4365:44: warning: '&&' within '||' [-Wlogical-op-parentheses]
# || Ustrncmp(current, "hide", 4) == 0 && isspace(current[4])
# ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
# readconf.c:4365:44: note: place parentheses around the '&&' expression to silence this warning
# || Ustrncmp(current, "hide", 4) == 0 && isspace(current[4])
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
# 2 warnings generated.
# gcc receive.c
# gcc retry.c
# gcc rewrite.c
# gcc rfc2047.c
# gcc route.c
# gcc search.c
# gcc sieve.c
# gcc smtp_in.c
# smtp_in.c:3023:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else
# ^
# smtp_in.c:3562:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
# else if (!check_sync()) goto SYNC_FAILURE;
# ^
# 2 warnings generated.
# gcc smtp_out.c
# gcc spool_in.c
# gcc spool_out.c
# gcc std-crypto.c
# gcc store.c
# gcc string.c
# gcc tls.c
# tls.c:278:40: warning: '&&' within '||' [-Wlogical-op-parentheses]
# || Ustrncmp(ele, match, len) == 0 && ele[len] == '='
# ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
# tls.c:278:40: note: place parentheses around the '&&' expression to silence this warning
# || Ustrncmp(ele, match, len) == 0 && ele[len] == '='
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
# 1 warning generated.
# gcc tod.c
# gcc transport.c
# gcc tree.c
# gcc verify.c
# gcc environment.c
# environment.c:54:25: warning: passing 'uschar *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
# if (os_unsetenv(name) < 0) return FALSE;
# ^~~~
# ./osfunctions.h:36:46: note: passing argument to parameter here
# extern int os_unsetenv(const char *);
# ^
# 1 warning generated.
# gcc lookups/lf_quote.c
# gcc lookups/lf_check_file.c
# gcc lookups/lf_sqlperform.c
# gcc local_scan.c
# gcc malware.c
# gcc mime.c
# gcc regex.c
# gcc spam.c
# gcc spool_mbox.c
# gcc demime.c
# gcc bmi_spam.c
# gcc dane.c
# gcc dcc.c
# gcc dmarc.c
# gcc imap_utf7.c
# gcc spf.c
# gcc srs.c
# gcc utf8.c
# gcc version.c
# gcc -o exim
#
# >>> exim binary built
#
# make[1]: Leaving directory '/tmp/exim/src/exim-4.87/build-Linux-x86_64'
# ==> Entering fakeroot environment...
# ==> Starting package()...
# chown: changing ownership of '/tmp/exim/pkg/exim/var/spool/exim': Operation not permitted
# chown: changing ownership of '/tmp/exim/pkg/exim/var/log/exim': Operation not permitted
# ==> ERROR: A failure occurred in package().
# Aborting...