Build of pgpdump with clang_glibc toolchain

The build took 00h 01m 46s and was SUCCESSFUL.

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

SLOCLanguage
2,317 ansic
74 makefile
29 haskell
2,420 total

The process tree of the build process is here.

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: pgpdump 0.31-1 (Thu Apr 13 15:42:25 UTC 2017)
# ==> Checking runtime dependencies...
# ==> Checking buildtime dependencies...
# ==> WARNING: Using existing $srcdir/ tree
# ==> Starting build()...
# checking for x86_64-unknown-linux-gcc... clang
# checking whether the C compiler works... yes
# checking for C compiler default output file name... a.out
# checking for suffix of executables...
# checking whether we are cross compiling... no
# checking for suffix of object files... o
# checking whether we are using the GNU C compiler... yes
# checking whether clang accepts -g... yes
# checking for clang option to accept ISO C89... none needed
# checking for inflate in -lz... yes
# checking for BZ2_bzBuffToBuffDecompress in -lbz2... yes
# checking how to run the C preprocessor... clang -E
# checking for grep that handles long lines and -e... /usr/bin/grep
# checking for egrep... /usr/bin/grep -E
# checking for ANSI C header files... yes
# checking for sys/types.h... yes
# checking for sys/stat.h... yes
# checking for stdlib.h... yes
# checking for string.h... yes
# checking for memory.h... yes
# checking for strings.h... yes
# checking for inttypes.h... yes
# checking for stdint.h... yes
# checking for unistd.h... yes
# checking for unistd.h... (cached) yes
# checking sys/time.h usability... yes
# checking sys/time.h presence... yes
# checking for sys/time.h... yes
# checking unixlib/local.h usability... no
# checking unixlib/local.h presence... no
# checking for unixlib/local.h... no
# checking whether time.h and sys/time.h may both be included... yes
# checking whether struct tm is in sys/time.h or time.h... time.h
# checking for struct tm.tm_zone... yes
# configure: creating ./config.status
# config.status: creating Makefile
# config.status: WARNING: 'Makefile.in' seems to ignore the --datarootdir setting
# config.status: creating config.h
# clang -c -O -Wall pgpdump.c
# clang -c -O -Wall types.c
# clang -c -O -Wall tagfuncs.c
# clang -c -O -Wall packet.c
# clang -c -O -Wall subfunc.c
# clang -c -O -Wall signature.c
# clang -c -O -Wall keys.c
# clang -c -O -Wall buffer.c
# clang -c -O -Wall uatfunc.c
# clang -O -Wall -o pgpdump pgpdump.o types.o tagfuncs.o packet.o subfunc.o signature.o keys.o buffer.o uatfunc.o -lbz2 -lz
# ==> Entering fakeroot environment...
# ==> Starting package()...
# install -d /tmp/pgpdump/pkg/pgpdump/usr/bin
# install -cp -pm755 pgpdump /tmp/pgpdump/pkg/pgpdump/usr/bin
# install -d /tmp/pgpdump/pkg/pgpdump/usr/share/man/man1
# install -cp -pm644 pgpdump.1 /tmp/pgpdump/pkg/pgpdump/usr/share/man/man1
# ==> Tidying install...
# -> Removing doc files...
# -> Purging unwanted files...
# ==> Checking for packaging issue...
# ==> Creating package "pgpdump"...
# -> Generating .PKGINFO file...
# -> Generating .BUILDINFO file...
# error: invalid option '--noprogressbar'
# -> Generating .MTREE file...
# -> Compressing package...
# ==> Leaving fakeroot environment.
# ==> Finished making: pgpdump 0.31-1 (Thu Apr 13 15:42:35 UTC 2017)

CMD: pacman --query --file pgpdump-0.31-1-x86_64.pkg.tar.xz
# pgpdump 0.31-1

Creating hybrid package for 'pgpdump'

Trying to find vanilla package 'pgpdump'...

CMD: pacman --query --file /mirror/pgpdump-0.31-1.pkg.tar.xz
# pgpdump 0.31-1

