[Bug 1722955] Re: [FTBFS] grub2 ftbfs due to device macro location warnings

Mathieu Trudel-Lapierre mathieu.tl at gmail.com
Thu Oct 12 13:39:55 UTC 2017


I will sponsor this; we already discussed it on IRC.

** Changed in: grub2 (Ubuntu)
       Status: New => In Progress

** Changed in: grub2 (Ubuntu)
     Assignee: (unassigned) => Tiago Stürmer Daitx (tdaitx)

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1722955

Title:
  [FTBFS] grub2 ftbfs due to device macro location warnings

Status in grub2 package in Ubuntu:
  In Progress

Bug description:
  grub2 version 2.02~beta3-4ubuntu6 currently FTBFS on the archive
  rebuild for gcc-7 due to a warning about the location of the makedev
  macro.

  This has been fixed upstream [1,2] and the newer debian package
  already includes those fixes from upstream.

  https://launchpadlibrarian.net/337968212/buildlog_ubuntu-artful-
  amd64.grub2_2.02~beta3-4ubuntu6_BUILDING.txt.gz

  gcc-6 -DHAVE_CONFIG_H -I. -I../..  -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub-core/osdep/devmapper/getroot.c\" -I. -I../.. -I. -I../.. -I../../include -I./include -I../../grub-core/lib/libgcrypt-grub/src/  -I./grub-core/gnulib -I../../grub-core/gnulib -D_FILE_OFFSET_BITS=64 -Wall -Wno-error=unused-result -Wno-error=cast-align -Wno-error=format= -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wcast-align  -Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations -Wformat=2 -Werror  -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion  -c -o grub-core/osdep/devmapper/libgrubkern_a-getroot.o `test -f 'grub-core/osdep/devmapper/getroot.c' || echo '../../'`grub-core/osdep/devmapper/getroot.c
  ../../grub-core/osdep/unix/getroot.c: In function ‘grub_util_biosdisk_is_floppy’:
  ../../grub-core/osdep/unix/getroot.c:752:13: error: In the GNU C Library, "major" is defined
   by <sys/sysmacros.h>. For historical compatibility, it is
   currently defined by <sys/types.h> as well, but we plan to
   remove this soon. To use "major", include <sys/sysmacros.h>
   directly. If you did not intend to use a system-defined macro
   "major", you should undefine it after including <sys/types.h>. [-Werror]
     if (major(st.st_rdev) == FLOPPY_MAJOR)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  gcc-6 -DHAVE_CONFIG_H -I. -I../..  -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub-core/osdep/relpath.c\" -I. -I../.. -I. -I../.. -I../../include -I./include -I../../grub-core/lib/libgcrypt-grub/src/  -I./grub-core/gnulib -I../../grub-core/gnulib -D_FILE_OFFSET_BITS=64 -Wall -Wno-error=unused-result -Wno-error=cast-align -Wno-error=format= -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wcast-align  -Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations -Wformat=2 -Werror  -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion  -c -o grub-core/osdep/libgrubkern_a-relpath.o `test -f 'grub-core/osdep/relpath.c' || echo '../../'`grub-core/osdep/relpath.c
  In file included from ../../grub-core/osdep/getroot.c:2:0:
  ../../grub-core/osdep/linux/getroot.c: In function ‘grub_util_raid_getmembers’:
  ../../grub-core/osdep/linux/getroot.c:179:13: error: In the GNU C Library, "makedev" is defined
   by <sys/sysmacros.h>. For historical compatibility, it is
   currently defined by <sys/types.h> as well, but we plan to
   remove this soon. To use "makedev", include <sys/sysmacros.h>
   directly. If you did not intend to use a system-defined macro
   "makedev", you should undefine it after including <sys/types.h>. [-Werror]
          makedev (disk.major, disk.minor));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../grub-core/osdep/devmapper/getroot.c: In function ‘grub_util_open_dm’:
  ../../grub-core/osdep/devmapper/getroot.c:66:13: error: In the GNU C Library, "major" is defined
   by <sys/sysmacros.h>. For historical compatibility, it is
   currently defined by <sys/types.h> as well, but we plan to
   remove this soon. To use "major", include <sys/sysmacros.h>
   directly. If you did not intend to use a system-defined macro
   "major", you should undefine it after including <sys/types.h>. [-Werror]
     maj = major (st.st_rdev);
               ^~~~~~~~~~~~~~~
  ../../grub-core/osdep/devmapper/getroot.c:67:13: error: In the GNU C Library, "minor" is defined
   by <sys/sysmacros.h>. For historical compatibility, it is
   currently defined by <sys/types.h> as well, but we plan to
   remove this soon. To use "minor", include <sys/sysmacros.h>
   directly. If you did not intend to use a system-defined macro
   "minor", you should undefine it after including <sys/types.h>. [-Werror]
     min = minor (st.st_rdev);
               ^~~~~~~~~~~~~~~
  ../../grub-core/osdep/devmapper/getroot.c: In function ‘grub_util_pull_devmapper’:
  ../../grub-core/osdep/devmapper/getroot.c:174:13: error: In the GNU C Library, "makedev" is defined
   by <sys/sysmacros.h>. For historical compatibility, it is
   currently defined by <sys/types.h> as well, but we plan to
   remove this soon. To use "makedev", include <sys/sysmacros.h>
   directly. If you did not intend to use a system-defined macro
   "makedev", you should undefine it after including <sys/types.h>. [-Werror]
         subdev = grub_find_device ("/dev", makedev (dm->major, dm->minor));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../grub-core/osdep/devmapper/getroot.c: In function ‘grub_util_devmapper_part_to_disk’:
  ../../grub-core/osdep/devmapper/getroot.c:211:13: error: In the GNU C Library, "makedev" is defined
   by <sys/sysmacros.h>. For historical compatibility, it is
   currently defined by <sys/types.h> as well, but we plan to
   remove this soon. To use "makedev", include <sys/sysmacros.h>
   directly. If you did not intend to use a system-defined macro
   "makedev", you should undefine it after including <sys/types.h>. [-Werror]
         return grub_find_device ("/dev", makedev (major, minor));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: all warnings being treated as errors

  
  [1] http://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.02&id=7a5b301e3adb8e054288518a325135a1883c1c6c
  [2] http://git.savannah.gnu.org/cgit/grub.git/commit/?id=07662af7aed55bcec448bc2a6610de1f0cb62100

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1722955/+subscriptions



More information about the Ubuntu-sponsors mailing list