Re: What happened to DIOCGDINFO? Fwd: [package - head-amd64-default][misc/e2fsprogs-libblkid] Failed for e2fsprogs-libblkid-1.42.12 in build
> On Jan 11, 2015, at 5:07 AM, Matthias Andree wrote: > > Am 11.01.2015 um 04:05 schrieb Ian Lepore: > Ident: $FreeBSD: head/misc/e2fsprogs-libblkid/Makefile 370388 2014-10-07 19:15:52Z mandree $ Log URL: http://beefy2.isc.freebsd.org/data/head-amd64-default/2015-01-10_14h05m40s/logs/e2fsprogs-libblkid-1.42.12.log Build URL: http://beefy2.isc.freebsd.org/build.html?mastername=head-amd64-default&build=2015-01-10_14h05m40s Log: >>> cc -I. -I../../lib -I../../lib -I/wrkdirs/usr/ports/misc/e2fsprogs-libblkid/work/e2fsprogs-1.42.12/lib -I/usr/local/include -D_THREAD_SAFE -O2 -pipe -fstack-protector -fno-strict-aliasing -std=gnu99 -DHAVE_CONFIG_H -c getsize.c -o getsize.o getsize.c:151:31: error: use of undeclared identifier 'DIOCGDINFO' if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 0)) { ^ 1 error generated. > >> It was removed in r276737. I don't know what replaces it. > > Ted, > > I am including a patch against e2fsprogs's "maint" branch to fix the > build on the future FreeBSD 11+ versions. Please apply. > > > Ian, Warner, *, > > I think I've got a hold of this; the replacement appears to be > DIOCGMEDIASIZE from , and has been for more than a decade, > so that I had forgotten about it. > > The e2fsprogs port has been using DIOCGMEDIASIZE for many years (phk > added DIOCGMEDIASIZE on 2002-04-08, I added upstream support 2003-12-28 > but it underwent a few revisions, not worth bothering IMO) judging from > the source code comments, but one of the two getsize.c source files - > the one in lib/blkid/ - lacks an #ifdef DIOCGDINFO guard and relies on > #ifdef HAVE_SYS_DISKLABEL_H only and jams the build. The other one in > lib/ext2fs/ had a guard that checked the actual ioctl #define. > > Fix has been committed without Git markup in the FreeBSD ports tree, > r376742. These changes look good to me. Warner signature.asc Description: Message signed with OpenPGP using GPGMail
Re: What happened to DIOCGDINFO? Fwd: [package - head-amd64-default][misc/e2fsprogs-libblkid] Failed for e2fsprogs-libblkid-1.42.12 in build
Am 11.01.2015 um 04:05 schrieb Ian Lepore: >>> Ident: $FreeBSD: head/misc/e2fsprogs-libblkid/Makefile 370388 >>> 2014-10-07 19:15:52Z mandree $ >>> Log URL: >>> http://beefy2.isc.freebsd.org/data/head-amd64-default/2015-01-10_14h05m40s/logs/e2fsprogs-libblkid-1.42.12.log >>> Build URL: >>> http://beefy2.isc.freebsd.org/build.html?mastername=head-amd64-default&build=2015-01-10_14h05m40s >>> Log: >> >>> cc -I. -I../../lib -I../../lib >>> -I/wrkdirs/usr/ports/misc/e2fsprogs-libblkid/work/e2fsprogs-1.42.12/lib >>> -I/usr/local/include -D_THREAD_SAFE -O2 -pipe -fstack-protector >>> -fno-strict-aliasing -std=gnu99 -DHAVE_CONFIG_H -c getsize.c -o getsize.o >>> getsize.c:151:31: error: use of undeclared identifier 'DIOCGDINFO' >>> if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= >>> 0)) { >>> ^ >>> 1 error generated. > It was removed in r276737. I don't know what replaces it. Ted, I am including a patch against e2fsprogs's "maint" branch to fix the build on the future FreeBSD 11+ versions. Please apply. Ian, Warner, *, I think I've got a hold of this; the replacement appears to be DIOCGMEDIASIZE from , and has been for more than a decade, so that I had forgotten about it. The e2fsprogs port has been using DIOCGMEDIASIZE for many years (phk added DIOCGMEDIASIZE on 2002-04-08, I added upstream support 2003-12-28 but it underwent a few revisions, not worth bothering IMO) judging from the source code comments, but one of the two getsize.c source files - the one in lib/blkid/ - lacks an #ifdef DIOCGDINFO guard and relies on #ifdef HAVE_SYS_DISKLABEL_H only and jams the build. The other one in lib/ext2fs/ had a guard that checked the actual ioctl #define. Fix has been committed without Git markup in the FreeBSD ports tree, r376742. Thanks everybody. Best regards, Matthias From 98ec1eeffd3e5752a775a73bec108945fe7a7a53 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sun, 11 Jan 2015 12:58:30 +0100 Subject: [PATCH] Fix build on FreeBSD 11 that removes DIOCGDINFO. The replacement DIOCGMEDIASIZE has been in e2fsprogs since end of 2003, but now the removal of the upstream system breaks the lib/blkid/getsize.c build. lib/ext2fs/getsize.c was unaffected because it had already been checking if this ioctl symbol was #defined. I haven't checked the situation on other BSDs, thus I am not sure if others have DIOCGMEDIASIZE, so I propose to leave the DIOCGDINFO in. Further cleanup opportunity: consolidate lib/blkid/getsize.c and lib/ext2fs/getsize.c. Signed-off-by: Matthias Andree --- lib/blkid/getsize.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/blkid/getsize.c b/lib/blkid/getsize.c index a5c40aa..dc4cc1b 100644 --- a/lib/blkid/getsize.c +++ b/lib/blkid/getsize.c @@ -127,7 +127,7 @@ blkid_loff_t blkid_get_dev_size(int fd) return (blkid_loff_t)this_floppy.size << 9; } #endif -#ifdef HAVE_SYS_DISKLABEL_H +#if defined(HAVE_SYS_DISKLABEL_H) && defined(DIOCGDINFO) { int part = -1; struct disklabel lab; @@ -154,7 +154,7 @@ blkid_loff_t blkid_get_dev_size(int fd) return pp->p_size << 9; } } -#endif /* HAVE_SYS_DISKLABEL_H */ +#endif /* defined(HAVE_SYS_DISKLABEL_H) && defined(DIOCGDINFO) */ { #if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED) struct stat64 st; -- 2.2.1 signature.asc Description: OpenPGP digital signature
Re: What happened to DIOCGDINFO? Fwd: [package - head-amd64-default][misc/e2fsprogs-libblkid] Failed for e2fsprogs-libblkid-1.42.12 in build
On Sun, 2015-01-11 at 02:56 +0100, Matthias Andree wrote: > Greetings, > > I am getting new reports of package build failures on head (i386 and > amd64 have reported these so far): > > > Ident: $FreeBSD: head/misc/e2fsprogs-libblkid/Makefile 370388 > > 2014-10-07 19:15:52Z mandree $ > > Log URL: > > http://beefy2.isc.freebsd.org/data/head-amd64-default/2015-01-10_14h05m40s/logs/e2fsprogs-libblkid-1.42.12.log > > Build URL: > > http://beefy2.isc.freebsd.org/build.html?mastername=head-amd64-default&build=2015-01-10_14h05m40s > > Log: > > > cc -I. -I../../lib -I../../lib > > -I/wrkdirs/usr/ports/misc/e2fsprogs-libblkid/work/e2fsprogs-1.42.12/lib > > -I/usr/local/include -D_THREAD_SAFE -O2 -pipe -fstack-protector > > -fno-strict-aliasing -std=gnu99 -DHAVE_CONFIG_H -c getsize.c -o getsize.o > > getsize.c:151:31: error: use of undeclared identifier 'DIOCGDINFO' > > if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= > > 0)) { > > ^ > > 1 error generated. > > I haven't been watching 11-HEAD too closely, has this DIOCGDINFO symbol > been relocated to a different header, removed (because the feature is > going away -- and which would be the replacement), or is this a > temporary failure (inadvertent error)? > > To the best of my knowledge, and without retrying builds, the package > builds fine on 8/9/10. > > Thanks, > Matthias It was removed in r276737. I don't know what replaces it. -- Ian ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"