Package file has the following structure:
# /.PKGINFO
# /.BUILDINFO
# /.MTREE
# /usr/bin/pgpdump
# /usr/share/licenses/pgpdump/LICENSE
# /usr/share/doc/pgpdump/README
# /usr/share/man/man1/pgpdump.1.gz

Generating .MTREE

CMD: bsdtar -czf .MTREE --format=mtree --options=!all,use-set,type,uid,mode,time,size,md5,sha256,link .PKGINFO .BUILDINFO usr

Tar-ing up files

CMD: bsdtar -cf - .PKGINFO .BUILDINFO usr .MTREE

CMD: xz -c -z

Successfully ran bsdtar -cf - .PKGINFO .BUILDINFO usr .MTREE | xz -c -z

CMD: bsdtar -tqf pgpdump.pkg.tar.xz .PKGINFO
# .PKGINFO

Created package at path /var/cache/pacman/pkg/pgpdump.pkg.tar.xz

Attempting to access local repository, attempt 1

CMD: repo-add /var/cache/pacman/pkg/tuscan.db.tar /var/cache/pacman/pkg/pgpdump.pkg.tar.xz
# ==> Extracting database to a temporary location...
# ==> Extracting database to a temporary location...
# ==> Adding package '/var/cache/pacman/pkg/pgpdump.pkg.tar.xz'
# -> Computing checksums...
# -> Creating 'desc' db entry...
# -> Creating 'files' db entry...
# ==> Creating updated database file '/var/cache/pacman/pkg/tuscan.db.tar'

Printing config logfiles

