[galib] would anyone like to test 2.4.6 pre-release?

matthew wall mwall at oculustech.com
Tue Dec 28 22:35:42 EST 2004

hello everyone,

galib 2.4.6 is almost ready for release.  i have tested it on the  

cygwin gcc 3.3.3
win2k vcpp 12.00.8804
win2k vcpp 12.00.8168
irix 6.5 CC 7.3.1
macosx 10.3.7 gcc 2.95.2
macosx 10.3.7 gcc 3.3
linux redhat 6.2 gcc 2.91
linux fedora core 2 gcc 3.3.3
linux yellow dog 3 gcc 3.2.2
solaris 6 sparc gcc 2.95.2
solaris 7 intel gcc 2.95.2
aix 4.3.3 vacpp 6
hpux 11 aCC A.03.31

on all of these it compiles out-of-the-box with no warnings (ok, almost  
no warnings.  hpux has a few on one file and vcpp has one.)

my aix 5.1 installation is not yet up and running, and i am still  
trying to get a borland installation in place.  also, my visual  
studio.net installation is buggered, so i cannot test on that one.  i  
do not have access to a sun compiler.  i do not have access to an intel  

so if you can test on any platform not listed above, please grab the  
pre-release from http://lancet.mit.edu/ga/dist/galib246-pre1.tgz and do  
a 'make test' and let me know how it goes.

barring any major nasties, 2.4.6 should be release right around the  
first week of january 2005.

as for what has changed, this is from the release notes for 2.4.6:

2.4.6 January 2005
updated macros in gaconfig.h to have fewer clashes with other libraries.

much improved out-of-the-box behavior with various recent compilers,  
gcc3 and vcpp7.  added options for building on macosx with gcc2 and  

all galib random number generators have been change to garan* in order  
to avoid
naming conflicts with other libraries.  there is still only one rng at  
a time
and no run-time modification of the rng is possible (that is coming  
with 3.0).

better inclusion of GARealGenome and GAStringGenome files for  
the new method accommodates gcc3 premature instantiation quirks and  
makes the
code that uses the genomes slightly less cryptic.  see ex21.C to see  
how this
is done.

there is now a file called std_stream.h in the ga directory.  this file  
care of the differences between various iostream naming requirements.   
platforms require std for the namespace, some do not.  some require use  
<iostream.h>, others require simply <iostream>.  when you create your  
own code
that uses GAlib, you do not need to use the macros from std_stream.h,  
but they
are used in the examples so that the example code will build in any
environment, regardless of its use of streams.

the macros for controlling use of streams are now easier to understand  
and use.

fixed bug in GASelector::update that could cause memory corruption  
(thanks to
Giovanni Sartoni for finding this one).  added assertions to expose any  
end-of-array problems in the selector algorithms.

use local copy of score when calculating population statistics just in  
case the
genome scores change on each invocation of the score method.

More information about the galib mailing list