Re: Building Ogle on Solaris x86

Laurent Blume <[email protected]> Sun, 09 Nov 2003 22:31:48 +0100
Newsgroups gmane.comp.video.ogle.devel
Message-ID <[email protected]>
Bj|rn Englund wrote:
  > There shouldn't be any problems with them both true,
> what compile errors do you get?

I configured this way:
CPPFLAGS='-I/opt/oss/include' \
LDFLAGS='-lgcc_s -R/opt/gcc/lib' \
./configure  --prefix=/opt/ogle-0.9.2 \
   --enable-sunaudio \
   --enable-oss \
   --with-libjpeg=/opt/jpeg \
   --with-dvdread=/opt/libdvdread \
   --with-liba52=/opt/a52dec \
   --with-libmad=/opt/mad

[snip]
------------------------------------------------------
Going to build with the following configuration:
   prefix: /opt/ogle-0.9.2

   mmx:           Yes
   altivec:       No
   mlib:          Yes
   Xv:            Yes
   oss audio:     Yes
   alsa audio:    No
   solaris audio: Yes
   obsd audio:    No


Then, make gives:

gcc -fomit-frame-pointer -funroll-loops -g -O2 -Wall -g -O2 -Wall 
-march=i586 -mcpu=pentiumpro -o .libs/ogle_mpeg_vs video_stream.o 
video_mpeg1.o video_mpeg2.o video_motion.o c_getbits.o video_tables.o 
yuv2rgb_mlib.o  -L/opt/SUNWmlib/lib -lmlib ../common/libcommon.a 
../ogle/.libs/libmsgevents.so -lgcc_s -lrt -Wl,--rpath 
-Wl,/opt/ogle-0.9.2/lib/ogle -Wl,--rpath -Wl,/opt/gcc/lib -Wl,--rpath 
-Wl,/opt/SUNWmlib/lib
video_stream.o(.text+0x16b8): In function `get_output_buffer':
/export/space/ogle-0.9.2/mpeg2_video/video_stream.c:1006: undefined 
reference to `emms'
video_stream.o(.text+0x27d3): In function `picture_data':
/export/space/ogle-0.9.2/mpeg2_video/video_stream.c:1721: undefined 
reference to `emms'
collect2: ld returned 1 exit status

Error comes from that code:
#ifdef HAVE_MMX
   emms();
#endif

because at the top, there is that part, that doesn't include mmx.h if 
there is MLIB:

#ifdef HAVE_MLIB
#include <mlib_types.h>
#include <mlib_status.h>
#include <mlib_sys.h>
#include <mlib_video.h>
#include <mlib_algebra.h>
#define mlib_Init() (void)0
#else
#ifdef HAVE_MMX
#include "mmx.h"
#endif
#include "c_mlib.h"
#endif

> If you just run ogle locally on the nfs-server one time after you insert
> the dvd so it gets authenticated, then it should be possible
> to just mount it and run ogle on the files (assuming that libdvdcss
> can crack the keys).

Yes, worked for me!

> Ideally it should be possible to choose which one you like.

It is possible, as I said, I had first done it with --disable-mmx (so it 
used MLIB) but the result wasn't good, the video was too slow.
So I compiled again with --without-mlib, ./configure did a good job of 
excluding it, it compiled without a hitch, and is now playing at the 
right speed.

So I guess that it could be fixed just at the ./configure level, by 
disabling MLIB if MMX is available.


On another point, I've got a potential addition for the FAQ. point 41 reads:
----
41. I'm using Solaris5.8/x86 and I have problems reading DVDs that are 
larger than 4GB.

You need patch 109765-04, that is available to contract customers, but 
can supposedly be found floating on the net. (google is your friend).
----

Well, there is the same problem on Solaris 9 x86 (same bug? not sure), 
and there is no patch at this time for it :-(
I've been informed by people @sun on the solarisx86 list that one is on 
its way, no date, though.

Thank your reply! Those remarks I had were very minor compared to some 
other compilation problems I had with other players.
The fact is, I could work around them very easily. From my Solaris point 
of view, it clearly speaks in favour of your project portability :-)

Laurent