Bug#1143325: jackmeter: FTBFS: x86_64-linux-gnu-gcc: error: unrecognized command-line option '-V'

Santiago Vila <[email protected]> Sat, 01 Aug 2026 22:36:15 +0000
Newsgroups gmane.linux.debian.devel.multimedia
Message-ID <E1wqIJT-00DZIf-0X__40334.5095853851$1785624061$gmane$org@paradis.debian.org>
Package: src:jackmeter
Version: 0.4-3
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202608/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:jackmeter, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=autoconf
   dh_auto_clean -O--buildsystem=autoconf
   dh_autoreconf_clean -O--buildsystem=autoconf
   dh_clean -O--buildsystem=autoconf
 debian/rules binary
dh binary --buildsystem=autoconf
   dh_update_autotools_config -O--buildsystem=autoconf
   dh_autoreconf -O--buildsystem=autoconf
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: no obvious need to run autopoint
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: configure.ac: no need to run autopoint (confirmed)
autoreconf: running: /usr/bin/autoconf --force
configure.ac:31: warning: The macro 'AC_HEADER_STDC' is obsolete.
configure.ac:31: You should run autoupdate.
./lib/autoconf/headers.m4:664: AC_HEADER_STDC is expanded from...
configure.ac:31: the top level
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:14: installing 'build-scripts/compile'
autoreconf: configure.ac: not running make: --make not given
autoreconf: Leaving directory '.'
   dh_auto_configure -O--buildsystem=autoconf
	./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking whether UID '995' is supported by ustar format... yes
checking whether GID '995' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking for gcc... x86_64-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 the compiler supports GNU C... yes
checking whether x86_64-linux-gnu-gcc accepts -g... yes
checking for x86_64-linux-gnu-gcc option to enable C23 features... none needed
checking whether x86_64-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-linux-gnu-gcc... none
checking whether ln -s works... yes
checking for an ANSI C-conforming const... yes
checking for sqrt in -lm... yes
checking for powf in -lmx... no
./configure: line 5016: syntax error near unexpected token `JACK,'
./configure: line 5016: `PKG_CHECK_MODULES(JACK, jack >= 0.100.0)'
	tail -v -n \+0 config.log
==> 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 jackmeter configure 0.4, which was
generated by GNU Autoconf 2.73.  Invocation command line was

  $ ./configure --build=x86_64-linux-gnu --prefix=/usr '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking

## --------- ##
## Platform. ##
## --------- ##

