Bug#1114148: hplip: FTBFS: error: Failed to create /sbuild-nonexistent/.hplip
Package: src:hplip
Version: 3.22.10+dfsg0-8.1
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build.
Below you will find how the build ends (probably the most relevant part,
but not necessarily). If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202509/
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 could not 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:hplip, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=autoconf --with python3 --with pyppd
dh_auto_clean -O--buildsystem=autoconf
dh_autoreconf_clean -O--buildsystem=autoconf
debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_clean
find . -regextype posix-extended -iregex '.*\.(ldl|ppd|pdf|ps|pcl)\.gz' | xargs gunzip -f ;\
rm -f *.1
rm -f prnt/hpijs/platform.h prnt/hpijs/auto-include.h
find -type d -name build -print0 | xargs -0 -r rm -rf \;
# We prefer to regenerate these using pyuic
(cd ui5 && for i in *.ui ; do rm -f ${i%.ui}.py ; done)
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
[... snipped ...]
prnt/cupsext/cupsext.c:805:29: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
805 | ppdname = ippGetString( attr, 0, NULL );
| ^
prnt/cupsext/cupsext.c: In function 'openPPD':
prnt/cupsext/cupsext.c:949:5: warning: 'cupsGetPPD' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
949 | if ( ( g_ppd_file = cupsGetPPD( ( const char * ) printer ) ) == NULL )
| ^~
In file included from prnt/cupsext/cupsext.c:82:
/usr/include/cups/ppd.h:359:26: note: declared here
359 | extern const char *cupsGetPPD(const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
| ^~~~~~~~~~
prnt/cupsext/cupsext.c:961:5: warning: 'ppdOpen' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
961 | ppd = ppdOpen( file );
| ^~~
/usr/include/cups/ppd.h:388:26: note: declared here
388 | extern ppd_file_t *ppdOpen(FILE *fp) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
| ^~~~~~~
prnt/cupsext/cupsext.c:962:5: warning: 'ppdLocalize' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
962 | ppdLocalize( ppd );
| ^~~~~~~~~~~
/usr/include/cups/ppd.h:435:25: note: declared here
435 | extern int ppdLocalize(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
| ^~~~~~~~~~~
prnt/cupsext/cupsext.c:977:5: warning: 'ppdMarkDefaults' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
977 | ppdMarkDefaults( ppd );
| ^~~~~~~~~~~~~~~
/usr/include/cups/ppd.h:385:25: note: declared here
385 | extern void ppdMarkDefaults(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
| ^~~~~~~~~~~~~~~
prnt/cupsext/cupsext.c:978:5: warning: 'cupsMarkOptions' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
978 | cupsMarkOptions( ppd, dest->num_options, dest->options );
| ^~~~~~~~~~~~~~~
/usr/include/cups/ppd.h:363:25: note: declared here
363 | extern int cupsMarkOptions(ppd_file_t *ppd, int num_options, cups_option_t *options) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
| ^~~~~~~~~~~~~~~
prnt/cupsext/cupsext.c: In function 'closePPD':
prnt/cupsext/cupsext.c:997:9: warning: 'ppdClose' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
997 | ppdClose( ppd );
| ^~~~~~~~
/usr/include/cups/ppd.h:365:25: note: declared here
365 | extern void ppdClose(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
| ^~~~~~~~
prnt/cupsext/cupsext.c: In function 'getPPD':
prnt/cupsext/cupsext.c:1017:5: warning: 'cupsGetPPD' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
1017 | ppd_file = cupsGetPPD( ( const char * ) printer );
| ^~~~~~~~
/usr/include/cups/ppd.h:359:26: note: declared here
359 | extern const char *cupsGetPPD(const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
| ^~~~~~~~~~
prnt/cupsext/cupsext.c: In function 'getPPDOption':
prnt/cupsext/cupsext.c:1036:9: warning: 'ppdFindMarkedChoice' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
1036 | marked_choice = ppdFindMarkedChoice( ppd, option );
| ^~~~~~~~~~~~~
/usr/include/cups/ppd.h:378:26: note: declared here
378 | extern ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd,
| ^~~~~~~~~~~~~~~~~~~
prnt/cupsext/cupsext.c: In function 'findPPDAttribute':
prnt/cupsext/cupsext.c:1066:9: warning: 'ppdFindAttr' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
1066 | ppd_attr = ppdFindAttr(ppd, name, spec );
| ^~~~~~~~
/usr/include/cups/ppd.h:400:26: note: declared here
400 | extern ppd_attr_t *ppdFindAttr(ppd_file_t *ppd, const char *name,
| ^~~~~~~~~~~
prnt/cupsext/cupsext.c: In function 'getPPDPageSize':
prnt/cupsext/cupsext.c:1093:9: warning: 'ppdFindMarkedChoice' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
1093 | page_size = ppdFindMarkedChoice( ppd, "PageSize" );
| ^~~~~~~~~
/usr/include/cups/ppd.h:378:26: note: declared here
378 | extern ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd,
| ^~~~~~~~~~~~~~~~~~~
prnt/cupsext/cupsext.c:1101:9: warning: 'ppdPageSize' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
1101 | size = ppdPageSize( ppd, page_size->text );
| ^~~~
/usr/include/cups/ppd.h:393:26: note: declared here
393 | extern ppd_size_t *ppdPageSize(ppd_file_t *ppd, const char *name)
| ^~~~~~~~~~~
prnt/cupsext/cupsext.c:1109:9: warning: 'ppdPageWidth' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
1109 | width = ppdPageWidth( ppd, page_size->text );
| ^~~~~
/usr/include/cups/ppd.h:395:25: note: declared here
395 | extern float ppdPageWidth(ppd_file_t *ppd, const char *name)
| ^~~~~~~~~~~~
prnt/cupsext/cupsext.c:1110:9: warning: 'ppdPageLength' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
1110 | length = ppdPageLength( ppd, page_size->text );
| ^~~~~~
/usr/include/cups/ppd.h:391:25: note: declared here
391 | extern float ppdPageLength(ppd_file_t *ppd, const char *name)
| ^~~~~~~~~~~~~
prnt/cupsext/cupsext.c: In function 'setOptions':
prnt/cupsext/cupsext.c:1463:9: warning: 'cupsMarkOptions' is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
1463 | cupsMarkOptions( ppd, dest->num_options, dest->options );
| ^~~~~~~~~~~~~~~
/usr/include/cups/ppd.h:363:25: note: declared here
363 | extern int cupsMarkOptions(ppd_file_t *ppd, int num_options, cups_option_t *options) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
| ^~~~~~~~~~~~~~~
protocol/hp_ipp.c: In function 'acquireCupsInstance':
protocol/hp_ipp.c:48:9: warning: 'httpConnectEncrypt' is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
48 | http = httpConnectEncrypt( cupsServer(), ippPort(), cupsEncryption() );
| ^~~~
In file included from /usr/include/cups/ipp.h:19,
from /usr/include/cups/cups.h:28,
from protocol/hp_ipp.c:22:
/usr/include/cups/http.h:478:26: note: declared here
478 | extern http_t *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
| ^~~~~~~~~~~~~~~~~~
protocol/hp_ipp.c: In function '__parsePrinterAttributes':
protocol/hp_ipp.c:509:24: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
509 | attr_name = ippGetName(attr);
| ^
protocol/hp_ipp.c: In function 'networkDoRequest':
protocol/hp_ipp.c:800:5: warning: 'httpConnectEncrypt' is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
800 | http = httpConnectEncrypt( ip, ippPort(), cupsEncryption() );
| ^~~~
/usr/include/cups/http.h:478:26: note: declared here
478 | extern http_t *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
| ^~~~~~~~~~~~~~~~~~
protocol/hp_ipp.c: In function 'raw_ipp_response_read_callback':
common/utils.h:13:39: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
13 | #define DBG(args...) syslog(LOG_INFO, __FILE__ " " STRINGIZE(__LINE__) ": " args)
| ^~~~~~~~
protocol/hp_ipp.c:1005:9: note: in expansion of macro 'DBG'
1005 | DBG("Requested Length(%d) is more than source buffer length(%d).\n", length, src->data_length);
| ^~~
protocol/hp_ipp.c: In function 'raw_ipp_request_callback':
common/utils.h:12:38: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
12 | #define BUG(args...) syslog(LOG_ERR, __FILE__ " " STRINGIZE(__LINE__) ": " args)
| ^~~~~~~~
protocol/hp_ipp.c:1044:9: note: in expansion of macro 'BUG'
1044 | BUG("Insufficient raw_ipp->data size. %d bytes needed.\n", raw_buffer->data_length + length);
| ^~~
In file included from /usr/include/stdio.h:970,
from /usr/include/cups/ppd.h:24,
from protocol/hp_ipp.c:24:
In function 'snprintf',
inlined from 'addCupsPrinter' at protocol/hp_ipp.c:113:9:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:10: warning: null destination pointer [-Wformat-truncation=]
68 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] echo './'`io/mudext/hpmudext.c
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] -o .libs/hpmudext_la-hpmudext.o
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] || echo './'`scan/sane/hpaio.c
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] .libs/libsane_hpaio_la-hpaio.o
In file included from scan/sane/hpaio.h:32,
from scan/sane/hpaio.c:48:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
In file included from scan/sane/hpaio.c:58:
scan/sane/sanei_debug.h:167:10: warning: 'DBG' redefined
167 | # define DBG DBG_LOCAL
| ^~~
In file included from scan/sane/hpaio.c:41:
protocol/discovery/avahiDiscovery.h:79:12: note: this is the location of the previous definition
79 | #define DBG(args...)
| ^~~
scan/sane/hpaio.c: In function 'GetCupsPrinters':
scan/sane/hpaio.c:203:4: warning: 'httpConnectEncrypt' is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
203 | if ((http = httpConnectEncrypt(cupsServer(), ippPort(), cupsEncryption())) == NULL)
| ^~
In file included from /usr/include/cups/ipp.h:19,
from /usr/include/cups/cups.h:28,
from scan/sane/hpaio.c:37:
/usr/include/cups/http.h:478:26: note: declared here
478 | extern http_t *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
| ^~~~~~~~~~~~~~~~~~
scan/sane/hpaio.c:231:116: warning: passing argument 1 of 'AddCupsList' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
231 | if (strcmp(ippGetName( attr ), "device-uri") == 0 && ippGetValueTag( attr ) == IPP_TAG_URI && AddCupsList(ippGetString( attr, 0, NULL ), printer) == 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scan/sane/hpaio.c:154:30: note: expected 'char *' but argument is of type 'const char *'
154 | static int AddCupsList(char *uri, char ***printer)
| ~~~~~~^~~
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] || echo './'`scan/sane/mfpdtf.c
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] .libs/libsane_hpaio_la-mfpdtf.o
In file included from scan/sane/mfpdtf.c:28:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] c' || echo './'`scan/sane/pml.c
scan/sane/mfpdtf.c: In function 'MfpdtfReadInnerBlock':
scan/sane/mfpdtf.c:476:13: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result]
476 | write( mfpdtf->fdLog, buffer, r ); /* log raw rgb data, use imagemagick to display */
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] -o .libs/libsane_hpaio_la-pml.o
In file included from scan/sane/pml.c:33:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] c' || echo './'`scan/sane/scl.c
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] -o .libs/libsane_hpaio_la-scl.o
In file included from scan/sane/scl.c:33:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] .c' || echo './'`scan/sane/io.c
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] -o .libs/libsane_hpaio_la-io.o
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] || echo './'`scan/sane/common.c
In file included from scan/sane/io.c:33:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] .libs/libsane_hpaio_la-common.o
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] /'`scan/sane/sanei_init_debug.c
In file included from scan/sane/common.c:34:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
scan/sane/common.c:271:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
271 | {
| ^
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] ane_hpaio_la-sanei_init_debug.o
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] | echo './'`scan/sane/marvell.c
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] || echo './'`scan/sane/soapht.c
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] libs/libsane_hpaio_la-marvell.o
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] .libs/libsane_hpaio_la-soapht.o
In file included from scan/sane/soapht.c:49:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
In file included from scan/sane/soapht.c:56:
scan/sane/sanei_debug.h:167:10: warning: 'DBG' redefined
167 | # define DBG DBG_LOCAL
| ^~~
In file included from scan/sane/soapht.c:53:
common/utils.h:13:9: note: this is the location of the previous definition
13 | #define DBG(args...) syslog(LOG_INFO, __FILE__ " " STRINGIZE(__LINE__) ": " args)
| ^~~
In file included from scan/sane/marvell.c:47:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
In file included from scan/sane/marvell.c:54:
scan/sane/sanei_debug.h:167:10: warning: 'DBG' redefined
167 | # define DBG DBG_LOCAL
| ^~~
In file included from scan/sane/marvell.c:51:
common/utils.h:13:9: note: this is the location of the previous definition
13 | #define DBG(args...) syslog(LOG_INFO, __FILE__ " " STRINGIZE(__LINE__) ": " args)
| ^~~
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] ' || echo './'`scan/sane/soap.c
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] c' || echo './'`scan/sane/xml.c
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] o .libs/libsane_hpaio_la-soap.o
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] -o .libs/libsane_hpaio_la-xml.o
In file included from scan/sane/soap.c:55:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
In file included from scan/sane/soap.c:62:
scan/sane/sanei_debug.h:167:10: warning: 'DBG' redefined
167 | # define DBG DBG_LOCAL
| ^~~
In file included from scan/sane/soap.c:59:
common/utils.h:13:9: note: this is the location of the previous definition
13 | #define DBG(args...) syslog(LOG_INFO, __FILE__ " " STRINGIZE(__LINE__) ": " args)
| ^~~
/bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE [too-long-redacted] ' || echo './'`scan/sane/ledm.c
libtool: compile: gcc "-DPACKAGE_NAME=\"HP Linux Imaging an [too-long-redacted] o .libs/libsane_hpaio_la-ledm.o
In file included from scan/sane/ledm.c:38:
scan/sane/common.h:191:1: warning: 'visibility' attribute ignored on non-class types [-Wattributes]
191 | char* __attribute__ ((visibility ("hidden"))) itoa(int value, char* str, int radix);
| ^~~~
scan/sane/ledm.c: In function 'ledm_start':
scan/sane/ledm.c:860:11: error: too many arguments to function 'bb_is_paper_in_adf'; expected 0, have 1
860 | ret = bb_is_paper_in_adf(ps); /* 0 = no paper in adf, 1 = paper in adf, -1 = error */
| ^~~~~~~~~~~~~~~~~~ ~~
In file included from scan/sane/ledm.c:42:
scan/sane/ledmi.h:165:5: note: declared here
165 | int bb_is_paper_in_adf(); /* 0 = no paper in adf, 1 = paper in adf, -1 = error */
| ^~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:6114: libsane_hpaio_la-ledm.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j2 returned exit code 2
make[1]: *** [debian/rules:95: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:35: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Reply to: