Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Jun 2010 17:25:27 -0700
From:      Garrett Cooper <yanefbsd@gmail.com>
To:        Andrew Thompson <thompsa@freebsd.org>
Cc:        standards@freebsd.org, FreeBSD-Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: Are POSIX mqueues supposed to be functional on FreeBSD?
Message-ID:  <AANLkTild5rYwH_ze8XaUJfWR6a9n84fS8AQu4ohm21Ba@mail.gmail.com>
In-Reply-To: <AANLkTikTeevkOUexFwStijcXa3TlQnuHrV9lkYApoXw_@mail.gmail.com>
References:  <AANLkTilHaP5K-NpRDG41yZimK9bJbO4nPlSF6Egqt5Rm@mail.gmail.com> <AANLkTin3x9nmXx0B8SNozhMnUoZypvk4AL_95ovupatC@mail.gmail.com> <AANLkTinTwG3zsShWO2qVNISEYKp4h7WEy0SKCoIYMIPK@mail.gmail.com> <AANLkTikTeevkOUexFwStijcXa3TlQnuHrV9lkYApoXw_@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 20, 2010 at 4:41 PM, Andrew Thompson <thompsa@freebsd.org> wrot=
e:
> On 21 June 2010 10:11, Garrett Cooper <yanefbsd@gmail.com> wrote:
>> On Sun, Jun 20, 2010 at 3:06 PM, Stathis Kamperis <ekamperi@gmail.com> w=
rote:
>>> 2010/6/21 Garrett Cooper <yanefbsd@gmail.com>:
>>>> =A0 =A0Err... I ran an mqueue test and it popped up with ENOSYS. Which
>>>> makes me wonder, are POSIX mqueues implemented 100% on FreeBSD? I
>>>> looked into sys/kern/uip_mqueue.c and it _appears_ functional, but I
>>>
>>> Hi,
>>>
>>> did you first load the respective kernel module (mqueuefs or something
>>> like that) ?
>>
>> Duh... should have checked that first I suppose: no, it isn't loaded.
>> However, it doesn't appear to compile with my copy of src:
>>
>> # make -C /sys/modules/mqueue/ all install
>> Warning: Object directory not changed from original /usr/src/sys/modules=
/mqueue
>> cc -O2 -pipe -fno-strict-aliasing -pipe -O2 -march=3Dnocona -Werror
>> -D_KERNEL -DKLD_MODULE -nostdinc =A0 -I. -I@ -I@/contrib/altq
>> -finline-limit=3D8000 --param inline-unit-growth=3D100 --param
>> large-function-growth=3D1000 -fno-common =A0-fno-omit-frame-pointer
>> -mcmodel=3Dkernel -mno-red-zone =A0-mfpmath=3D387 -mno-sse -mno-sse2
>> -mno-sse3 -mno-mmx -mno-3dnow =A0-msoft-float
>> -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
>> -std=3Diso9899:1999 -fstack-protector -Wall -Wredundant-decls
>> -Wnested-externs -Wstrict-prototypes =A0-Wmissing-prototypes
>> -Wpointer-arith -Winline -Wcast-qual =A0-Wundef -Wno-pointer-sign
>> -fformat-extensions -c
>> /usr/src/sys/modules/mqueue/../../kern/uipc_mqueue.c
>> /usr/src/sys/modules/mqueue/../../kern/uipc_mqueue.c:48:24: error:
>> opt_compat.h: No such file or directory
>> *** Error code 1
>>
>> Stop in /usr/src/sys/modules/mqueue.
>> # find /usr/src/ -name opt_compat.h
>>
>> So I'll need to hunt down what's going on with the missing header.
>
> opt_* headers are auto-generated by the kernel config. Just add
> opt_compat.h to sys/modules/mqueue/Makefile right after opt_posix.h

I did some reading and opt_compat is generated by options COMPAT_* in KERNC=
ONF.

For whatever reason my source tree wasn't prebuilt, so I reran
buildkernel and everything was fine once again.

Thanks,
-Garrett



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTild5rYwH_ze8XaUJfWR6a9n84fS8AQu4ohm21Ba>