Re: Gtk2::GLExt build problems



muppet wrote:

On Jun 2, 2006, at 5:07 PM, Mark Glines wrote:

I'm having some difficulty using Gtk2::GLExt-0.90.

Be warned that this module has not been touched since Oct '04.  I don't
recall with what version of gtkglext it was developed.

Thanks for the tip.  Is it deprecated in favor of something else, or
does it just need a little love? :)


not a valid file descriptor at
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/Glib/ParseXSDoc.pm

line 105

That line is

        store_fd $parser->{xspods}, select;

which attempts to write the data collected for pod generation with
Storable.  The immediate question is "why would that give you an invalid
file descriptor?"

What version of Storable do you have?

2.15.  I get the same symptoms on two Gentoo Linux machines, probably
with the same versions of everything installed.


As a workaround, if you set FORCE_DATA_DUMPER=1 in the environment when
running Makefile.PL, Glib::MakeHelper::do_pod_files() should fall back
to using Data::Dumper instead of Storable.  We switched to Storable
earlier this year to reduce the outrageous memory consumption of
documentation generation on Gtk2; however, Gtk2::GLExt is pretty small,
so there should be no problems.

That worked.  My home machine fails "make test" due to a mismatch
between nvidia kernel module version and header file version... not
Gtk2::GLExt's fault.  Guess it got upgraded since I rebooted last.


When installed, your examples/example.pl.sdl script runs, but it emits a
couple of warnings.

Prototype mismatch: sub main::GL_NICEST: none vs () at
/usr/lib/perl5/5.8.8/constant.pm line 103.
Prototype mismatch: sub main::GL_COMPILE: none vs () at
/usr/lib/perl5/5.8.8/constant.pm line 103.

Turns out SDL::OpenGL *does* export those two constants, at least the
version on this box (sdl-perl-2.1.3) does.

That should be pretty harmless, although it's annoying.

Does anybody know offhand a decent way to define a constant if it's not
already defined?


It doesn't seem to be complaining about redefined constants; its
actually talking about a prototype mismatch.  So the warnings might go
away if we explicitly set the right prototype.

I don't know how to specify a prototype with "use constant", or indeed
if its possible at all.  But replacing the constants with the following
lines doesn't emit any warnings for me:

sub GL_NICEST { return 0x1102};
sub GL_COMPILE { return 0x1300};

And it makes no difference whether I declare them with empty parens or not.

Mark



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]