mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] Re: Xine compiling error might have to do wit


From: Volker Grabsch
Subject: Re: [Mingw-cross-env-list] Re: Xine compiling error might have to do with pthreads
Date: Mon, 26 Apr 2010 16:02:58 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

Tony Theodore <address@hidden> schrieb:
> On 14 April 2010 08:32, Volker Grabsch <address@hidden> wrote:
> > I tried to have a look at your xine-lib.bz2 (compressed log file),
> > but it seems to be broken. I'm unable to read or to uncompress it.
> > Could you send it again, please?

Okay, so I did some investigation of Xine-lib. I was able to solve
some issues, but in the end I got stuck (see below, section 6).
My current result is attached to this email. It would be great if
you could have a look at it. Maybe there is a simple solution that
I just don't see.


1) Static pthreads
------------------

First of all, there's no need to compile pthreads as a shared library.
The "__imp__*" issues were caused by some of Xine-lib's source files
that include <sched.h> without including <pthread.h> before:

    src/xine-engine/audio_decoder.c
    src/xine-engine/video_decoder.c

This is not wrong, but it is unexpected. The <pthread.h> contains a
work-around to enable static linking of pthreads-w32, and I had to
add that work-around to the other pthreads headers. That solved the
issue:

http://hg.savannah.gnu.org/hgweb/mingw-cross-env/rev/fcfa5a1b0a1f


2) Bzip2
--------

The official *.bz2 package of Xine-libs seems to work fine. So maybe
you just need a more recent version of bzip2 under MacOS X? Did you
try to install bzip2 from MacPorts? Does that help?

If it does, please drop a quick note. I'd then add it to the installation
command in the requirements section of our docs.


3) DirectX
----------

Xine-lib didn't work with our new DirectX headers. There was some
trouble regarding named/unnamed unions in <ddraw.h>.

I fixed that:
http://hg.savannah.gnu.org/hgweb/mingw-cross-env/rev/bb2816609d29

This reactivated a bug in SDL which I also fixed and reported to upstream:
http://bugzilla.libsdl.org/show_bug.cgi?id=993


4) POSIX headers
----------------

You were right that adding posix headers won't help. The required
functions simply do not exist under Windows, unless we'd a big posix
layer such as Cygwin.

However, it's just a small input plugin of Xine-lib that requires
these functions. This plugin is usually disabled when building for
win32, but the ./configure script contains a bug that prevents the
disabling. It's a typical cross-compiling bug, checking the build
system instead of the host system.

This is fixed in "xine-lib-fix-crosscompile.patch".

I also reported that bug to upstream:
http://bugs.xine-project.org/show_bug.cgi?id=347


5) Dependencies
---------------

I finally added all missing dependencies to $(PKG)_DEPS and
added explicit arguments to ./configure for every relevant
feature.


6) Open issue
-------------

I solved a lot of issues, but one problem remains open, and I don't
see how to fix it:

| In file included from xine_real_video_decoder.c:49:
| real_common.h:52: error: '__environ' defined both normally and as an alias
|
| In file included from xine_real_video_decoder.c:49:
| real_common.h:61:4: error: #error Your stderr alias is not supported, please 
report to xine developers.

I reported that to upstream, but didn't get any reply yet:
http://bugs.xine-project.org/show_bug.cgi?id=348

It can't be a big issue, because Xine-lib obviously has been
written with the win32 platform in mind. Maybe someone could
have a look at it?


Greets,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR

Attachment: xine-lib.mk
Description: Text document

Attachment: xine-lib-fix-crosscompile.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]