[mythtv] Ticket #3062: Freebsd compatibility patches
usleepless at gmail.com
usleepless at gmail.com
Thu Feb 8 12:53:36 UTC 2007
List,
On 2/8/07, MythTV <mythtv at cvs.mythtv.org> wrote:
> #3062: Freebsd compatibility patches
> ----------------------------------+-----------------------------------------
> Reporter: usleepless at gmail.com | Owner: ijr
> Type: enhancement | Status: new
> Priority: minor | Milestone: unknown
> Component: mythtv | Version: head
> Severity: medium | Resolution:
> ----------------------------------+-----------------------------------------
> Comment (by nigel):
is it ok to reply to these msgs and discuss these issues on the list?
> videodev_myth.h - Patch is good on OS X 10.4. (although I am curious as to
> why it is needed. Yes the current code is non-portable, but are long longs
> not 64bit on FreeBSD?)
well, they actually are. i was compiling mythtv on an amd64 system,
and ran into problems with incompatible ioctls.
it turned out that i redefined the long-long in the pvr150/500 driver
to 32bits already, because non-64bits-freebsd's don't accept 64-bits
operations in the kernel.
so i had a driver <-> userland mismatch. i went with the lowest common
denominator ( ie: 32bits )
> [[BR]]
> mpegrecorder.cpp - Doesn't FreeBSD have select() ? (I thought if OS X
> does, FreeBSD would too?)
it does, but currently the pvr150/500 driver does not support it,
although i seem to have implemented it. i need to look at that later,
it is my intention to make select work for the freebsd-driver. but in
the meantime this should work for people who want to run mythtv on
freebsd.
> [[BR]]
> mainserver.cpp - What is the problem with the lock?
well, that's a good question. i don't know either. but
mythbackend<->mythfrontend communication only works when these locks
are disabled. otherwise commands timeout and nothing happens ( this is
the patch that took me a real long time to find ). this is the problem
most freebsd people encountered but couldn't solve.
> [[BR]]
> videoout_xv.cpp - I suspect NetBSD also lacks malloc.h. It should probably
> be:
> {{{
> #ifdef _linux_
> #include <malloc.h>
> #endif
> }}}
malloc.h is deprecated on FreeBSD. do i need to resubmit the patch
with this changed?
> [[BR]]
> yuv2rgb.cpp - Don't see the need. The values should all be small positives
> (''e.g.'' UCHAR_MAX is 255)
fails to compile otherwise.
> [[BR]]
> httprequest.cpp - Could you use the sendfile64() that I wrote for Darwin
> instead?
i will need to look it up. is it in the same file?
> [[BR]]
> upnputil.h - How about this instead:
> {{{
> #ifdef __FreeBSD__
> #define __suseconds_t_defined
> #endif
> }}}
why is this better?
> [[BR]]
> version.pro - Curious. What is the behavior without the sh -c ?
> [[BR]]
command fails. doesn't produce version.cpp, build fails.
> Sorry if I seem picky here. I just want to understand these, and make sure
> it all works for Linux, *BSD, Darwin, and maybe even Windows.
no problem at all, i am happy to explain the patches.
regards,
usleep
More information about the mythtv-dev
mailing list