[Top][All Lists]

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

Re: [Help-glpk] VC++ 6.0 makefile for a GLPK multi-threaded dynamic libr

From: Andrew Makhorin
Subject: Re: [Help-glpk] VC++ 6.0 makefile for a GLPK multi-threaded dynamic library
Date: Mon, 19 Feb 2007 05:34:30 +0300

> In GLPK versions before 4.14, you provided a special VC++ 6.0
> makefile for a GLPK multi-threaded dynamic library as well as a
> multi-threaded example.
> The multi-threaded callable library was quite useful for me to
> experiment with Dantzig-Wolfe decomposition and column generation.
> Could you please provide the necessary files, including the def
> file. I tried myself by copying and changing the appropriate mt
> files from version 4.13, but I failed miserably.

Please see the file attached. It is a patch for glpk 4.15
that allows building multi-threaded dll with MSVC++ 6.0.

To apply the patch you should:

1) copy new version of 'glplib03.c' to the 'src' directory replacing
   its old version;

2) copy 'mtsamp.c' to the 'examples' directory;

3) copy other three files (.bat, .def, and Makefile) to the 'w32'

4) enter the directory 'w32' and run (by double clicking) the batch
   file 'Build_GLPK_MT_DLL_with_Visual_C++_6.0.bat'. It will produce
   glpk_4_15.lib and glpk_4_15.dll.

> You must have had a reason why not to deliver these files. Could you
> please explain these reasons.

The reason is that some glpk routines use some standard C functions
(like strerror) which are not thread-safe. The probability that this
will cause a bug is extremely low, but not equal to zero. On the
other hand, using something like strerror_r is problematic, because
it is beyond the ISO C standard.

> I am still most grateful for your excellent optimization software. 

Thank you for your interest in glpk.

Andrew Makhorin

Description: Zip compressed data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]