Subject: Re: pkg/34167 (meta-pkgs/xfce4-extras won't build on current (disk.h))
To: None <gnats-bugs@NetBSD.org, current-users@netbsd.org>
From: Kenneth Freidank <kennethcf@earthlink.net>
List: pkgsrc-bugs
Date: 08/22/2006 23:30:13
Kenneth Freidank wrote:

Can anyone following current disclose what happened to the disk.h file? 

See the note to Martti after the following quote.  The current disk.h 
file is breaking his package.
>  Martti Kuparinen wrote:
>  > The following reply was made to PR pkg/34167; it has been noted by GNATS.
>  >
>  > From: Martti Kuparinen <martti.kuparinen@iki.fi>
>  > To: gnats-bugs@NetBSD.org
>  > Cc: martti@NetBSD.org, pkg-manager@NetBSD.org,
>  > 	pkgsrc-bugs@NetBSD.org, gnats-admin@NetBSD.org, ben@NetBSD.org,
>  > 	kennethcf@earthlink.net
>  > Subject: Re: pkg/34167 (meta-pkgs/xfce4-extras won't build on current (gcc4))
>  > Date: Thu, 10 Aug 2006 15:14:42 +0300
>  >
>  >  I can't reproduce this failure...
>  >  
>  >  
>  >  ROOT n87:/usr/pkgsrc/sysutils/xfce4-diskperf-plugin> make install
>  >  ...
>  >  => Registering installation for xfce4-diskperf-plugin-1.5nb3
>  >  xfce4-diskperf-plugin-1.5nb3 requires installed package glib2-2.12.1
>  >  xfce4-diskperf-plugin-1.5nb3 requires installed package xfce4-panel-4.2.3nb4
>  >  ROOT n87:/usr/pkgsrc/sysutils/xfce4-diskperf-plugin>
>  >  
>  >  ROOT n87:/usr/pkgsrc/sysutils/xfce4-diskperf-plugin> uname -srm
>  >  NetBSD 4.99.1 i386
>  >  
>  >  ROOT n87:/usr/pkgsrc/sysutils/xfce4-diskperf-plugin> gcc -v
>  >  Using built-in specs.
>  >  Target: i386--netbsdelf
>  >  Configured with: /usr/src/tools/gcc/../../gnu/dist/gcc4/configure
>  >  --enable-long-long --disable-multilib --enable-threads --disable-symvers
>  >  --build=i386-unknown-netbsdelf3.99.17 --host=i386--netbsdelf
>  >  --target=i386--netbsdelf
>  >  Thread model: posix
>  >  gcc version 4.1.2 20060628 prerelease (NetBSD nb2 20060711)
>  >
>  >   
>  The error I receive exists because in line 267 of the source file 
>  "devperf.c", the structure "struct disk_sysctl" is used.  This structure 
>  is not defined in any header file on my system.
>  
>  $cd /usr/include
>  $grep -R disk_sysctl *
>  $
>  $cd /usr/pkg
>  $grep -R disk_sysctl *
>  $
>  
>  Can you do a sweep of your system and help me define / locate the 
>  missing file?
>   

Martti,

I think I found the problem.

Did you install userland on your "current" system when testing your 
build?   

I did not look at the source of current 3.99.17, but...

 From the source of release 3.0, the first line of 
/usr/src/sys/sys/disk.h is:
    /*    $NetBSD: disk.h,v 1.29 2005/02/03 19:20:01 perry Exp $    */
and the structure "disk_sysctl" is defined on line 249.

 From the source of release 3.99.21, the first line of 
/usr/src/sys/sys/disk.h is:
    /*    $NetBSD: disk.h,v 1.36 2006/04/21 13:53:30 yamt Exp $    */
and the structure "disk_sysctl" is GONE.  Line 249 now reads:
 #endif as part of defining a "struct dkdriver".

I do not have a solution, but I think I found the problem.

Regards,
Kenneth