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


Reply via email to