* Package: sci-biology/abyss-2.0.3 * Repository: gentoo * Maintainer: sci-biology@gentoo.org haskell@gentoo.org * USE: abi_x86_64 amd64 elibc_glibc kernel_linux mpi openmp userland_GNU * FEATURES: network-sandbox preserve-libs sandbox test userpriv usersandbox >>> Unpacking source... >>> Unpacking abyss-2.0.3.tar.gz to /var/tmp/portage/sci-biology/abyss-2.0.3/work >>> Source unpacked in /var/tmp/portage/sci-biology/abyss-2.0.3/work >>> Preparing source in /var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 ... * Running eautoreconf in '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3' ... * Running aclocal ... [ ok ] * Running autoconf --force ... [ ok ] * Running autoheader ... [ ok ] * Running automake --add-missing --copy --foreign --force-missing ... [ ok ] * Running elibtoolize in: abyss-2.0.3/ >>> Source prepared. >>> Configuring source in /var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 ... * econf: updating abyss-2.0.3/config.sub with /usr/share/gnuconfig/config.sub * econf: updating abyss-2.0.3/config.guess with /usr/share/gnuconfig/config.guess ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/abyss-2.0.3 --htmldir=/usr/share/doc/abyss-2.0.3/html --libdir=/usr/lib64 --enable-openmp checking for a BSD-compatible install... /usr/lib/portage/python3.7/ebuild-helpers/xattr/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gawk... (cached) gawk checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc 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 x86_64-pc-linux-gnu-gcc accepts -g... yes checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed checking whether x86_64-pc-linux-gnu-gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of x86_64-pc-linux-gnu-gcc... none checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E checking whether we are using the GNU C++ compiler... yes checking whether x86_64-pc-linux-gnu-g++ accepts -g... yes checking dependency style of x86_64-pc-linux-gnu-g++... none checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib checking for x86_64-pc-linux-gnu-ghc... no checking for ghc... (cached) no ./configure: line 5208: : command not found checking for pandoc... no checking for grep that handles long lines and -e... /bin/grep checking for egrep... /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 dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking float.h usability... yes checking float.h presence... yes checking for float.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for ANSI C header files... (cached) yes checking whether byte ordering is bigendian... no checking for an ANSI C-conforming const... yes checking for inline... inline checking for ptrdiff_t... yes checking for mode_t... yes checking for pid_t... yes checking for size_t... yes checking for ssize_t... yes checking for int64_t... yes checking for uint8_t... yes checking for uint16_t... yes checking for uint32_t... yes checking for uint64_t... yes checking for std::hash... yes checking for std::tr1::hash... yes checking for std::tr1::tuple... yes checking for dup2... yes checking for gethostname... yes checking for getopt_long... yes checking for getpagesize... yes checking for memset... yes checking for strdup... yes checking for strerror... yes checking for strtoul... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for working memcmp... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking for vprintf... yes checking for _doprnt... no checking whether HOST_NAME_MAX is declared... yes checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking if compiler needs -Werror to reject unknown flags... no checking for the pthreads library -lpthreads... no checking whether pthreads work without any flags... no checking whether pthreads work with -Kthread... no checking whether pthreads work with -kthread... no checking for the pthreads library -llthread... no checking whether pthreads work with -pthread... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking if more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... yes checking mpi.h usability... yes checking mpi.h presence... yes checking for mpi.h... yes checking for MPI_Init in -lmpi... yes checking for sqrt in -lm... yes checking for pow... yes checking for sqrt... yes checking for ceilf... yes checking for dlsym in -ldl... yes checking how to run the C++ preprocessor... x86_64-pc-linux-gnu-g++ -E checking functional usability... yes checking functional presence... yes checking for functional... yes checking tr1/functional usability... yes checking tr1/functional presence... yes checking for tr1/functional... yes checking boost/functional/hash.hpp usability... yes checking boost/functional/hash.hpp presence... yes checking for boost/functional/hash.hpp... yes checking boost/property_map/property_map.hpp usability... yes checking boost/property_map/property_map.hpp presence... yes checking for boost/property_map/property_map.hpp... yes checking google/sparse_hash_map usability... yes checking google/sparse_hash_map presence... yes checking for google/sparse_hash_map... yes checking unordered_map usability... yes checking unordered_map presence... yes checking for unordered_map... yes checking tr1/unordered_map usability... yes checking tr1/unordered_map presence... yes checking for tr1/unordered_map... yes checking unordered_set usability... yes checking unordered_set presence... yes checking for unordered_set... yes checking tr1/unordered_set usability... yes checking tr1/unordered_set presence... yes checking for tr1/unordered_set... yes checking boost/unordered_set.hpp usability... yes checking boost/unordered_set.hpp presence... yes checking for boost/unordered_set.hpp... yes checking sqlite3.h usability... no checking sqlite3.h presence... no checking for sqlite3.h... no checking for main in -lsqlite3... no checking for x86_64-pc-linux-gnu-g++ option to support OpenMP... -fopenmp checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating ABYSS/Makefile config.status: creating Align/Makefile config.status: creating Assembly/Makefile config.status: creating Common/Makefile config.status: creating DataLayer/Makefile config.status: creating FMIndex/Makefile config.status: creating Graph/Makefile config.status: creating Parallel/Makefile config.status: creating bin/Makefile config.status: creating doc/Makefile config.status: creating dialign/Makefile config.status: creating kmerprint/Makefile config.status: creating AdjList/Makefile config.status: creating Konnector/Makefile config.status: creating DAssembler/Makefile config.status: creating DistanceEst/Makefile config.status: creating Layout/Makefile config.status: creating Map/Makefile config.status: creating Misc/Makefile config.status: creating Overlap/Makefile config.status: creating PopBubbles/Makefile config.status: creating Scaffold/Makefile config.status: creating SimpleGraph/Makefile config.status: creating MergePaths/Makefile config.status: creating KAligner/Makefile config.status: creating PairedDBG/Makefile config.status: creating ParseAligns/Makefile config.status: creating PathOverlap/Makefile config.status: creating Consensus/Makefile config.status: creating FilterGraph/Makefile config.status: creating GapFiller/Makefile config.status: creating Sealer/Makefile config.status: creating lib/gtest-1.7.0/Makefile config.status: creating Unittest/Makefile config.status: creating LogKmerCount/Makefile config.status: creating Bloom/Makefile config.status: creating BloomDBG/Makefile config.status: creating DataBase/Makefile config.status: creating lib/bloomfilter/Makefile config.status: creating lib/rolling-hash/Makefile config.status: creating config.h config.status: executing depfiles commands >>> Source configured. >>> Compiling source in /var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 ... make -j4 make all-recursive make[1]: Entering directory '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3' Making all in bin make[2]: Entering directory '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/bin' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/bin' Making all in doc make[2]: Entering directory '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/doc' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/doc' Making all in Common make[2]: Entering directory '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/Common' x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-ContigID.o `test -f 'ContigID.cpp' || echo './'`ContigID.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-Fcontrol.o `test -f 'Fcontrol.cpp' || echo './'`Fcontrol.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-Histogram.o `test -f 'Histogram.cpp' || echo './'`Histogram.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-Kmer.o `test -f 'Kmer.cpp' || echo './'`Kmer.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-Log.o `test -f 'Log.cpp' || echo './'`Log.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-Options.o `test -f 'Options.cpp' || echo './'`Options.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-Sequence.o `test -f 'Sequence.cpp' || echo './'`Sequence.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-SignalHandler.o `test -f 'SignalHandler.cpp' || echo './'`SignalHandler.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-Timer.o `test -f 'Timer.cpp' || echo './'`Timer.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-Uncompress.o `test -f 'Uncompress.cpp' || echo './'`Uncompress.cpp x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3 -isystem/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -O2 -pipe -march=native -frecord-gcc-switches -c -o libcommon_a-city.o `test -f 'city.cc' || echo './'`city.cc rm -f libcommon.a ar cru libcommon.a libcommon_a-ContigID.o libcommon_a-Fcontrol.o libcommon_a-Histogram.o libcommon_a-Kmer.o libcommon_a-Log.o libcommon_a-Options.o libcommon_a-Sequence.o libcommon_a-SignalHandler.o libcommon_a-Timer.o libcommon_a-Uncompress.o libcommon_a-city.o make[2]: ar: No such file or directory make[2]: *** [Makefile:396: libcommon.a] Error 127 make[2]: Leaving directory '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3/Common' make[1]: *** [Makefile:486: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3' make: *** [Makefile:406: all] Error 2 * ERROR: sci-biology/abyss-2.0.3::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=sci-biology/abyss-2.0.3::gentoo'`, * the complete build log and the output of `emerge -pqv '=sci-biology/abyss-2.0.3::gentoo'`. * The complete build log is located at '/var/log/emerge-log/build/sci-biology/abyss-2.0.3:20200525-090145.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/sci-biology/abyss-2.0.3/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sci-biology/abyss-2.0.3/temp/environment'. * Working directory: '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3' * S: '/var/tmp/portage/sci-biology/abyss-2.0.3/work/abyss-2.0.3' emerge --info: Portage 2.3.100 (python 3.7.7-final-0, default/linux/amd64/17.1, gcc-10.1.0, glibc-2.31-r3, 5.4.0-1009-aws x86_64) ================================================================= System uname: Linux-5.4.0-1009-aws-x86_64-AMD_EPYC_7571-with-gentoo-2.7 KiB Mem: 16011344 total, 1407976 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Mon, 25 May 2020 09:35:30 +0000 sh bash 5.0_p17 ld GNU ld (Gentoo 2.34 p4) 2.34.0 app-shells/bash: 5.0_p17::gentoo dev-lang/perl: 5.30.2-r2::gentoo dev-lang/python: 2.7.18::gentoo, 3.7.7-r2::gentoo, 3.8.3::gentoo sys-apps/baselayout: 2.7::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.18::gentoo sys-devel/autoconf: 2.69-r5::gentoo sys-devel/automake: 1.16.2::gentoo sys-devel/binutils: 2.34-r1::gentoo sys-devel/gcc: 10.1.0::gentoo sys-devel/gcc-config: 2.3::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.6::gentoo (virtual/os-headers) sys-libs/glibc: 2.31-r3::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: sync-rsync-verify-jobs: 1 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CC="x86_64-pc-linux-gnu-gcc" CFLAGS="-O2 -pipe -march=native -frecord-gcc-switches" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXX="x86_64-pc-linux-gnu-g++" CXXFLAGS="-O2 -pipe -march=native -frecord-gcc-switches" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps=y --binpkg-respect-use=y -1 -b -k" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe -march=native -frecord-gcc-switches" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms sign split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe -march=native -frecord-gcc-switches" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="C.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0" MAKEOPTS="-j4" PKGDIR="/root/.packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="acl amd64 berkdb bzip2 cli crypt dri fortran gdbm iconv ipv6 libtirpc multilib ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl tcpd unicode xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS