Cross compiling GStreamer
Sergei Vorobyov
sergei.vorobyov at facilitylabs.com
Sun Feb 10 11:37:09 PST 2013
Greetings!
I tried to follow instructions on
http://gstreamer.freedesktop.org/wiki/Win32_Cross_Compiling_With_Mingw
to cross compile GStreamer for Windows.
The scripts suggested in the very end of the web page above:
3. Latest version of build scripts:
cross-env.sh allows adjusting settings to particular situation
build_win32_sdk.sh
FAIL on several accounts:
1. In build_win_sdk.sh the line
wget http://www7.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdnav-4.1.2.tar.gz
should read (web directory has changed)
wget
http://www7.mplayerhq.hu/MPlayer/releases/dvdnav-old/libdvdnav-4.1.2.tar.gz
2. In build_win_sdk.sh the line
modules=${modules/deps/core base good ugly bad}
should read
modules=${modules/gst/core base good ugly bad ffmpeg}
Recall that the script is called as
./build_win_sdk.sh preqs deps gst
where gst (rather than deps) is intended to build gstreamer.
4. Most importantly. building ffmpeg with the last part of the script:
########################## ffmpeg #######################
if [[ $modules == *ffmpeg* ]] ; then
test -f gst-ffmpeg-${ffmpeg_version}.tar.bz2 ||
wget http://gstreamer.freedesktop.org/src/gst-ffmpeg/$(checkpre${ffmpeg_version})gst-ffmpeg-${ffmpeg_version}.tar.bz2
tar -xjvf gst-ffmpeg-${ffmpeg_version}.tar.bz2
cd gst-ffmpeg-${ffmpeg_version}
# NOCONFIGURE=1 ./autogen.sh
export_plugin_desc
lt_cv_deplibs_check_method=pass_all \
./configure \
--host=${host} \
--build=${build} \
--prefix=$prefix
make
make install
cd ..
fi
##################
is plagued with warnings and errors (and no help is available on the web):
configure: WARNING: using cross tools not prefixed with host triplet
configure: WARNING: libbz2 not found, matroska demuxer will not be able to
read bz2 tracks
libavdevice/alldevices.c:1: warning: -fPIC ignored for target (all code is
position independent)
In file included from ./libavformat/avformat.h:55,
from libavdevice/alldevices.c:22:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/stdio.h:372:
error: no previous prototype for ‘getc’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/stdio.h:379:
error: no previous prototype for ‘putc’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/stdio.h:386:
error: no previous prototype for ‘getchar’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/stdio.h:393:
error: no previous prototype for ‘putchar’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/stdio.h:606:
error: no previous prototype for ‘vsnwprintf’
In file included from ./libavutil/common.h:31,
from ./libavutil/avutil.h:81,
from ./libavcodec/avcodec.h:30,
from ./libavformat/avformat.h:56,
from libavdevice/alldevices.c:22:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/inttypes.h:259:
error: no previous prototype for ‘imaxabs’
In file included from ./libavutil/common.h:33,
from ./libavutil/avutil.h:81,
from ./libavcodec/avcodec.h:30,
from ./libavformat/avformat.h:56,
from libavdevice/alldevices.c:22:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:357:
error: no previous prototype for ‘__fpclassifyl’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:378:
error: no previous prototype for ‘__isnan’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:387:
error: no previous prototype for ‘__isnanf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:396:
error: no previous prototype for ‘__isnanl’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:413:
error: no previous prototype for ‘__signbit’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:419:
error: no previous prototype for ‘__signbitf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:425:
error: no previous prototype for ‘__signbitl’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:459:
error: no previous prototype for ‘sinhf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:463:
error: no previous prototype for ‘coshf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:467:
error: no previous prototype for ‘tanhf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:489:
error: no previous prototype for ‘expf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:505:
error: no previous prototype for ‘frexpf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:517:
error: no previous prototype for ‘ldexpf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:597:
error: no previous prototype for ‘hypotf’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:602:
error: no previous prototype for ‘powf’
make[5]: *** [libavdevice/alldevices.o] Error 1
make[4]: *** [all-local] Error 2
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Could please someone help to fix this script or give some pointers how to
do it?
The alternative scripts on the page either do not build ffmpeg, or download
code from
http:///home/tshalif
which obviously does not make sense.
Many thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130210/e48e8f72/attachment-0001.html>
More information about the gstreamer-devel
mailing list