[DVDnav-discuss] assertion failure with certain DVD's

Roger Pack rogerdpack2 at gmail.com
Thu Dec 1 04:54:25 CET 2011


>
> Does it report this error message for both mplayer and VLC (does VLC still
> loop)?

I'm unable to tell if VLC is fixed by it or not.  My "guess" is that
it would be fixed, however, since it fixed mplayer which seemed to be
doing about the same behavior if I commented out the assertion line
that failed.

As a note, when I try to compile libdvdread (as a precursor to
compiling libdvdnav), to then use it to compile VLC, I run into some
snags in building under msys...

$./configure2
./configure2: line 95: cd: /usr/local/: No such file or directory #
needs to be run in bash I believe
Checking if we're big-endian... ./configure2: line 113: mktemp:
command not found # this one might be my fault

Done, type 'make install' to build and install
bash-3.1$ make
sh "/c/dev/ruby/downloads/libdvdread"/version.sh
"/c/dev/ruby/downloads/libdvdread" "4.2.0"
cd obj && gcc -fPIC -DPIC -MD -O3  -g -Wall -funsigned-char
-I/c/dev/ruby/downloads/libdvdread
-I"/c/dev/ruby/downloads/libdvdread"/src -D_FILE_OFFSET_BITS=64
-D_LARGEFILE64_SOURCE -DHAVE_CONFIG_H -DHAVE_DLFCN_H
-I"/c/dev/ruby/downloads/libdvdread"/src -c -o dvd_input.so
/c/dev/ruby/downloads/libdvdread/src/dvd_input.c
c:/dev/ruby/downloads/libdvdread/src/dvd_input.c:1:0: warning: -fPIC
ignored for target (all code is position independent)
c:/dev/ruby/downloads/libdvdread/src/dvd_input.c:53:19: fatal error:
dlfcn.h: No such file or directory
compilation terminated.

(appears to set HAVE_DLFCN_H in error)

then HAVE_DLFCNH undefined manually, it then gives the following:
cd obj && gcc -fPIC -DPIC -MD -O3  -g -Wall -funsigned-char
-I/c/dev/ruby/downloads/libdvdread
-I"/c/dev/ruby/downloads/libdvdread"/src -D_FILE_OFFSET_BITS=64
-D_LARGEFILE64_SOURCE -DHAVE_CONFIG_H -DHAVE_DLFCN_H
-I"/c/dev/ruby/downloads/libdvdread"/src -c -o dvd_input.so
/c/dev/ruby/downloads/libdvdread/src/dvd_input.c
c:/dev/ruby/downloads/libdvdread/src/dvd_input.c:1:0: warning: -fPIC
ignored for target (all code is position independent)
c:/dev/ruby/downloads/libdvdread/src/dvd_input.c:56:38: fatal error:
../../msvc/contrib/dlfcn.c: No such file or directory

Fixing the path, and tweaking some include paths, and it compiles.

Then, at link time:

/usr/lib/gcc/i586-mingw32msvc/4.4.4/../../../../i586-mingw32msvc/bin/ld:
cannot find -ldl

so I remove the link to -ldl (which I don't think is needed for
mingw), then it links.

Then $ make install'ing it subsequently fails
$ make install
install -d /lib
./install: line 1: syntax error near unexpected token `C'
./install: line 1: `Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free
Software'
make: *** [install-shared] Error 2

(I think this is because there is a file named "INSTALL" and it's
trying to execute that in windows.

So anyway here is how I compiled it, if it helps anybody:
https://gist.github.com/1413008

Turned out now tot help me much, as, when I cross compiled it, I think
some of the #define's are maybe off as dvd:/// in VLC don't seem to
work :)

Also as a note when it runs strip and ranlib, if it's being cross
compiled, it would be helpful to call their equivalent:
$ ./configure2 --cc=i586-mingw32msvc-gcc
should eventually call i586-mingw32msvc-ranlib

maybe it could use a new configure option for a prefix or what not.

I'd be happy to come up with a patch for it.

Thanks.
-roger-


More information about the DVDnav-discuss mailing list