CMD: config logfiles '/tmp/pgpdump/src/pgpdump-0.31/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 configure, which was
# generated by GNU Autoconf 2.69. Invocation command line was
#
# $ ./configure --host=x86_64-unknown-linux --prefix=/usr
#
# ## --------- ##
# ## Platform. ##
# ## --------- ##
#
# hostname = 647bfd45eb07
# uname -m = x86_64
# uname -r = 4.10.6-1-ARCH
# uname -s = Linux
# uname -v = #1 SMP PREEMPT Mon Mar 27 08:28:22 CEST 2017
#
# /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/bin
# PATH: /usr/local/sbin
# PATH: /usr/local/bin
# PATH: /usr/sbin
# PATH: /usr/bin
# PATH: /sbin
# PATH: /bin
#
#
# ## ----------- ##
# ## Core tests. ##
# ## ----------- ##
#
# configure:2123: checking for x86_64-unknown-linux-gcc
# configure:2150: result: clang
# configure:2419: checking for C compiler version
# configure:2428: clang --version >&5
# clang version 3.8.0 (tags/RELEASE_380/final)
# Target: x86_64-unknown-linux-gnu
# Thread model: posix
# InstalledDir: /usr/bin
# configure:2439: $? = 0
# configure:2428: clang -v >&5
# clang version 3.8.0 (tags/RELEASE_380/final)
# Target: x86_64-unknown-linux-gnu
# Thread model: posix
# InstalledDir: /usr/bin
# Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.1
# Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/6.1.1
# Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1
# Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/6.1.1
# Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/6.1.1
# Candidate multilib: .;@m64
# ... rest of stderr output deleted ...
# configure:2439: $? = 0
# configure:2428: clang -V >&5
# clang-3.8: error: argument to '-V' is missing (expected 1 value)
# clang-3.8: error: no input files
# configure:2439: $? = 1
# configure:2428: clang -qversion >&5
# clang-3.8: error: unknown argument: '-qversion'
# clang-3.8: error: no input files
# configure:2439: $? = 1
# configure:2459: checking whether the C compiler works
# configure:2481: clang conftest.c >&5
# configure:2485: $? = 0
# configure:2533: result: yes
# configure:2536: checking for C compiler default output file name
# configure:2538: result: a.out
# configure:2544: checking for suffix of executables
# configure:2551: clang -o conftest conftest.c >&5
# configure:2555: $? = 0
# configure:2577: result:
# configure:2599: checking whether we are cross compiling
# configure:2607: clang -o conftest conftest.c >&5
# configure:2611: $? = 0
# configure:2618: ./conftest
# configure:2622: $? = 0
# configure:2637: result: no
# configure:2642: checking for suffix of object files
# configure:2664: clang -c conftest.c >&5
# configure:2668: $? = 0
# configure:2689: result: o
# configure:2693: checking whether we are using the GNU C compiler
# configure:2712: clang -c conftest.c >&5
# configure:2712: $? = 0
# configure:2721: result: yes
# configure:2730: checking whether clang accepts -g
# configure:2750: clang -c -g conftest.c >&5
# configure:2750: $? = 0
# configure:2791: result: yes
# configure:2808: checking for clang option to accept ISO C89
# configure:2871: clang -c conftest.c >&5
# configure:2871: $? = 0
# configure:2884: result: none needed
# configure:2905: checking for inflate in -lz
# configure:2930: clang -o conftest conftest.c -lz >&5
# configure:2930: $? = 0
# configure:2939: result: yes
# configure:2950: checking for BZ2_bzBuffToBuffDecompress in -lbz2
# configure:2975: clang -o conftest conftest.c -lbz2 -lz >&5
# configure:2975: $? = 0
# configure:2984: result: yes
# configure:3003: checking how to run the C preprocessor
# configure:3034: clang -E conftest.c
# configure:3034: $? = 0
# configure:3048: clang -E conftest.c
# conftest.c:11:10: fatal error: 'ac_nonexistent.h' file not found
# #include
# ^
# 1 error generated.
# configure:3048: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME ""
# | #define PACKAGE_TARNAME ""
# | #define PACKAGE_VERSION ""
# | #define PACKAGE_STRING ""
# | #define PACKAGE_BUGREPORT ""
# | #define PACKAGE_URL ""
# | #define HAVE_LIBZ 1
# | #define HAVE_LIBBZ2 1
# | /* end confdefs.h. */
# | #include
# configure:3073: result: clang -E
# configure:3093: clang -E conftest.c
# configure:3093: $? = 0
# configure:3107: clang -E conftest.c
# conftest.c:11:10: fatal error: 'ac_nonexistent.h' file not found
# #include
# ^
# 1 error generated.
# configure:3107: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME ""
# | #define PACKAGE_TARNAME ""
# | #define PACKAGE_VERSION ""
# | #define PACKAGE_STRING ""
# | #define PACKAGE_BUGREPORT ""
# | #define PACKAGE_URL ""
# | #define HAVE_LIBZ 1
# | #define HAVE_LIBBZ2 1
# | /* end confdefs.h. */
# | #include
# configure:3136: checking for grep that handles long lines and -e
# configure:3194: result: /usr/bin/grep
# configure:3199: checking for egrep
# configure:3261: result: /usr/bin/grep -E
# configure:3266: checking for ANSI C header files
# configure:3286: clang -c conftest.c >&5
# configure:3286: $? = 0
# configure:3359: clang -o conftest conftest.c -lbz2 -lz >&5
# configure:3359: $? = 0
# configure:3359: ./conftest
# configure:3359: $? = 0
# configure:3370: result: yes
# configure:3383: checking for sys/types.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3383: checking for sys/stat.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3383: checking for stdlib.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3383: checking for string.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3383: checking for memory.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3383: checking for strings.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3383: checking for inttypes.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3383: checking for stdint.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3383: checking for unistd.h
# configure:3383: clang -c conftest.c >&5
# configure:3383: $? = 0
# configure:3383: result: yes
# configure:3397: checking for unistd.h
# configure:3397: result: yes
# configure:3409: checking sys/time.h usability
# configure:3409: clang -c conftest.c >&5
# configure:3409: $? = 0
# configure:3409: result: yes
# configure:3409: checking sys/time.h presence
# configure:3409: clang -E conftest.c
# configure:3409: $? = 0
# configure:3409: result: yes
# configure:3409: checking for sys/time.h
# configure:3409: result: yes
# configure:3421: checking unixlib/local.h usability
# configure:3421: clang -c conftest.c >&5
# conftest.c:56:10: fatal error: 'unixlib/local.h' file not found
# #include
# ^
# 1 error generated.
# configure:3421: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME ""
# | #define PACKAGE_TARNAME ""
# | #define PACKAGE_VERSION ""
# | #define PACKAGE_STRING ""
# | #define PACKAGE_BUGREPORT ""
# | #define PACKAGE_URL ""
# | #define HAVE_LIBZ 1
# | #define HAVE_LIBBZ2 1
# | #define STDC_HEADERS 1
# | #define HAVE_SYS_TYPES_H 1
# | #define HAVE_SYS_STAT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_MEMORY_H 1
# | #define HAVE_STRINGS_H 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_UNISTD_H 1
# | #define HAVE_UNISTD_H 1
# | #define HAVE_SYS_TIME_H 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | #include
# configure:3421: result: no
# configure:3421: checking unixlib/local.h presence
# configure:3421: clang -E conftest.c
# conftest.c:23:10: fatal error: 'unixlib/local.h' file not found
# #include
# ^
# 1 error generated.
# configure:3421: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME ""
# | #define PACKAGE_TARNAME ""
# | #define PACKAGE_VERSION ""
# | #define PACKAGE_STRING ""
# | #define PACKAGE_BUGREPORT ""
# | #define PACKAGE_URL ""
# | #define HAVE_LIBZ 1
# | #define HAVE_LIBBZ2 1
# | #define STDC_HEADERS 1
# | #define HAVE_SYS_TYPES_H 1
# | #define HAVE_SYS_STAT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_MEMORY_H 1
# | #define HAVE_STRINGS_H 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_UNISTD_H 1
# | #define HAVE_UNISTD_H 1
# | #define HAVE_SYS_TIME_H 1
# | /* end confdefs.h. */
# | #include
# configure:3421: result: no
# configure:3421: checking for unixlib/local.h
# configure:3421: result: no
# configure:3431: checking whether time.h and sys/time.h may both be included
# configure:3451: clang -c conftest.c >&5
# configure:3451: $? = 0
# configure:3458: result: yes
# configure:3467: checking whether struct tm is in sys/time.h or time.h
# configure:3487: clang -c conftest.c >&5
# configure:3487: $? = 0
# configure:3494: result: time.h
# configure:3502: checking for struct tm.tm_zone
# configure:3502: clang -c conftest.c >&5
# configure:3502: $? = 0
# configure:3502: result: yes
# configure:3687: creating ./config.status
#
# ## ---------------------- ##
# ## Running config.status. ##
# ## ---------------------- ##
#
# This file was extended by config.status, which was
# generated by GNU Autoconf 2.69. Invocation command line was
#
# CONFIG_FILES =
# CONFIG_HEADERS =
# CONFIG_LINKS =
# CONFIG_COMMANDS =
# $ ./config.status
#
# on 647bfd45eb07
#
# config.status:804: creating Makefile
# config.status:903: WARNING: 'Makefile.in' seems to ignore the --datarootdir setting
# config.status:804: creating config.h
#
# ## ---------------- ##
# ## Cache variables. ##
# ## ---------------- ##
#
# ac_cv_c_compiler_gnu=yes
# ac_cv_env_CC_set=set
# ac_cv_env_CC_value=clang
# ac_cv_env_CFLAGS_set=set
# ac_cv_env_CFLAGS_value=
# ac_cv_env_CPPFLAGS_set=set
# ac_cv_env_CPPFLAGS_value=
# ac_cv_env_CPP_set=
# ac_cv_env_CPP_value=
# ac_cv_env_LDFLAGS_set=set
# ac_cv_env_LDFLAGS_value=
# ac_cv_env_LIBS_set=
# ac_cv_env_LIBS_value=
# ac_cv_env_build_alias_set=
# ac_cv_env_build_alias_value=
# ac_cv_env_host_alias_set=set
# ac_cv_env_host_alias_value=x86_64-unknown-linux
# ac_cv_env_target_alias_set=
# ac_cv_env_target_alias_value=
# ac_cv_header_inttypes_h=yes
# ac_cv_header_memory_h=yes
# ac_cv_header_stdc=yes
# ac_cv_header_stdint_h=yes
# ac_cv_header_stdlib_h=yes
# ac_cv_header_string_h=yes
# ac_cv_header_strings_h=yes
# ac_cv_header_sys_stat_h=yes
# ac_cv_header_sys_time_h=yes
# ac_cv_header_sys_types_h=yes
# ac_cv_header_time=yes
# ac_cv_header_unistd_h=yes
# ac_cv_header_unixlib_local_h=no
# ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=yes
# ac_cv_lib_z_inflate=yes
# ac_cv_member_struct_tm_tm_zone=yes
# ac_cv_objext=o
# ac_cv_path_EGREP='/usr/bin/grep -E'
# ac_cv_path_GREP=/usr/bin/grep
# ac_cv_prog_CC=clang
# ac_cv_prog_CPP='clang -E'
# ac_cv_prog_cc_c89=
# ac_cv_prog_cc_g=yes
# ac_cv_struct_tm=time.h
#
# ## ----------------- ##
# ## Output variables. ##
# ## ----------------- ##
#
# CC='clang'
# CFLAGS=''
# CPP='clang -E'
# CPPFLAGS=''
# DEFS='-DHAVE_CONFIG_H'
# ECHO_C=''
# ECHO_N='-n'
# ECHO_T=''
# EGREP='/usr/bin/grep -E'
# EXEEXT=''
# GREP='/usr/bin/grep'
# LDFLAGS=''
# LIBOBJS=''
# LIBS='-lbz2 -lz '
# LTLIBOBJS=''
# OBJEXT='o'
# PACKAGE_BUGREPORT=''
# PACKAGE_NAME=''
# PACKAGE_STRING=''
# PACKAGE_TARNAME=''
# PACKAGE_URL=''
# PACKAGE_VERSION=''
# PATH_SEPARATOR=':'
# SHELL='/bin/sh'
# ac_ct_CC=''
# bindir='${exec_prefix}/bin'
# build_alias=''
# datadir='${datarootdir}'
# datarootdir='${prefix}/share'
# docdir='${datarootdir}/doc/${PACKAGE}'
# dvidir='${docdir}'
# exec_prefix='${prefix}'
# host_alias='x86_64-unknown-linux'
# htmldir='${docdir}'
# includedir='${prefix}/include'
# infodir='${datarootdir}/info'
# libdir='${exec_prefix}/lib'
# libexecdir='${exec_prefix}/libexec'
# localedir='${datarootdir}/locale'
# localstatedir='${prefix}/var'
# mandir='${datarootdir}/man'
# oldincludedir='/usr/include'
# pdfdir='${docdir}'
# prefix='/usr'
# program_transform_name='s,x,x,'
# psdir='${docdir}'
# sbindir='${exec_prefix}/sbin'
# sharedstatedir='${prefix}/com'
# sysconfdir='${prefix}/etc'
# target_alias=''
#
# ## ----------- ##
# ## confdefs.h. ##
# ## ----------- ##
#
# /* confdefs.h */
# #define PACKAGE_NAME ""
# #define PACKAGE_TARNAME ""
# #define PACKAGE_VERSION ""
# #define PACKAGE_STRING ""
# #define PACKAGE_BUGREPORT ""
# #define PACKAGE_URL ""
# #define HAVE_LIBZ 1
# #define HAVE_LIBBZ2 1
# #define STDC_HEADERS 1
# #define HAVE_SYS_TYPES_H 1
# #define HAVE_SYS_STAT_H 1
# #define HAVE_STDLIB_H 1
# #define HAVE_STRING_H 1
# #define HAVE_MEMORY_H 1
# #define HAVE_STRINGS_H 1
# #define HAVE_INTTYPES_H 1
# #define HAVE_STDINT_H 1
# #define HAVE_UNISTD_H 1
# #define HAVE_UNISTD_H 1
# #define HAVE_SYS_TIME_H 1
# #define TIME_WITH_SYS_TIME 1
# #define HAVE_STRUCT_TM_TM_ZONE 1
# #define HAVE_TM_ZONE 1
#
# configure: exit 0