Your message dated Tue, 09 Jul 2024 12:24:23 +0000 with message-id <e1sr9tp-009mpr...@fasolo.debian.org> and subject line Bug#1073312: fixed in libxslt 1.1.35-1.1 has caused the Debian Bug report #1073312, regarding libxslt: FTBFS: extensions.c:392:33: error: implicit declaration of function ‘getenv’ [-Werror=implicit-function-declaration] to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 1073312: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1073312 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
--- Begin Message ---Source: libxslt Version: 1.1.35-1 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20240615 ftbfs-trixie Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. > -I.. -I../libxslt -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g > -O2 -Werror=implicit-function-declaration > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong > -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection > -Wall -Wextra -Wformat=2 -Wmissing-format-attribute -Wshadow -c -o extra.lo > extra.c > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -Wdate-time > -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g -O2 > -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -fstack-clash-protection -Wformat > -Werror=format-security -fcf-protection -Wall -Wextra -Wformat=2 > -Wmissing-format-attribute -Wshadow -c extensions.c -fPIC -DPIC -o > .libs/extensions.o > extensions.c: In function ‘xsltExtModuleRegisterDynamic’: > extensions.c:392:33: error: implicit declaration of function ‘getenv’ > [-Werror=implicit-function-declaration] > 392 | ext_directory = (xmlChar *) getenv("LIBXSLT_PLUGINS_PATH"); > | ^~~~~~ > extensions.c:34:1: note: ‘getenv’ is defined in header ‘<stdlib.h>’; did you > forget to ‘#include <stdlib.h>’? > 33 | #include "extensions.h" > +++ |+#include <stdlib.h> > 34 | > extensions.c:392:21: warning: cast to pointer from integer of different size > [-Wint-to-pointer-cast] > 392 | ext_directory = (xmlChar *) getenv("LIBXSLT_PLUGINS_PATH"); > | ^ > /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. > -I.. -I../libxslt -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g > -O2 -Werror=implicit-function-declaration > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong > -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection > -Wall -Wextra -Wformat=2 -Wmissing-format-attribute -Wshadow -c -o > functions.lo functions.c > numbers.c: In function ‘xsltNumberFormatTokenize’: > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > In file included from numbers.c:22: > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -Wdate-time > -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g -O2 > -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -fstack-clash-protection -Wformat > -Werror=format-security -fcf-protection -Wall -Wextra -Wformat=2 > -Wmissing-format-attribute -Wshadow -c extra.c -fPIC -DPIC -o .libs/extra.o > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:350:5: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 350 | while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, > &len)) || > | ^~~~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:374:9: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 374 | val = xmlStringCurrentChar(NULL, format+ix, &len); > | ^~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:381:17: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 381 | val = xmlStringCurrentChar(NULL, format+ix, &len); > | ^~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:386:17: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 386 | val = xmlStringCurrentChar(NULL, format+ix, &len); > | ^~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:397:13: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 397 | val = xmlStringCurrentChar(NULL, format+ix, &len); > | ^~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:419:13: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 419 | val = xmlStringCurrentChar(NULL, format+ix, &len); > | ^~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > numbers.c:430:13: warning: ‘xmlStringCurrentChar’ is deprecated > [-Wdeprecated-declarations] > 430 | val = xmlStringCurrentChar(NULL, format+ix, &len); > | ^~~ > /usr/include/libxml2/libxml/parserInternals.h:576:33: note: declared here > 576 | XMLPUBFUN int xmlStringCurrentChar > (xmlParserCtxtPtr ctxt, > | ^~~~~~~~~~~~~~~~~~~~ > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -Wdate-time > -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g -O2 > -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -fstack-clash-protection -Wformat > -Werror=format-security -fcf-protection -Wall -Wextra -Wformat=2 > -Wmissing-format-attribute -Wshadow -c functions.c -fPIC -DPIC -o > .libs/functions.o > functions.c: In function ‘xsltDocumentFunctionLoadDocument’: > functions.c:207:9: warning: case value ‘5’ not in enumerated type > ‘xmlXPathObjectType’ [-Wswitch] > 207 | case XPATH_POINT: > | ^~~~ > functions.c:210:9: warning: case value ‘6’ not in enumerated type > ‘xmlXPathObjectType’ [-Wswitch] > 210 | case XPATH_RANGE: > | ^~~~ > functions.c:211:9: warning: case value ‘7’ not in enumerated type > ‘xmlXPathObjectType’ [-Wswitch] > 211 | case XPATH_LOCATIONSET: > | ^~~~ > functions.c: In function ‘xsltCleanupIds’: > functions.c:737:30: warning: format ‘%d’ expects argument of type ‘int’, but > argument 3 has type ‘long unsigned int’ [-Wformat=] > 737 | fprintf(stderr, "Attributed %d IDs for element, cleaned up %d\n", > | ~^ > | | > | int > | %ld > 738 | ctxt->nextid, count); > | ~~~~~~~~~~~~ > | | > | long unsigned int > /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. > -I.. -I../libxslt -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g > -O2 -Werror=implicit-function-declaration > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong > -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection > -Wall -Wextra -Wformat=2 -Wmissing-format-attribute -Wshadow -c -o > namespaces.lo namespaces.c > /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. > -I.. -I../libxslt -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g > -O2 -Werror=implicit-function-declaration > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong > -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection > -Wall -Wextra -Wformat=2 -Wmissing-format-attribute -Wshadow -c -o imports.lo > imports.c > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -Wdate-time > -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g -O2 > -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -fstack-clash-protection -Wformat > -Werror=format-security -fcf-protection -Wall -Wextra -Wformat=2 > -Wmissing-format-attribute -Wshadow -c namespaces.c -fPIC -DPIC -o > .libs/namespaces.o > cc1: some warnings being treated as errors > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -Wdate-time > -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -g -O2 > -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -fstack-clash-protection -Wformat > -Werror=format-security -fcf-protection -Wall -Wextra -Wformat=2 > -Wmissing-format-attribute -Wshadow -c imports.c -fPIC -DPIC -o > .libs/imports.o > make[3]: *** [Makefile:600: extensions.lo] Error 1 The full build log is available from: http://qa-logs.debian.net/2024/06/15/libxslt_1.1.35-1_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240615;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240615&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.
--- End Message ---
--- Begin Message ---Source: libxslt Source-Version: 1.1.35-1.1 Done: Andreas Metzler <ametz...@debian.org> We believe that the bug you reported is fixed in the latest version of libxslt, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1073...@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Andreas Metzler <ametz...@debian.org> (supplier of updated libxslt package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmas...@ftp-master.debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Tue, 09 Jul 2024 13:56:17 +0200 Source: libxslt Architecture: source Version: 1.1.35-1.1 Distribution: unstable Urgency: medium Maintainer: Debian XML/SGML Group <debian-xml-sgml-p...@lists.alioth.debian.org> Changed-By: Andreas Metzler <ametz...@debian.org> Closes: 1071937 1073312 Changes: libxslt (1.1.35-1.1) unstable; urgency=medium . * Non-maintainer upload. * Add missing #include <stdlib.h> to fix FTFBS. Closes: #1073312 * Use pkg-config to locate libgcrypt. Closes: #1071937 Checksums-Sha1: 4443c6270d651254b96bea2fd6aa0b47eaf04cfb 2163 libxslt_1.1.35-1.1.dsc 896608932e701530e3b2618dd6d82e46809be085 22212 libxslt_1.1.35-1.1.debian.tar.xz Checksums-Sha256: 102a6976eb833e719d34339e4a8346553d89325b8850c4fad0942a58aad03abe 2163 libxslt_1.1.35-1.1.dsc 6e7107620dc85c9d16e2650297cb1f86fe3e38ad0ee8d646e90fc3608f522eaf 22212 libxslt_1.1.35-1.1.debian.tar.xz Files: d0d37cbd26e67fb6c645482b4371f63d 2163 text optional libxslt_1.1.35-1.1.dsc 81a1589bb4985a17f60f665209a64a75 22212 text optional libxslt_1.1.35-1.1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE0uCSA5741Jbt9PpepU8BhUOCFIQFAmaNJxcACgkQpU8BhUOC FIRlSxAAlZeuGoqXHIXdIQUDwCtVRQaZVv16HJTRaHSD8m/KJ+i10GaJoZTEinkn T80sjP1px3042Rnz8c5u8SqmzQo1CuUCuJ6WlylvCHUaMpSRHkcOo7AhDZZu8UmY +g8hVZHZy5AS89VPeKzMXWOOaLxE1pqhUagafqsgVC64+zEPNexaP/PUUmfYbCq2 sJbrxi/TtfpmvDA0QYE6yRBvyHSRjxmzvjGwppvzKmDKCfaYwcofDS/3ZJgVOm19 kvnNqlmK3mfccwn22gTKu+p1FMzz8Dt8tDaAVYQ/dV+5BlwRFY6q+6QS9hO5tnrH CRpyznDYDFdap137wX2ulq85bwGzmb+G/bQZncaOX7O/q24QA96xmAKf1ozWgSj3 U3gkefSCXbYLtUlPlIxHluA2F3x6b+hzBGx+QqEDfVU8bhjniVksQ4mI0zEFwO7B 8rVOz/hoT3jl6DWOoLQ7P2RjZl9j8X336LpfWBh6+4YmbvEVxUMVm8tuv1jcCEeC k7kZyS7Kg3/95jrd/XrWiZFSipuXAdxYiJmOLTBUwU/wuY8w5Dq7PvIVqhNTFbdn 1SH5TAtT6RzraeK1hhuETZpLh3tYc3j+I9hGw3oMCdS215FmR/3ZjViiecc0NvMR IVN8CnKqnZF88rxYucvvjXw9K1bTvWiwa/TQkN9z4JPjMxR7rT4= =N0Oq -----END PGP SIGNATURE-----pgpMKaIltMo8X.pgp
Description: PGP signature
--- End Message ---