Page 1 of 1
Golly 2.1 has stopped working here
Posted: May 27th, 2010, 8:50 pm
by ddt
Hi,
Golly stopped working here. It started to get an error during startup with missing refs. Usually when this happens to any program rebuild work. When I try to rebuild golly I now get:
g++ `wx-config --cxxflags` -O5 -DZLIB -DVERSION=2.1 -Wall -Wno-non-virtual-dtor -fno-strict-aliasing `perl -MExtUtils::Embed -e ccopts` -c -o ObjGTK/wxperl.o wxperl.cpp
wxperl.cpp:134: error: expected constructor, destructor, or type conversion before ‘*’ token
wxperl.cpp:233: error: ‘G_Perl_Gthr_key_ptr’ was not declared in this scope
wxperl.cpp:274: error: too many initializers for ‘PerlFunc’
make: *** [ObjGTK/wxperl.o] Error 1
This is on gentoo.
wxgtk is 2.8.10.1-r5
wxperl is 0.97.02
perl -v
This is perl, v5.10.1 (*) built for x86_64-linux
gcc -v
gcc version 4.4.3 (Gentoo 4.4.3-r2 p1.2)
Ideas?
TIA
Ed
PS. I would really like to break 8x10⁹ objects added to the census

Re: Golly 2.1 has stopped working here
Posted: May 27th, 2010, 9:13 pm
by ddt
if I comment out lines 134 & 233 then wxperl.cpp builds but I get the following error:
g++ `wx-config --cxxflags` -O5 -DZLIB -DVERSION=2.1 -Wall -Wno-non-virtual-dtor -fno-strict-aliasing -o golly ObjGTK/bigint.o ObjGTK/lifealgo.o ObjGTK/hlifealgo.o ObjGTK/hlifedraw.o ObjGTK/qlifealgo.o ObjGTK/qlifedraw.o ObjGTK/jvnalgo.o ObjGTK/ruletreealgo.o ObjGTK/ruletable_algo.o ObjGTK/ghashbase.o ObjGTK/ghashdraw.o ObjGTK/readpattern.o ObjGTK/writepattern.o ObjGTK/liferules.o ObjGTK/util.o ObjGTK/liferender.o ObjGTK/viewport.o ObjGTK/lifepoll.o ObjGTK/generationsalgo.o ObjGTK/wxutils.o ObjGTK/wxprefs.o ObjGTK/wxalgos.o ObjGTK/wxrule.o ObjGTK/wxinfo.o ObjGTK/wxhelp.o ObjGTK/wxstatus.o ObjGTK/wxview.o ObjGTK/wxrender.o ObjGTK/wxscript.o ObjGTK/wxperl.o ObjGTK/wxpython.o ObjGTK/wxfile.o ObjGTK/wxedit.o ObjGTK/wxcontrol.o ObjGTK/wxundo.o ObjGTK/wxselect.o ObjGTK/wxlayer.o ObjGTK/wxmain.o ObjGTK/wxgolly.o `wx-config --libs` -lz `perl -MExtUtils::Embed -e '$]<5.010 && ldopts'`
ObjGTK/wxperl.o: In function `pl_check':
wxperl.cpp:(.text+0x63): undefined reference to `PL_markstack_ptr'
wxperl.cpp:(.text+0x6b): undefined reference to `PL_stack_sp'
wxperl.cpp:(.text+0x78): undefined reference to `PL_markstack_ptr'
wxperl.cpp:(.text+0x7f): undefined reference to `PL_stack_base'
wxperl.cpp:(.text+0xa6): undefined reference to `PL_stack_base'
wxperl.cpp:(.text+0xd4): undefined reference to `PL_stack_sp'
wxperl.cpp:(.text+0xf1): undefined reference to `PL_stack_base'
and many more
ideas?
Ed
Re: Golly 2.1 has stopped working here
Posted: May 27th, 2010, 9:45 pm
by ddt
Hi
turns out this test in makefile-gtk is not correct:
# for Perl script support
PERL_INCLUDE = `perl -MExtUtils::Embed -e ccopts`
# note that we must link in the Perl library if the Perl version is older
# than 5.10 (this is necessary because boot_DynaLoader is in DynaLoader.a);
# if using 5.10 or later we can dynamically load the Perl library because
# it contains the boot_DynaLoader code
PERL_LINK = `perl -MExtUtils::Embed -e '$$]<5.010 && ldopts'`
If I change it to:
PERL_LINK = `perl -MExtUtils::Embed -e '$$]<5.020 && ldopts'`
all is ok.
I guess the comment does not apply to linux dists. Not sure what the correct fix for this one is...
Note that golly runs but perl does not work. It thinks I need a newer version with the lines commented out in wxperl.cpp & makefile-gtk change.
Thanks,
Ed
Re: Golly 2.1 has stopped working here
Posted: May 28th, 2010, 6:35 pm
by Andrew
We're currently wrestling with this problem in the golly-test list.
Can you please tell us what output you get from running these 4 commands:
perl -MExtUtils::Embed -e ccopts
perl -MExtUtils::Embed -e ldopts
perl -MExtUtils::Embed -e '$]<5.010 && ldopts'
perl -MExtUtils::Embed -e 'print $]'
Re: Golly 2.1 has stopped working here
Posted: May 29th, 2010, 10:28 am
by ddt
ed@grover ~/golly-2.1-src $ perl -MExtUtils::Embed -e ccopts
-fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/5.10.1/x86_64-linux/CORE ed@grover ~/golly-2.1-src $ perl -MExtUtils::Embed -e ldopts
-Wl,-E -fstack-protector -L/usr/lib64/perl5/5.10.1/x86_64-linux/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
ed@grover ~/golly-2.1-src $ perl -MExtUtils::Embed -e '$]<5.010 && ldopts'
ed@grover ~/golly-2.1-src $ perl -MExtUtils::Embed -e 'print $]'
This is all with wxgtk 2.8.10, installing 2.8.11 causes golly to fail to start nor will it build.
Do ask if you want something tested or need more info.
Thanks
Ed
Re: Golly 2.1 has stopped working here
Posted: May 31st, 2010, 7:57 pm
by Andrew
ed@grover ~/golly-2.1-src $ perl -MExtUtils::Embed -e 'print $]'
You forgot the output from this command -- I assume it was "5.010001"?
This is all with wxgtk 2.8.10, installing 2.8.11 causes golly to fail to start nor will it build.
I don't quite understand this -- if you can't build it then how can you even start it?
I suspect I won't be able to solve your problems until I upgrade my Ubuntu system to use Perl 5.10.1.
Re: Golly 2.1 has stopped working here
Posted: June 1st, 2010, 1:04 pm
by ddt
>by Andrew » Yesterday, 7:57 pm
>ed@grover ~/golly-2.1-src $ perl -MExtUtils::Embed -e 'print $]'
>You forgot the output from this command -- I assume it was "5.010001"?
perl -MExtUtils::Embed -e 'print $]'
5.010001ed@grover /var/log $
No CR is generated...
>This is all with wxgtk 2.8.10, installing 2.8.11 causes golly to fail to start nor will it build.
>I don't quite understand this -- if you can't build it then how can you even start it?
Since golly is installed outside the packaging system I can install 2.8.11 and then try to run an existing golly - which fails. Normally
this would mean a rebuild. That rebuild also fails. Putting 2.8.10 back makes the rebuild work.
>I suspect I won't be able to solve your problems until I upgrade my Ubuntu system to use Perl 5.10.1.
Fair enough. A working Perl is icing here.
Thanks
Ed
Re: Golly 2.1 has stopped working here
Posted: June 1st, 2010, 8:38 pm
by Andrew
ddt wrote:Since golly is installed outside the packaging system I can install 2.8.11 and then try to run an existing golly - which fails. Normally
this would mean a rebuild. That rebuild also fails. Putting 2.8.10 back makes the rebuild work.
Hmm, this sounds like you're building wxWidgets as a shared library. Note that the instructions in Golly's BUILD file say to build a non-shared library (ie. the configure command has a "--disable-shared" option). I've just downloaded wxGTK 2.8.11 and followed the steps in BUILD to build wxWidgets and then Golly without any problems (on Ubuntu 8.10), so please try doing that and see what happens. To be on the safe side, it might be best to use cvs to grab the latest Golly source files from sourceforge so you're using the exact same sources I'm using.
Re: Golly 2.1 has stopped working here
Posted: June 2nd, 2010, 7:19 pm
by ddt
Andrew,
wxGTK's build is controlled by emerge (gentoo's package manager). USE flags are the method of controlling the build and configure options.
wxGTK does not have one to disable building the lib as shared. It uses:
/var/tmp/portage/x11-libs/wxGTK-2.8.11.0/work/wxPython-src-2.8.11.0/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --enable-compat26 --enable-shared --enable-unicode --with-regex=builtin --with-zlib=sys --with-expat=sys --disable-debug --disable-precomp-headers --without-odbc --with-sdl --without-libtiff --enable-graphics_ctx --enable-gui --with-libpng=sys --with-libxpm=sys --with-libjpeg=sys --enable-mediactrl --enable-opengl --with-opengl --with-gnomeprint --without-gnomevfs
ideas?
Ed
Re: Golly 2.1 has stopped working here
Posted: June 3rd, 2010, 6:36 am
by Andrew
wxGTK's build is controlled by emerge ...
Don't use emerge -- follow the instructions in Golly's BUILD file instead. First you need to build and install wxGTK:
go to
http://www.wxwidgets.org/downloads/ and click on the wxGTK link to download wxGTK-2.8.11.tar.gz
gunzip wxGTK-2.8.11.tar.gz
tar xfm wxGTK-2.8.11.tar
cd wxGTK-2.8.11
mkdir build-gtk
cd build-gtk
../configure --with-gtk --disable-shared --enable-unicode
make
sudo make install
ldconfig (actually, I don't think this is necessary)
To get the latest Golly 2.2 source files do these commands:
cvs -d:pserver:
anonymous@golly.cvs.sourceforge.net:/cvsroot/golly login
(hit return when prompted for password)
cvs -z3 -d:pserver:
anonymous@golly.cvs.sourceforge.net:/cvsroot/golly co -P golly
Finally, build Golly:
cd golly/src
make -f makefile-gtk
Oh, and keep your fingers crossed!