Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] util-linux won't compile

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Paul <dufflebunk AT dufflebunk.homeip.net>
  • To: sm-discuss <sm-discuss AT lists.ibiblio.org>
  • Subject: Re: [SM-Discuss] util-linux won't compile
  • Date: Sun, 18 Jan 2004 11:50:00 -0500

Has a bug been filed for this?

On Tue, 2004-01-13 at 17:10, pengpow AT pengpow.homeip.net wrote:
> On Mon, 12 Jan 2004, Jeremy Kolb wrote:
>
> > I'm running the 2.6.1-mm1 kernel, everything's up to date. I'm running
> > the test grimoire/devel sorcery and util-linux won't compile.
> >
> > cc -I../lib -Wall -Wmissing-prototypes -Wstrict-prototypes -DNCH=1
> > -D_FILE_OFFSET_BITS=64 -DSBINDIR=\"/sbin\" -DUSRSBINDIR=\"/usr/sbin\"
> > -DLOGDIR=\"/var/log\" -DVARPATH=\"/var\"
> > -DLOCALEDIR=\"/usr/share/locale\" -march=athlon-tbird -mmmx -m3dnow
> > -pipe -O3 -z combreloc -s blockdev.c -o blockdev
> > blockdev.c:70: error: parse error before '[' token
> > blockdev.c:70: error: initializer element is not constant
> > blockdev.c:70: error: (near initialization for `bdcms[4].ioc')
> > blockdev.c:70: error: initializer element is not constant
> > blockdev.c:70: error: (near initialization for `bdcms[4]')
> > blockdev.c:73: error: parse error before '[' token
> > blockdev.c:73: error: initializer element is not constant
> > blockdev.c:73: error: (near initialization for `bdcms[5].ioc')
> > blockdev.c:73: error: initializer element is not constant
> > blockdev.c:73: error: (near initialization for `bdcms[5]')
> > blockdev.c:76: error: initializer element is not constant
> > blockdev.c:76: error: (near initialization for `bdcms[6]')
> > blockdev.c:79: error: initializer element is not constant
> > blockdev.c:79: error: (near initialization for `bdcms[7]')
> > blockdev.c:82: error: initializer element is not constant
> > blockdev.c:82: error: (near initialization for `bdcms[8]')
> > blockdev.c:85: error: initializer element is not constant
> > blockdev.c:85: error: (near initialization for `bdcms[9]')
> > blockdev.c:89: error: initializer element is not constant
> > blockdev.c:89: error: (near initialization for `bdcms[10]')
> > blockdev.c: In function `report_device':
> > blockdev.c:331: error: parse error before '[' token
> > make[2]: *** [blockdev] Error 1
> > make[2]: Leaving directory `/usr/src/util-linux-2.12/disk-utils'
> > make[1]: *** [all] Error 1
> > make[1]: Leaving directory `/usr/src/util-linux-2.12'
> > ! Problem Detected !
> > Creating /var/log/sorcery/compile/util-linux-2.12.bz2
>
> Found the following patch for gentoo:
> http://bugs.gentoo.org/attachment.cgi?id=19321&action=view
>
> fix compile with 2.6.0 headers:
> diff -ruN util-linux-2.12.orig/disk-utils/blockdev.c
> util-linux-2.12/disk-utils/blockdev.c
> --- util-linux-2.12.orig/disk-utils/blockdev.c 2002-03-08
> 23:57:02.000000000 +0100
> +++ util-linux-2.12/disk-utils/blockdev.c 2003-10-16 18:26:53.048373136
> +0200
> @@ -9,6 +9,7 @@
> #include <string.h>
> #include <unistd.h>
> #include <sys/ioctl.h>
> +#include <linux/version.h>
>
> #include "nls.h"
>
> @@ -24,8 +25,13 @@
> #define BLKRASET _IO(0x12,98)
> #define BLKRAGET _IO(0x12,99)
> #define BLKSSZGET _IO(0x12,104)
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
> #define BLKBSZGET _IOR(0x12,112,sizeof(int))
> #define BLKBSZSET _IOW(0x12,113,sizeof(int))
> +#else
> +#define BLKBSZGET _IOR(0x12,112,int)
> +#define BLKBSZSET _IOW(0x12,113,int)
> +#endif
> #endif
>
> /* Maybe <linux/hdreg.h> could be included */
> diff -ruN util-linux-2.12.orig/disk-utils/elvtune.c
> util-linux-2.12/disk-utils/elvtune.c
> --- util-linux-2.12.orig/disk-utils/elvtune.c 2002-03-08 23:57:49.000000000
> +0100
> +++ util-linux-2.12/disk-utils/elvtune.c 2003-10-16 18:26:53.048373136
> +0200
> @@ -26,6 +26,8 @@
> #include <sys/ioctl.h>
> #include <unistd.h>
> #include <stdlib.h>
> +#include <linux/version.h>
> +
> #include "nls.h"
>
> /* this has to match with the kernel structure */
> @@ -37,8 +39,13 @@
> int max_bomb_segments;
> } blkelv_ioctl_arg_t;
>
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
> #define BLKELVGET _IOR(0x12,106,sizeof(blkelv_ioctl_arg_t))
> #define BLKELVSET _IOW(0x12,107,sizeof(blkelv_ioctl_arg_t))
> +#else
> +#define BLKELVGET _IOR(0x12,106,blkelv_ioctl_arg_t)
> +#define BLKELVSET _IOW(0x12,107,blkelv_ioctl_arg_t)
> +#endif
>
> static void
> usage(void) {
> diff -ruN util-linux-2.12.orig/fdisk/common.h util-linux-2.12/fdisk/common.h
> --- util-linux-2.12.orig/fdisk/common.h 2003-07-13 15:59:53.000000000
> +0200
> +++ util-linux-2.12/fdisk/common.h 2003-10-16 18:29:11.365345760 +0200
> @@ -2,11 +2,18 @@
>
> /* including <linux/fs.h> fails */
> #include <sys/ioctl.h>
> +#include <linux/version.h>
> +
> #define BLKRRPART _IO(0x12,95) /* re-read partition table */
> #define BLKGETSIZE _IO(0x12,96) /* return device size */
> #define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */
> #define BLKSSZGET _IO(0x12,104) /* get block device sector size */
> +
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
> #define BLKGETSIZE64 _IOR(0x12,114,8) /* 8 = sizeof(u64) */
> +#else
> +#define BLKGETSIZE64 _IOR(0x12,114,unsigned long long)
> +#endif
>
> /* including <linux/hdreg.h> also fails */
> struct hd_geometry {
> diff -ruN util-linux-2.12.orig/mount/my_dev_t.h
> util-linux-2.12/mount/my_dev_t.h
> --- util-linux-2.12.orig/mount/my_dev_t.h 2003-07-16 22:05:50.000000000
> +0200
> +++ util-linux-2.12/mount/my_dev_t.h 2003-10-16 18:26:53.049372984 +0200
> @@ -4,4 +4,10 @@
> /* for ancient systems use "unsigned short" */
>
> #include <linux/posix_types.h>
> +#include <linux/version.h>
> +
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
> #define my_dev_t __kernel_dev_t
> +#else
> +#define my_dev_t int
> +#endif
> _______________________________________________
> SM-Discuss mailing list
> SM-Discuss AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/sm-discuss
--
De mortuis nihil nisi bonum.

Attachment: signature.asc
Description: This is a digitally signed message part




Archive powered by MHonArc 2.6.24.

Top of Page