hostname = sbuild
uname -m = x86_64
uname -r = 6.12.100+deb13-cloud-amd64
uname -s = Linux
uname -v = #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30)

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = x86_64
/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/sbin/
PATH: /usr/bin/
PATH: /sbin/
PATH: /bin/
PATH: /usr/games/


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2401: looking for aux files: compile missing install-sh
configure:2414:  trying ./build-scripts/
configure:2443:   ./build-scripts/compile found
configure:2443:   ./build-scripts/missing found
configure:2425:   ./build-scripts/install-sh found
configure:2599: checking for a BSD-compatible install
configure:2673: result: /usr/bin/install -c
configure:2684: checking whether sleep supports fractional seconds
configure:2700: result: yes
configure:2703: checking filesystem timestamp resolution
configure:2838: result: 0.01
configure:2843: checking whether build environment is sane
configure:2888: result: yes
configure:3059: checking for a race-free mkdir -p
configure:3102: result: /usr/bin/mkdir -p
configure:3109: checking for gawk
configure:3145: result: no
configure:3109: checking for mawk
configure:3130: found /usr/bin/mawk
configure:3142: result: mawk
configure:3153: checking whether make sets $(MAKE)
configure:3177: result: yes
configure:3203: checking whether make supports nested variables
configure:3222: result: yes
configure:3236: checking xargs -n works
configure:3252: result: yes
configure:3337: checking whether UID '995' is supported by ustar format
configure:3343: result: yes
configure:3350: checking whether GID '995' is supported by ustar format
configure:3356: result: yes
configure:3364: checking how to create a ustar tar archive
configure:3375: tar --version
tar (GNU tar) 1.35
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
configure:3378: $? = 0
configure:3418: tardir=conftest.dir && eval tar --format=ustar -chf - "$tardir" >conftest.tar
configure:3421: $? = 0
configure:3425: tar -xf - <conftest.tar
configure:3428: $? = 0
configure:3430: cat conftest.dir/file
GrepMe
configure:3433: $? = 0
configure:3448: result: gnutar
configure:3542: checking for gcc
configure:3575: result: x86_64-linux-gnu-gcc
configure:3934: checking for C compiler version
configure:3943: x86_64-linux-gnu-gcc --version >&5
x86_64-linux-gnu-gcc (Debian 16.1.0-3) 16.1.0
Copyright (C) 2026 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:3954: $? = 0
configure:3943: x86_64-linux-gnu-gcc -v >&5
Using built-in specs.
COLLECT_GCC=x86_64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/16/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debi [too-long-redacted] n --enable-link-serialization=3
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 16.1.0 (Debian 16.1.0-3) 
... rest of stderr output deleted ...
configure:3954: $? = 0
configure:3943: x86_64-linux-gnu-gcc -V >&5
x86_64-linux-gnu-gcc: error: unrecognized command-line option '-V'
x86_64-linux-gnu-gcc: fatal error: no input files
compilation terminated.
configure:3954: $? = 1
configure:3943: x86_64-linux-gnu-gcc -qversion >&5
x86_64-linux-gnu-gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'?
x86_64-linux-gnu-gcc: fatal error: no input files
compilation terminated.
configure:3954: $? = 1
configure:3943: x86_64-linux-gnu-gcc -version >&5
x86_64-linux-gnu-gcc: error: unrecognized command-line option '-version'
x86_64-linux-gnu-gcc: fatal error: no input files
compilation terminated.
configure:3954: $? = 1
configure:3974: checking whether the C compiler works
configure:3996: x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c  >&5
configure:4000: $? = 0
configure:4051: result: yes
configure:4055: checking for C compiler default output file name
configure:4057: result: a.out
configure:4063: checking for suffix of executables
configure:4070: x86_64-linux-gnu-gcc -o conftest -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c  >&5
configure:4074: $? = 0
configure:4098: result: 
configure:4122: checking whether we are cross compiling
configure:4130: x86_64-linux-gnu-gcc -o conftest -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c  >&5
configure:4134: $? = 0
configure:4141: ./conftest
configure:4145: $? = 0
configure:4160: result: no
configure:4166: checking for suffix of object files
configure:4189: x86_64-linux-gnu-gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5
configure:4193: $? = 0
configure:4217: result: o
configure:4221: checking whether the compiler supports GNU C
configure:4241: x86_64-linux-gnu-gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5
configure:4241: $? = 0
configure:4253: result: yes
configure:4264: checking whether x86_64-linux-gnu-gcc accepts -g
configure:4285: x86_64-linux-gnu-gcc -c -g -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5
configure:4285: $? = 0
configure:4332: result: yes
configure:4352: checking for x86_64-linux-gnu-gcc option to enable C23 features
configure:4367: x86_64-linux-gnu-gcc  -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5
configure:4367: $? = 0
configure:4386: result: none needed
configure:4559: checking whether x86_64-linux-gnu-gcc understands -c and -o together
configure:4582: x86_64-linux-gnu-gcc -c conftest.c -o conftest2.o
configure:4585: $? = 0
configure:4582: x86_64-linux-gnu-gcc -c conftest.c -o conftest2.o
configure:4585: $? = 0
configure:4601: result: yes
configure:4621: checking whether make supports the include directive
configure:4636: make -f confmf.GNU && cat confinc.out
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
this is the am__doit target
configure:4639: $? = 0
configure:4658: result: yes (GNU style)
configure:4684: checking dependency style of x86_64-linux-gnu-gcc
configure:4797: result: none
configure:4813: checking whether ln -s works
configure:4817: result: yes
configure:4825: checking for an ANSI C-conforming const
configure:4889: x86_64-linux-gnu-gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5
configure:4889: $? = 0
configure:4899: result: yes
configure:4909: checking for sqrt in -lm
configure:4938: x86_64-linux-gnu-gcc -o conftest -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c -lm   >&5
conftest.c:21:6: warning: conflicting types for built-in function 'sqrt'; expected 'double(double)' [-Wbuiltin-declaration-mismatch]
   21 | char sqrt (void);
      |      ^~~~
conftest.c:1:1: note: 'sqrt' is declared in header '<math.h>'
    1 | /* confdefs.h */
configure:4938: $? = 0
configure:4950: result: yes
configure:4963: checking for powf in -lmx
configure:4992: x86_64-linux-gnu-gcc -o conftest -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c -lmx  -lm  >&5
conftest.c:22:6: warning: conflicting types for built-in function 'powf'; expected 'float(float,  float)' [-Wbuiltin-declaration-mismatch]
   22 | char powf (void);
      |      ^~~~
conftest.c:1:1: note: 'powf' is declared in header '<math.h>'
    1 | /* confdefs.h */
