Your message dated Sun, 19 Nov 2017 18:41:07 +0100
with message-id <20171119174107.43ba4sj4mu5n5...@aurel32.net>
and subject line Re: Bug#881932: libdebian-installer FTBFS with gcc-8: multiple 
definitions of
has caused the Debian Bug report #881932,
regarding libdebian-installer FTBFS with gcc-8: multiple definitions of
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.)


-- 
881932: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881932
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: libdebian-installer
Version: 0.111
Tags: patch
User: helm...@debian.org
Usertags: rebootstrap

libdebian-installer fails to build from source when built with gcc-8. It
seems gcc-8 has become more strict in terms of multiple defined
constants. As it happens, libdebian-installer defines constants of type
di_parser_fieldinfo both in headers and C files. As the headers get
included into multiple translation units, the constants are duplicated.

I believe that the solution is to mark them extern in the headers. Since
they are still defined (with values) in the C files that'll not make
them go missing. Please consider applying the attached patch.

Once gcc-8 becomes the default, this bug will become serious.

I would like to thank James Clarke for helping me gain an understanding
of the issue at hand. Consider the patch joint work.

Helmut
diff --minimal -Nru libdebian-installer-0.111/debian/changelog 
libdebian-installer-0.111+nmu1/debian/changelog
--- libdebian-installer-0.111/debian/changelog  2017-06-25 18:42:05.000000000 
+0200
+++ libdebian-installer-0.111+nmu1/debian/changelog     2017-11-16 
17:48:06.000000000 +0100
@@ -1,3 +1,11 @@
+libdebian-installer (0.111+nmu1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTBFS with gcc-8: Mark di_parser_fieldinfo constants extern.
+    (Closes: #-1)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Thu, 16 Nov 2017 17:48:06 +0100
+
 libdebian-installer (0.111) unstable; urgency=medium
 
   [ Aurelien Jarno ]
diff --minimal -Nru 
libdebian-installer-0.111/include/debian-installer/package_internal.h 
libdebian-installer-0.111+nmu1/include/debian-installer/package_internal.h
--- libdebian-installer-0.111/include/debian-installer/package_internal.h       
2017-06-24 19:14:56.000000000 +0200
+++ libdebian-installer-0.111+nmu1/include/debian-installer/package_internal.h  
2017-11-16 17:48:04.000000000 +0100
@@ -33,7 +33,7 @@
  * @internal
  * parser info
  */
-const di_parser_fieldinfo
+extern const di_parser_fieldinfo
   internal_di_package_parser_field_status,
   internal_di_package_parser_field_essential,
   internal_di_package_parser_field_priority,
diff --minimal -Nru 
libdebian-installer-0.111/include/debian-installer/packages_internal.h 
libdebian-installer-0.111+nmu1/include/debian-installer/packages_internal.h
--- libdebian-installer-0.111/include/debian-installer/packages_internal.h      
2012-10-20 13:07:58.000000000 +0200
+++ libdebian-installer-0.111+nmu1/include/debian-installer/packages_internal.h 
2017-11-16 17:48:06.000000000 +0100
@@ -84,7 +84,7 @@
 di_parser_write_entry_next
   internal_di_packages_parser_write_entry_next;
 
-const di_parser_fieldinfo
+extern const di_parser_fieldinfo
   internal_di_packages_parser_field_package;
 
 /** @} */

--- End Message ---
--- Begin Message ---
Version: 0.112

On 2017-11-16 19:11, Helmut Grohne wrote:
> Source: libdebian-installer
> Version: 0.111
> Tags: patch
> User: helm...@debian.org
> Usertags: rebootstrap
> 
> libdebian-installer fails to build from source when built with gcc-8. It
> seems gcc-8 has become more strict in terms of multiple defined
> constants. As it happens, libdebian-installer defines constants of type
> di_parser_fieldinfo both in headers and C files. As the headers get
> included into multiple translation units, the constants are duplicated.
> 
> I believe that the solution is to mark them extern in the headers. Since
> they are still defined (with values) in the C files that'll not make
> them go missing. Please consider applying the attached patch.
> 
> Once gcc-8 becomes the default, this bug will become serious.
> 
> I would like to thank James Clarke for helping me gain an understanding
> of the issue at hand. Consider the patch joint work.
> 
> Helmut

This was fixed in version 0.112, but hasn't been closed automatically
due to a non-breakable space which ended up in the changelog... Closing
it manually.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurel...@aurel32.net                 http://www.aurel32.net

--- End Message ---

Reply via email to