On 12/8/06, Lane <[EMAIL PROTECTED]> wrote:


On Friday 08 December 2006 11:21, Andrew Falanga wrote:
> Hi,
>
> I'm trying to port some code from Linux to FreeBSD and I've got an issue
> that revolves around something I've never dealt with before.  The code
> includes the following header:
>
> #include <sys/ucred.h>
>
> Apparently, program is attempting to make use of the xucred structure
> defined in there, because the rest of the stuff in the file seems to be
for
> the kernel.  However, when I try to compile, gcc continually bails with
the
> following error (among others), "NGROUPS was not declared in this
scope."
> The NGROUPS appears to be a macro, but it's not defined earlier
on.  Would
> anyone here know where it's defined so I can include that file too?
>
> Secondly, I'm also getting errors because gcc can't find <sys/vfs.h>
> either.  True enough, there isn't any vfs.h file in /usr/include/sys.
> Since this file is in Linux, what should I include for FreeBSD?
>
> Thanks,
> Andy
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "[EMAIL PROTECTED]"
Andy,

I won't pretend to know exactly which header files correspond for your
port,
but in the past I've found some things that work for me:

use

locate vfs.h

to find similar file names.  On 6.x and 5.x I see that these are possible
candidates:

/usr/X11R6/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs.h
/usr/include/fs/devfs/devfs.h
/usr/include/sys/statvfs.h
/usr/local/include/af_vfs.h
/usr/src/sys/compat/svr4/svr4_statvfs.h
/usr/src/sys/fs/devfs/devfs.h
/usr/src/sys/nfs4client/nfs4_vfs.h
/usr/src/sys/sys/statvfs.h


But you'd have to compare the functions and structures defined in
sys/vfs.h on
linux to determine which is your best match up.

There is /usr/ports/devel/mipsel-linux-kernel-headers/ which, according to
pkg-plist will install mipsel-linux/include/linux/vfs.h.  That may be
exactly
what you need (although it may be overkill).  Or it may be the LAST thing
you
need :)

Sometimes a porter will simply create a patch file
in /usr/ports/<portname>/files that will create a skeleton version of the
file which includes only the items you need.  I've done this for
development
on my own system.

As far as the NGROUP or other macros ... yikes!  You may have to recreate
that
functionality entirely.

I ran this:

#!/bin/sh
for each in `locate  .h | grep '\.h$'`
do
if [ -f $each ]; then
MYF=`cat $each | grep -i ngroups`
if [ "x$MYF" != "x" ]; then
        echo $each : "$MYF"
fi
MYF=""
fi
done


It could probably be done more easily with sed and some elbow grease, but
it
does show NGROUPS defined here:

/usr/X11R6/include/X11/Xos.h : #define NGROUPS 16

and

/usr/include/sys/param.h

among other places.

Good luck!

lane
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "
[EMAIL PROTECTED]"




Thank you everyone.  I'm sorry that I didn't reply sooner.  I did get this
worked out, but unfortunately I don't remember the include file I had to
use.  I found in a different file than the one I was editing at the time I
wrote this a nice comment explaining why the "#include <sys/vfs.h>"
preprocessor directive was there.  I found that function in a different
include file for FreeBSD, changed the code and all was well.

Thanks again.

Andy
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to