Steve,
If you wish to use the development branch of wxWidgets, then you are
better off using the latest release - 2.9.2
You'll need to use Alien-wxWidgets from SVN. Eventually, of course, the
SVN code gets released to CPAN but for now with 2.9.2 you'll need SVN.
You may also need to decide if you want version 2.8 compatibility - and
to be honest I have no clue what that would mean in practical terms, not
using 2.9.2 myself.
Your build command would look something like the following
perl Build.PL --wxWidgets-extraflags="--enable-graphics_ctx
--enable-mediactrl" --wxWidgets-build='yes' --wxWidgets-source='tar.bz2'
--wxWidgets-unicode=1 --wxWidgets-build-opengl=1 --wxWidgets-version=2.9.2
Note that 2.9.2 doesn't have tar.gz source available - you need the
bzip2 tarball. There is no need to use builtins for the libraries. I
often use them because I'm often building a binary for re-distribution -
but I can't see it making sense in your case.
However, having said the above given that you have a current focus on
fixing issues with wxMediaCtrl, if I were you then I would build
wxWidgets myself outside Alien-wxWidgets as a first step.
This way, you get to see the output of your options to ./Configure and
can more easily identify where Configure is not finding the necessary
development libraries to build the options you want - rather than
building the whole thing and then only finding that what you want is
missing when building wxPerl. You also get the advantage of more easily
building the c++ wxWidgets samples.
As an example, you could build 2.9.2 with an install prefix of
/var/local/wxtesting-2.9.2/widgets
and 2.8.12
/var/local/wxtesting-2.8.12/widgets
when building Alien::wxWidgets + Wx
..alien
export LD_LIBRARY_PATH=/var/local/wxtesting-2.9.2/widgets/lib
export PERL5LIB=/var/local/wxtesting-2.9.2/perl/lib
perl Build.PL --prefix=/var/local/wxtesting-2.9.2/perl
perl Build test
perl Build install
..wx
perl Makefile.PL PREFIX=/var/local/wxtesting-2.9.2/perl
make
make test
make install
And the same but replacing 2.9.2 with 2.8.12 for your 'stable' widgets build
..alien
export LD_LIBRARY_PATH=/var/local/wxtesting-2.8.12/widgets/lib
export PERL5LIB=/var/local/wxtesting-2.8.12/perl/lib
perl Build.PL --prefix=/var/local/wxtesting-2.8.12/perl
perl Build test
perl Build install
..wx
perl Makefile.PL PREFIX=/var/local/wxtesting-2.8.12/perl
make
make test
make install
Having done that, you can rebuild bits of it all without necessarily
having to keep rebuilding the whole.
You can just switch your PERL5LIB
export PERL5LIB=/var/local/wxtesting-2.9.2/perl/lib
export PERL5LIB=/var/local/wxtesting-2.8.12/perl/lib
to change the current Wx you are using.
My thought is, that for both 2.9.2 and 2.8.12 branches, you can check if
the C++ GStreamer sample works. Once you have a working C++ sample , you
can look at what, if anything, is getting in the way of the wxPerl
wrapper working.
It is a big 'ask' if all you want is a working wxMediaCtrl, but I think
if you are willing to take it on you need to become familiar with the
wxWidgets build and Configure scripts. Then you will be able to build
the base wxWidgets configured how you want it.
I see 3 main groups of issues:
1) Getting correct dependencies so you can build a functioning wxMediaCtrl
2) Getting Wx::MediaCtrl to display anything on many Linux distros. ( I
haven't managed to do this at all in my dabbling)
3) Enhancing wxMediaCtrl to handle streams on all platforms and fixing
any current 'showstopper' bugs.
As I understand it, you would really like to tackle 3) and to do that I
think you would need to be comfortable in building and using wxWidgets
as a C++ toolkit without any 'Perl' involvement.
2) is currently really irritating me. I'm sure there's something simple
I'm missing. I've never been able to use wxMediaCtrl on Linux - ever -
so it must be my code / setup as the thing clearly works for some people
some of the time.
Well, - I hope some of it helps.
Regards
Mark
On 07/07/2011 12:27, Steve Cookson wrote:
Hi Mark,
I don't know why this hasn't surfaced before. I'm sorry to say it looks
like a wrapping problem, but maybe I could avoid it by suppressing dataview.
I tried --disable-dataview on my perl Build.PL, but it apparently didn't
work. Ie
perl Build.PL --wxWidgets-extraflags="--enable-graphics_ctx
--disable-compat26 --disable-dataview --enable-mediactrl
--with-libjpeg=builtin
--with-libpng=builtin --with-regex=builtin --with-libtiff=builtin
--with-zlib=builtin --with-expat=builtin --with-libxpm=builtin"
--wxWidgets-build='yes' --wxWidgets-source='tar.gz'
--wxWidgets-unicode=1 --wxWidgets-build-opengl=1 --wxWidgets-version=2.9.0
What do you think?
Regards
Steve
-----Original Message-----
From: Steve Cookson [mailto:steve.cook...@sca-uk.com]
Sent: 06 July 2011 11:48
To: wxperl-users@perl.org
Subject: Kubuntu 11.4 install
Hi Guys,
I'm trying to do a full build on Kubuntu 11.4.
So far it's gone quite well.
In fact if I scroll up the media directory seems to have been processed
without error which is good news.
However then I had a crash on dataview.
My process was:
downloaded Alien .51
perl Build.PL --wxWidgets-extraflags="--enable-graphics_ctx
--disable-compat26 --enable-mediactrl --with-libjpeg=builtin
--with-libpng=builtin --with-regex=builtin --with-libtiff=builtin
--with-zlib=builtin --with-expat=builtin --with-libxpm=builtin"
--wxWidgets-build='yes' --wxWidgets-source='tar.gz'
--wxWidgets-unicode=1 --wxWidgets-build-opengl=1 --wxWidgets-version=2.8.11
perl Build
perl Build test
perl Build install
mkdir wxPerl
cd wxPerl
svn co<https://wxperl.svn.sourceforge.net/svnroot/wxperl/wxPerl/trunk>
https://wxperl.svn.sourceforge.net/svnroot/wxperl/wxPerl/trunk
<https://wxperl.svn.sourceforge.net/svnroot/wxperl/wxPerl/trunkcd>
cd trunk
perl Makefile.PL
make
At this point I had a crash with the following error.
make[2]: Entering directory `/home/image/wxPerl/trunk/ext/dataview'
cp DataView.pm ../../blib/lib/Wx/DataView.pm
/usr/bin/perl /usr/local/share/perl/5.10.1/ExtUtils/xsubpp -noprototypes
-nolinenumbers -typemap /usr/share/perl/5.10/ExtUtils/typemap -typemap
../../typemap -typemap typemap DataView.xs> DataView.xsc&& mv
DataView.xsc DataView.c
g++ -pthread -c -I. -I../..
-I/usr/local/lib/perl/5.10.1/Alien/wxWidgets/gtk_2_9_0_uni/lib/wx/include/gt
k2-unicode-release-2.9
-I/usr/local/lib/perl/5.10.1/Alien/wxWidgets/gtk_2_9_0_uni/include/wx-2.9
-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\"
-fPIC "-I/usr/lib/perl/5.10/CORE" -DWXPL_EXT -D_FILE_OFFSET_BITS=64
-DWXUSINGDLL -D__WXGTK__ DataView.c
DataView.c: In function 'void
XS_Wx__DataViewVirtualListModel_GetCount(PerlInterpreter*, CV*)':
DataView.c:8201:22: error: 'class wxDataViewVirtualListModel' has no member
named 'GetCount'
make[2]: *** [DataView.o] Error 1
make[2]: Leaving directory `/home/image/wxPerl/trunk/ext/dataview'
make[1]: *** [subdirs] Error 2
make[1]: Leaving directory `/home/image/wxPerl/trunk/ext'
make: *** [subdirs] Error 2
Any ideas welcome.
Regards
Steve