Howdy All, Happy Canada Day and Happy Independence Day (this week) for those countries that observe that holiday.
Until today I hadn't had the time to finish off the new MS Windows installer, but I did manage to get that task done. Download from: http://www.gnubg.org/media/windows/gnubg-1_01_000-20130701-setup.exe It is recommended (but not required) that you install into a new directory or uninstall the older release. The Installer changes: - Installer will only install on Windows 2000 SP4 or higher - Installer no longer needs to run as an elevated user privilege (Power User or Admin). If running as a standard user it will install itself into the application directory in the users home directory - If you wish to install as Admin (On Vista or newer OSes), download the setup and in MS Windows file explorer right mouse click on the setup and use "Run as Administrator". You will need to do this if you wish to install to \Program Files (x86). - After accepting the license a new page has been added on systems where your processor may support SIMD instructions (for improved performance). If your using an antiquated processor with no SIMD support (SSE2 and AVX) the option page will not be available and will default to the universal i386 executables (no SIMD support). - AVX support is listed as EXPERIMENTAL, and at present will not be the default for systems with AVX CPU and OS Support. - The supported SIMD instructions of your OS and CPU is displayed at the bottom of this new options page. - If you have an AVX processor you also need to be running MS Windows 7 SP1 or higher for this option to be available. - If installing into a directory with an existing install, you are asked if you wish to run the uninstaller (if present) in the installation directory - At the end of the installation process a command window will appear while the Python modules are compiled. This is normal. - If installing into a directory with an older installation without doing a proper uninstall, the new installer will delete specific files from older installations that may interfere with proper installation of the new version. - The Uninstall process has been fixed to properly search for the users .gnubg preferences directory. The ChangeLog is attached for the changes since the 1.00.000 release. The primary changes from the user perspective are: - For MS-Windows the minimum required OS is MS Windows 2000 SP4. - Experimental AVX (SIMD instructions) for the neural net code has been added by Philippe Michel, and I created the infrastructure to support it for the build process. - Python has been upgraded to 2.7.5. - The Python environment is a complete set of libraries including TK. - Support for Python IDLE (Python Integrated Development environment). For those who wish to use this feature, load the GUI, turn on the "command" panel (View/Panels>/Command). Enter a > (greater than sign) and hit enter in the command box in the bottom right of the GNUBG main window. - Readline support (command completion, and history) is available for those who install on MS Windows XP SP2 and above while running gnubg-cli.exe (Command line interface) version. - GNUBG Python scripts have been moved to the scripts/ sub-directory. If you wish to change the command line interpreter or the GUI processing it has been moved to functions in scripts/gnubg.py - When GNUBG is loaded it will attempt to load (if it exists) scripts/gnubg_user.py . You can place your own user defined functions into that file to have them automatically loaded. This file won't be deleted during an uninstall. - MySQL support in MS Windows was fixed (had been broken for quite sometime). Postgres support never worked on MS Windows so has been removed for that platform. - Database options allows hostname:portnumber to be specified for MySQL (And Postgres on platforms where it is supported) - The No SSE version of gnubg.exe and gnubg-cli.exe have a maximum support for 4 threads to save on memory for older systems with limited resources. - New functionality to support a new GNUBG Python Module 'hint' function. This produces hint information (limited to move hints, but not cubes) and returns a hint dictionary. - Board preferences are saved when clicking OK on the Board preferences option screen. - Alternate Language support was broken in 1.00.000, and has now been fixed. - Other minor bug fixes reported by users and developers. Other notes On *nix/BSD platforms: - With IPython installed, IPython will be the default command line interpreter. - MySQL and Postgres player database support has been fixed. - autoconf --enable-sse has been renamed --enable-simd . Also supports type avx . SIMD support is on by default. --enable-simd=TYPE/--disable-simd are used to override it. - autoconf --enable-cputest has been cleaned up - autoconf processing better detects the CPU SIMD capabilities of the build environment. If you encounter problems with the new installer please contact me. Many issues were resolved with the help of various computers/OSes. Thanks for the testing by Ian Shaw and Philippe Michel. If things look okay I will use this release and installer for the official 1.00 announcement on the GNUBG webpages. Thanks -- Michael Petch GNU Backgammon Maintainer / Developer OpenPGP FingerPrint=D81C 6A0D 987E 7DA5 3219 6715 466A 2ACE 5CAE 3304
2013-06-30 Michael Petch <[email protected]> * eval.h, rollout.c, gnubgmodule.c: Store the JSD that a rollout alternative was stopped on into the rollout context dbprovider.c gnubg.c gnubgmodule.c gnubgmodule.h: Allow a user Python startup script (gnubg_user.py) to be loaded at startup AFTER gnubg.py. No error is thrown if the file doesn't exist. gnubg_user.py is not meant to be imported, but loaded as a textfile into the main name space just like gnubg.py . 2013-06-29 Michael Petch <[email protected]> * backgammon.h, gnubg.c, gnubgmodule.c: Added preliminary support for Python module function 'hint'. Work in progress The function interface and the dictionary returned may change. Added module functions mwc2eq_stderr and eq2mwc_stderr. Inefficient memory use for eval and rollout contexts should be cleaned up. Rollout contexts should include all the cube and chequer play sub contexts. The hint dictionary needs to be documented. 2013-06-25 Michael Petch <[email protected]> * backgammon.h, gnubg.c, play.c: hint_move has been modified to support external callbacks. Part of future Python integration. 2013-06-25 Michael Petch <[email protected]> * eval.c, lib/neuralnet.c: If SIMD instructions are compiled in and they are not supported by the processor, output an error message and then terminate immediately. 2013-06-22 Michael Petch <[email protected]> * INSTALL, configure.ac, eval.c, gnubg.c, gnubg.spec, po/POTFILES.in Rename file sse.h to simd.h. Rename USE_SSE_VECTORIZE to USE_SIMD_INSTRUCTIONS, rename SSE_Supported to SIMD_Supported, rename DISABLE_SSE_TEST to DISABLE_SIMD_TEST, rename SSE_CFLAGS to SIMD_CFLAGS Make sse/simd usage more consistent, ./configure option --enable-sse/--disable-sse is now --enable-simd/--disable-simd 2013-06-20 Michael Petch <[email protected]> * +m4/ax_check_compile_flag.m4, +m4/ax_ext.m4 +m4/ax_gcc_x86_avx_xgetbv.m4 +m4/ax_gcc_x86_cpuid.m4, configure.ac: Added better autoconf support to determine whether the processor supports certain SIMD instruction sets like SSE,SSE2,AVX etc. --enable-simd behaves a bit different. --enable-simd with no parameters is the same as --enable-simd=yes . The behavior of --enable-simd=yes has been changed to find the latest supported SIMD instruction set used by the build machines CPU. Priority is given in this order (highest first): SSE2, SSE, AVX, None. Since AVX is still experimental it is not given priority over SSE2 during build time autodetection. 2013-06-19 Michael Petch <[email protected]> * +output.c +output.h, gnubg.c, backgammon.h, lib/Makefile.am lib/neuralnet.c: Moved the output functions from gnubg.c to their own files. 2013-06-19 Michael Petch <[email protected]> * gnubg.c, eval.c, lib/neuralnet.c, lib/neuralnet.h, configure.ac: Add support for plm's new AVX instruction additions. Separate the cputest from the --enable-simd configure option. Created a new option --disable-cputest. Supports cputest functionality on GCC builds with either 64-bit or 32-Bit OSes on Intel processors. Code will work with builds that use -fpic option. 2013-06-18 Michael Petch <[email protected]> * gnubg.c: When using the -r flag to start GNUBG (start without reading the gnubgautorc file), the gnugbautorc file will be overwritten with defaults if running with the GUI. Reported by plm, see: https://savannah.gnu.org/bugs/?38497#postcomment 2013-06-17 Michael Petch <[email protected]> * gtkgame.c: Fix language bug that prevented the GUI from properly refreshing the screen when a new Language was chosen * Makefile.am: Win32 builds have a localedir of ./locale relative to the executables directory. A bug had newer windows builds seeking locale files in the default locations which was incorrect, and consquently language translation didn't occur. 2013-06-15 Michael Petch <[email protected]> * All .c and .h files: Standardized the code formatting with indent -kr -l120 -fc1 -sc -nut -psl . K&R style, 120 column limit process comment in column 1, multiline comments have an asterisk at the beginning of each line, convert all tabs to spaces, and split the return type of a function from the function name (each on their own line). K&R uses 4 spaces for an indentation level. Update the language files. * script/*.py : Reformat the python files to conform to PEP8 standard. See http://www.python.org/dev/peps/pep-0008/#indentation 2013-06-15 Michael Petch <[email protected]> * gnubgmodule.c, scripts/gnubg.py: Modify the python interpreter processing so that it falls back to a simple command line interface on older versions of Windows (Versions before WinXP SP2). Fix segfault related to launching the Python command line interpreter 2013-06-15 Philippe Michel <[email protected]> * configure.ac, lib/neuralnetsse.c, lib/sse.h, lib/inputs.c: Use AVX instructions when built with "configure --enable-simd=avx" 2013-06-13 Michael Petch <[email protected]> * gtkprefs.c: Save board preferences when clicking "OK" on the board appearance configuration dialog. 2013-06-12 Michael Petch <[email protected]> * dbprovider.c, dbprovider.h, gtkrelational.c, relational.c, scripts/database.py : Allow hostname to be specified in the database connection dialog box. Hostnames can be any valid combination of hostname:portnumber 2013-06-07 Michael Petch <[email protected]> * gtkwindows.c, play.c: Fix a bug that segfaulted the "end game" command when built with GTK and the "-t" option is used to launch GNUBG. 2013-06-06 Michael Petch <[email protected]> * gnubgmodule.c, gnubgmodule.h, gtkgame.c, scripts/gnubg.py: Move loading of the Python command line interpreter to Python functions in gnubg.py. The Python command line now supports IPython if present. IPython takes precedence over the standard Python interpreter. If the standard interpreter is used, attempt to load command history (readline module) and then try loading auto completion (rlcompleter module) support if present. Fix Python related ifdefs to allow compiling when built without Python support. 2013-06-05 Michael Petch <[email protected]> * scripts/gnubg.py: Add the scripts directory to the Python path so that files in the directory can be imported. 2013-06-05 Michael Petch <[email protected]> * gnubgmodule.c, gtkgame.c, play.c: Modify the interactive Python interpreter to support tab completion and command history. Begin reintroducing Python IDLE, since it functions on MS Windows and various linux distros. Ubuntu/Debian installation of IDLE can be done via: apt-get install idle . If IDLE is not present it will drop back to the old method. CLI builds don't use IDLE at present. IDLE is not on the GUI menu but can be activated by turning on the "command" pane and entering '>' (greater than sign without quotes) as a command. IF IDLE is not presnt and usable it will do nothing. This is a work in progress. 2013-06-04 Michael Petch <[email protected]> * gtkrelational.c: Don't allow a user to create a player database that already exists. * dbprovider.h, dbprovider.c, scripts/database.py, gnubgmodule.c: Add Mysql support on Win32 platforms using pymysql (a purely python based database driver for mysql) 2013-06-04 Michael Petch <[email protected]> * configure.ac, multithread.h: Allow a new autoconf/configure parameter --with-eval-max-threads=size to allow the maximum number of evaluation threads to be specified. Default is 48 if not specified. * dbprovider.h, dbprovider.c, relational.c scripts/database.py: Fix bugs that prevented proper connections and database usage when using the Mysql and Postgres player database providers. Mysql and Postgres are unsupported on the MS Windows platform - Disable them in the GUI 2013-05-31 Michael Petch <[email protected]> * play.c: Under certain situations (load commands from a file containing a play command within the GUI) would stop on an assertion. PlayCommand not properly resetting the notification handler. Reported by Ian Shaw 2013-05-28 Michael Petch <[email protected]> * gnubg.c: Fix bugs related to python handling of ParseMove and FormatMove . Fix bug that would cause crash when command "load commands" used unquoted filenames on Win32 platform. Reported by Ian Shaw
_______________________________________________ Bug-gnubg mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-gnubg