/usr/bin/x86_64-linux-gnu-ld.bfd: cannot find -lmx: No such file or directory
collect2: error: ld returned 1 exit status
configure:4992: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "jackmeter"
| #define PACKAGE_TARNAME "jackmeter"
| #define PACKAGE_VERSION "0.4"
| #define PACKAGE_STRING "jackmeter 0.4"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL ""
| #define PACKAGE "jackmeter"
| #define VERSION "0.4"
| #define HAVE_LIBM 1
| /* end confdefs.h.  */
| 
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.
|    The 'extern "C"' is for builds by C++ compilers;
|    although this is not generally supported in C code supporting it here
|    has little cost and some practical benefit (sr 110532).  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char powf (void);
| int
| main (void)
| {
| return powf ();
|   ;
|   return 0;
| }
configure:5004: result: no

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_c_compiler_gnu=yes
ac_cv_c_const=yes
ac_cv_env_CC_set=set
ac_cv_env_CC_value=x86_64-linux-gnu-gcc
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection'
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value='-Wdate-time -D_FORTIFY_SOURCE=2'
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=-Wl,-z,relro
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=set
ac_cv_env_build_alias_value=x86_64-linux-gnu
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_lib_m_sqrt=yes
ac_cv_lib_mx_powf=no
ac_cv_objext=o
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=mawk
ac_cv_prog_ac_ct_CC=x86_64-linux-gnu-gcc
ac_cv_prog_cc_c23=
ac_cv_prog_cc_g=yes
ac_cv_prog_cc_stdc=
ac_cv_prog_make_make_set=yes
am_cv_CC_dependencies_compiler_type=none
am_cv_filesystem_timestamp_resolution=0.01
am_cv_make_support_nested_variables=yes
am_cv_prog_cc_c_o=yes
am_cv_prog_tar_ustar=gnutar
am_cv_sleep_fractional_seconds=yes
am_cv_xargs_n_works=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} '\''/<<PKGBUILDDIR>>/build-scripts/missing'\'' aclocal-1.18'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE='#'
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V=''
AM_DEFAULT_VERBOSITY='1'
AM_V=''
AUTOCONF='${SHELL} '\''/<<PKGBUILDDIR>>/build-scripts/missing'\'' autoconf'
AUTOHEADER='${SHELL} '\''/<<PKGBUILDDIR>>/build-scripts/missing'\'' autoheader'
AUTOMAKE='${SHELL} '\''/<<PKGBUILDDIR>>/build-scripts/missing'\'' automake-1.18'
AWK='mawk'
CC='x86_64-linux-gnu-gcc'
CCDEPMODE='depmode=none'
CFLAGS='-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection'
CPPFLAGS='-Wdate-time -D_FORTIFY_SOURCE=2'
CSCOPE='cscope'
CTAGS='ctags'
CYGPATH_W='echo'
DEFS=''
DEPDIR='.deps'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
ETAGS='etags'
EXEEXT=''
GREP=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
JACK_CFLAGS=''
JACK_LIBS=''
LDFLAGS='-Wl,-z,relro'
LIBOBJS=''
LIBS='-lm '
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='${SHELL} '\''/<<PKGBUILDDIR>>/build-scripts/missing'\'' makeinfo'
MKDIR_P='/usr/bin/mkdir -p'
OBJEXT='o'
PACKAGE='jackmeter'
PACKAGE_BUGREPORT='[email protected]'
PACKAGE_NAME='jackmeter'
PACKAGE_STRING='jackmeter 0.4'
PACKAGE_TARNAME='jackmeter'
PACKAGE_URL=''
PACKAGE_VERSION='0.4'
PATH_SEPARATOR=':'
SET_MAKE=''
SHELL='/bin/bash'
STRIP=''
VERSION='0.4'
ac_ct_CC='x86_64-linux-gnu-gcc'
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE='#'
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep=''
am__quote=''
am__rm_f_notfound=''
am__tar='tar --format=ustar -chf - "$$tardir"'
am__untar='tar -xf -'
am__xargs_n='xargs -n'
bindir='${exec_prefix}/bin'
build_alias='x86_64-linux-gnu'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host_alias=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${prefix}/share/info'
install_sh='${SHELL} /<<PKGBUILDDIR>>/build-scripts/install-sh'
libdir='${prefix}/lib/x86_64-linux-gnu'
libexecdir='${prefix}/lib/x86_64-linux-gnu'
localedir='${datarootdir}/locale'
localstatedir='/var'
mandir='${prefix}/share/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr'
program_transform_name='s,x,x,'
psdir='${docdir}'
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "jackmeter"
#define PACKAGE_TARNAME "jackmeter"
#define PACKAGE_VERSION "0.4"
#define PACKAGE_STRING "jackmeter 0.4"
#define PACKAGE_BUGREPORT "[email protected]"
#define PACKAGE_URL ""
#define PACKAGE "jackmeter"
#define VERSION "0.4"
#define HAVE_LIBM 1

configure: exit 
dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 2
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------