To install, just copy the GUI subdirectory to whereever you want to install it: eg assuming /usr/local/minsky does not exist
cp -r Minsky.1.D32/GUI /usr/local/minsky
Then add /usr/local/minsky to your path. Alterantively, create a one line script file that launches /usr/local/minksy/minsky, and place that in /usr/local/bin, for example.
You can, of course, delete source files (.cc, .h), object files (.o) and dependency files (.d) from the directory where you installed it. Minsky pretty much needs everything else in the GUI directory, and the executable has to be located in that directory for the application to find its resources.
Your choice whether you install it system-wide in /usr/local, or just in a user directory (eg ~/usr). Either will work. That decision depends on what priveleges you have, whether you have multiple users of the system, how you back up your system etc.
But there ought to be an install target in the Makefile to simplify the above. I'll raise a ticket to include one for the next version.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Feedback received from a more technically competent person.
Concerns Minsky using current layout may be difficult to distribute and update using the YaST/zypper approaches for installation/update as used in Novell/openSUSE and similar systems.
Is Minsky being used, or experiencing similar difficulties, with other linux systems ?
.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Try to install as many of these pacakges using your package manager,
to save you time and trouble. If you can't, then download the source
code for that package and install it according to its own
instructions.
Software for which you will not have a prebuilt package for include
Tktable, MegaBitz and Ecolab, so you will need to build these.
Tktable builds a dynamic library, but "make install" puts it in an
inconvenient location. Just do
cp libTktable2.11.so /usr/local/lib/
to install it.
MegaBitz you can get from its SourceForge project. Just do "make
install" in the xglib directory to build and install it.
EcoLab tries to adapt to the software environment in which it is
built, so it is important you have all other dependencies installed
first. If your distribution stashes packages in weird/non-standard
locations (we had this issue with Tcl/Tk in one particular
distribution), you will either need to build and install that package
from source code (EcoLab always checks the standard install
locations), or you will need to hack EcoLab's Makefile.
By default EcoLab will install to $HOME/usr/ecolab - unless you have
good reasons otherwise, just go with the flow. Minsky also looks in
/usr/local/ecolab if needed. You can remove the ecolab directory after
you have successfully built Minsky, as it is only needed for building.
Just type "make GCC=1 install" in the Ecolab's top level
directory. The "GCC=1" is only needed if you have the Intel C+++
compiler installed as well, otherwise you can leave it off.
Finally, you build Minsky using "make" in Minsky's top level
directory.
There is no install target for make in Minsky. This is coming :). To
install it, you need to copy the GUI directory of Minsky somewhere, eg
and you will need to add /usr/local/minsky to your PATH variable.
You may delete ,D .h .cc .o from the minsky directory - the only
things needed are the minsky executable, the *.tcl scripts, and the
icons and library directories.
Sorry that this is a bit of Windows/MacOSX way of doing things -
Minsky needs to know where to find its resources, and currently it
looks in the same directory where its executable resides. I plan to
allow it to also search standard locations, such as
$(MINSKYEXEPATH)/../lib/minsky or $(MINSKYEXEPATH)/../share/minsky to
find them, which is more in line with how Linux software does these
things.
Good luck! And feel free to ask more questions.
--
Prof Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Professor of Mathematics hpcoder@hpcoders.com.au
University of New South Wales http://www.hpcoders.com.au
Latest project: The Amoeba's Secret
(http://www.hpcoders.com.au/AmoebasSecret.html)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
According to the list of dependencies, Tktable 2.11 is available on sourceforge, but I have so-far failed to find it. Minsky will link against Tktable 2.10, which is in a standard Debian package, but the radio buttons are missing from the GUI.
Incidentally why do you override the install prefix on line 45 of the Makefile?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Fri, Jul 24, 2015 at 08:42:22PM +0000, Bernard Hurley wrote:
Where can I find Tktable 2.11?
According to the list of dependencies, Tktable 2.11 is available on sourceforge, but I have so-far failed to find it. Minsky will link against Tktable 2.10, which is in a standard Debian package, but the radio buttons are missing from the GUI.
TL;DR - look in the Minsky source release directory for the TkTable
source code. Also, take a look at my binary packages released through
the OpenSUSE build service https://build.opensuse.org/project/show/home:hpcoder1
TkTable is unfortunately abandonware. TkTable 2.11 refers to the
unreleased code in the CVS repository. I have since made a couple of
bug fixes to the code, which lives on in my "vendor branch" (ie a fork
in my local code repo). The latest delta is TkTable.2.11.D3, and I
released this through the SourceForge Minsky project file space, but
it's getting a little buried by all the Minsky releases in that
directory.
I made a half-hearted attempt to take over the TkTable project. It's
not exactly my favourite piece of software to work on, but I don't
have anything better for that functionality in Minsky.
What I think I'll do is is fork the project over on Github, that way I
can issue some pull requests if the project ever reawakens. But CVS is
one of the last features to be resurrected after the SourceForge
outage, so that might take a week or two before I can import the repo.
Incidentally why do you override the install prefix on line 45 of the Makefile?
You've got it the wrong way around. That line specifies a value for
PREFIX if none is provided by the user. The comment is an exhortion to
the user to override the value if they want something different.
Cheers
--
Prof Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Professor of Mathematics hpcoder@hpcoders.com.au
University of New South Wales http://www.hpcoders.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Sun, Jul 26, 2015 at 06:33:17PM +0000, Bernard Hurley wrote:
Thanks, that was very helpful. I have Minsky running now. Just a couple of points:
1) The configure script for Tktable doesn't set exec-prefix to prefix as is the normal convention.
That's probably aegis - it tends to unset execute bits, for some
rather bizarre reason.
2) in the Minsky Makefile ctags has the illegal option "-e" - I deleted it, and no harm seems to have been done.
Actually, the system I used to use had exhuberant ctags installed. The
-e option was equivalent to running etags (ctags for emacs). Also the -R was
for recursive processing. I have changed the Makefile to use regular
etags now, by feeding the output of find to it.
In any case, as you noticed, a failure in this command is simply
ignored, as it is intended as a developers aid.
Enjoy!
Cheers
Prof Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Professor of Mathematics hpcoder@hpcoders.com.au
University of New South Wales http://www.hpcoders.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I was interested in running Minsky after seeing some of Steve Keen's video lectures.
Unfortunately, I experienced several disappointing crashes with the windows download after spending lots of time building a small economic model. When I learned that Minsky was originally built on Linux, I figured it might be more stable running there and allow me to focus on using the program, even if I have to run it from a virtual machine. Since I could not readily find a linux package of Minsky for Debian, I thought I would try a clean build. I was also hoping this would allow people who have more experience with package creation than me to create stable packages for linux distributions.
In searching the WiKi I came across this reference http://sourceforge.net/p/minsky/wiki/Building%20Minsky as a response to a request for step-by-step build instructions. These instructions provide great direction for a certain subset of people who might be interested in running Minsky--especially those who have extensive experience building source-forge projects--but are hardly a step-by-step list. Figuring that the developer has many other, more important things to do, I reckoned this could be my small contribution to the Minsky project.
This instruction was for a Debian Jessie build of minsky D1.45 and may work with minor changes for other distributions and versions.
SETUP VIRTUAL MACHINE (Skip if you already have a Debian system to use.)
Note: You will need to get a 32-bit version if your OS is not 64-bit.
While this is downloading, grab and install virtual box version 5.0.14 from https://www.virtualbox.org/wiki/Downloads. Again, pay attention to whether you have 32-bit or 64-bit machine. If in doubt, go with 32-bit.
With virtual box, creat a virtual machine called Minsky with at least 4GB of RAM and a 10GB VHI disk. Mount the debian iso image using the Windows 10 mount option (right click the file to see this) and started the virtual machine to initiate the installation of Linux. If you can't mount the image on your OS, then burn the ISO to a CD or DVD and install it in your optical drive. See the Debian installation instructions if this doesn't work for you.
As part of the install dialogue, you can select all of the default options except you should setup the disk with the LVM option to use entire disk. This makes repartitioning a little easier to use the virtual disk for other purposes.
The linux install will take some time, possibly hours depending on your internet connection and machine. After it finishes, install GRUB 2 on /dev/sda.
GET PREREQUISITES
Log in as a normal user, and open a terminal window. Execute "su" at the command prompt to become root and install packages for the builds:
You can install all the packages with a single command if you prefer. Now that the required libraries and tools are installed, exit root or superuser mode (just type "exit" at the command prompt) to return to normal user mode.
root@minsky:/home/rct# exit
rct@minsky:~$
One more preliminary package is required. Issue the following command from a terminal command line:
Now expand, build and install this source by following the example:
rct@minsky:~$ tar xvf Tktable2.11.D3.tar.gz
rct@minsky:~$ cd Tktable2.11.D3
rct@minsky:~/TkTable.2.11.D3$ ./configure
rct@minsky:~/TkTable.2.11.D3$ make
rct@minsky:~/TkTable.2.11.D3$ su
root@minsky:/home/rct/TkTable.2.11.D3# cp TkTable.2.11.so /usr/local/lib
root@minsky:/home/rct/TkTable.2.11.D3# exit
rct@minsky:~/TkTable.2.11.D3$ cd
rct@minsky:~$
Expand, build and install ecolab as per this example:
rct@minsky:~$ tar xvf ecolab.5.D28.tar.gz
rct@minsky:~$ cd ecolab.5.D28
rct@minsky:~/ecolab.5.D28$ make
rct@minsky:~/ecolab.5.D28$ su
root@minsky:/home/rct/ecolab.5.D28# make install PREFIX=/usr/local/ecolab
root@minsky:/home/rct/ecolab.5.D28# exit
rct@minsky:~/ecolab.5.D28$ cd
rct@minsky:~$
or by opening a browser window to the link shown previously for TkTable and move the file to your user default directory.
Expand and build as per this example:
rct@minsky:~$ tar xvf Minsky.1.D45.tar.gz
rct@minsky:~$ cd Minsky.1.D45
rct@minsky:~/Minsky.1.D45$ export LD_LIBRARY_PATY=/usr/local/lib
rct@minsky:~/Minsky.1.D45$ make
This will take a little while, but should finish without any errors.
Then, to run it:
rct@minsky:~/Minsky.1.D45$ cd GUI
rct@minsky:~$ ./minsky
You can create a little script
rct@minsky:~$ cd
rct@minsky:~$ cat > ~/Minsky.sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
explort LD_LIBRARY_PATH
~/Minsky.1.D45/GUI/minsky
^C
rct@minsky:~$ chmod a+x Minsky.sh
rct@minsky:~$
Then, anytime you want to run it type this from a command prompt:
rct@minsky:~$ ./Minsky.sh
These instructions should get you started. There are plenty of optimizations that could be made, but these instructions should get you started. We could have installed sudo to simplify some of the operations that required root priviledge, but that would have required an explanation of visudo.
Good luck with this. I hope it is useful to someone.
:Bob
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Mon, Feb 01, 2016 at 02:47:15AM +0000, Bob Tatar wrote:
HOWTO Build Minsky for Linux - Step-by-Step
2016-Jan-19 RCT
BACKGROUND
I was interested in running Minsky after seeing some of Steve Keen's video lectures.
Unfortunately, I experienced several disappointing crashes with the
windows download after spending lots of time building a small economic
model.
Any chance you can reproduce these crashes with simple models?
When I learned that Minsky was originally built on Linux, I figured it
might be more stable running there and allow me to focus on using the
program, even if I have to run it from a virtual machine.
Maybe, although I have to admit, that fatal bugs found in the Windows build
are usually bugs in the Linux build (though not necessariliy fatal).
Since I could not readily find a linux package of Minsky for Debian, I
thought I would try a clean build.
^ This step should not be necessary. In any case, its "LD_LIBRARY_PATH"
...
Good luck with this. I hope it is useful to someone.
:Bob
Thanks Bob.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Mon, Feb 01, 2016 at 02:47:15AM +0000, Bob Tatar wrote:
HOWTO Build Minsky for Linux - Step-by-Step
2016-Jan-19 RCT
BACKGROUND
I was interested in running Minsky after seeing some of Steve Keen's video
lectures.
Unfortunately, I experienced several disappointing crashes with the
windows download after spending lots of time building a small economic
model.
Any chance you can reproduce these crashes with simple models?
When I learned that Minsky was originally built on Linux, I figured it
might be more stable running there and allow me to focus on using the
program, even if I have to run it from a virtual machine.
Maybe, although I have to admit, that fatal bugs found in the Windows build
are usually bugs in the Linux build (though not necessariliy fatal).
Since I could not readily find a linux package of Minsky for Debian, I
thought I would try a clean build.
^ This step should not be necessary. In any case, its "LD_LIBRARY_PATH"
...
Good luck with this. I hope it is useful to someone.
:Bob
Thanks Bob.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
Thank you very much for your reply! And thank you for finding the LD_LIBRARY_PATH error and pointing out that it is not needed. I needed this prior to finding an etags error (fixed by installing emacs).
No, I had not previously seen the opensuse.org links. Thanks for the reference.
I hope my comments did not come off as being critical. You've done an outstanding job with the package as it is.
I'll see if I can reproduce the previous error on windows 10 & linux. I have not had any problems (so far) with the linux version.
:Bob
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi - I work with a linux cluster and am wondering if there are any benefits to clustering this software over a local distributed network? is it Minsky multithreaded as I have a number of 20core v2 xeon machines? Will try to install using the above into a Linux distro - I prefer arch, redhat or fedora as ubuntu is too slow like windoze. Appreciate your feedback on those flavours. Thanks.
Last edit: Iva Buttrows 2017-07-04
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Tue, Jul 04, 2017 at 11:29:27AM +0000, Iva Buttrows wrote:
Hi - I work with a linux cluster and am wondering if there are any benfits to clustering this software over a local distributed network? is it Minsky multithreaded as I have a number of 20core v2 xeon machines? Will try to install using the above into a Linux distro - I prefer arch, redhat or fedora as ubuntu is too slow like windoze. Appreciate your feedback on those flavours. Thanks.
Minsky is not currently multithreaded. There may be some benefit to
running Minsky in batch mode on a cluster for doing ensemble
simulations, in which case any of the usual Linux distros will
do. However, presently the size model that can be readily created in
Minsky does not present much computational demand, so there is little
benefit from parallelising the code.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What the hey?!? Not only are you debunking mainstream economics but you can do it on one thread? Can we infer then the lack of computational demand is in fact a symptom of the subject matter? Here I was all geared up to contribute a few dozen cpu's to the cause. Turns out you don't need it.
Last edit: Iva Buttrows 2017-07-06
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Thu, Jul 06, 2017 at 11:16:57PM +0000, Iva Buttrows wrote:
What the hey?!? Not only are you debunking mainstream economics but you can do it on one thread? Can we infer then the lack of computational demand is in fact a sympton of the subject matter? Here I was all geared up to contribute a few dozen cpu's to the cause. Turns out you don't need it.
Ironic, isn't it. Yes, we have plans to allow minsky to scale up to
modeling larger systems, such as whole countrys and world economoies,
but the hard part is how to structure the canvas such that it is
feasible to create such large models. Already, a PhD student did a
whole country model of Portugal, and that stretched the bounds of
Minsky.
The easy part is parallelising the solver to run on multicore and
GPUs. That'll be done if/when we ever get enough funding to tackle the
large system problem.
Cheers
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello. I'm trying to build Minsky 2.1 on Fedora. I believe I have installed the pre-requisites. I am getting the error ./constMap.h:45:10: fatal error: constMap.cd: No such file or directory
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That file is a built file. What happens when you type
make constMap.cd
?
Cheers
On Mon, Dec 18, 2017 at 03:22:23PM -0000, Alexander Katovsky wrote:
Hello. I'm trying to build Minsky 2.1 on Fedora. I believe I have installed the pre-requisites. I am getting the error ./constMap.h:45:10: fatal error: constMap.cd: No such file or directory
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Maybe some dependency files were incorrectly generated, as that file
should have automatically be generated. You could try "make clean;
make" to see if it all goes through properly.
Cheers
On Tue, Dec 19, 2017 at 10:10:09AM -0000, Alexander Katovsky wrote:
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, I'm trying to build the file on Debian Stretch. at the moment (20181107) I'd guess that half the files are available only on Stretch and the rest on Jessie.
The only real contetion I have noticed on the packages is that libgsl0-dev is available only on Debian Jessie and that the later package on Stretch is virtual.
I seem to have got as far as 'make' on the ecolab package, which gives the following errors:
/usr/include/c++/6/array:90:12: note: template<class int="" _tp,="" unsigned="" long="" _nm=""> struct std::array
struct array
^~~~~
In file included from src/tcl_arrays.cc:10:0:
/home/K-Minsky/test/ecolab.5.D28/include/arrays.h:79:30: note: template<class t=""> class ecolab::array_ns::array
template <class t=""> class array;
^~~~~
src/tcl_arrays.cc:87:9: error: expected primary-expression before ‘double’
array<double> u(atoi(argv[1]));
^~~~~~
src/tcl_arrays.cc:89:3: error: ‘u’ was not declared in this scope
u=atof(argv[2]);
^
include/Makefile:563: recipe for target 'src/tcl_arrays.o' failed
make[1]: [src/tcl_arrays.o] Error 1
make[1]: Leaving directory '/home/K-Minsky/test/ecolab.5.D28'
Makefile:110: recipe for target 'ecolab-libs' failed
make: [ecolab-libs] Error 2
I do not recall any prior errors being mentioned. </double></class></class></class>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Wed, Nov 07, 2018 at 05:20:28PM -0000, Richard A Lough wrote:
Hi, I'm trying to build the file on Debian Stretch. at the moment (20181107)
I'd guess that half the files are available only on Stretch and the rest on
Jessie.
The only real contetion I have noticed on the packages is that libgsl0-dev is
available only on Debian Jessie and that the later package on Stretch is
virtual.
I seem to have got as far as 'make' on the ecolab package, which gives the
following errors:
/usr/include/c++/6/array:90:12: note: template<class int="" _tp,="" unsigned=""
As for this, this looks like a conflict between ecolab::array (one of
the oldest classes in EcoLab, dating back to 1993) and std::array,
which only appeared in C++11. This required replacing references of
array with the qualified ecolab::array to prevent this from happening
on newer compilers. That said, I regularly compile EcoLab with the
latest g++, so I'm surprised there are still issues like this. Are you
sure you have the latest code?
Another thing is that in the aforementioned Debian stretch build, only
"make install" is performed. This skips building models and tests, so
I don't know if "make" on its own will succeed on Debian. I personally
use OpenSUSE Tumbleweed, and sometimes subtle distro dependent things
crop up.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Appreciate any tips to install into linux.
Am using Linux openSUSE 13.1 GNOME, like to install and try.
example: install as user/root.
example: how and where best to install.
Thanks to hpcoder1 felt need update this thread ;-)
Installed using source : [(https://software.opensuse.org/download.html?project=home%3Ahpcoder1&package=minsky)]
Title for page Install package home:hpcoder1 / minsky
Offers linux : CentOS, Debian, Fedora, (SUSE) openSUSE, RHEL, SL, (SUSE) SLE, Ubuntu, (UCS) Univention.
Selected openSUSE, then chose openSUSE 42.1 which installed smooth and quick.
To install, just copy the GUI subdirectory to whereever you want to install it: eg assuming /usr/local/minsky does not exist
cp -r Minsky.1.D32/GUI /usr/local/minsky
Then add /usr/local/minsky to your path. Alterantively, create a one line script file that launches /usr/local/minksy/minsky, and place that in /usr/local/bin, for example.
You can, of course, delete source files (.cc, .h), object files (.o) and dependency files (.d) from the directory where you installed it. Minsky pretty much needs everything else in the GUI directory, and the executable has to be located in that directory for the application to find its resources.
Your choice whether you install it system-wide in /usr/local, or just in a user directory (eg ~/usr). Either will work. That decision depends on what priveleges you have, whether you have multiple users of the system, how you back up your system etc.
But there ought to be an install target in the Makefile to simplify the above. I'll raise a ticket to include one for the next version.
Can you please provide step by step info to install minsky on Ubuntu 14.04 with dependency list?? Thanks :)
Feedback received from a more technically competent person.
Concerns Minsky using current layout may be difficult to distribute and update using the YaST/zypper approaches for installation/update as used in Novell/openSUSE and similar systems.
Is Minsky being used, or experiencing similar difficulties, with other linux systems ?
.
Can you please provide step by step info to install minsky on Ubuntu 14.04 with dependency list?? Thanks :)
On Mon, Oct 06, 2014 at 11:56:23AM +0000, Gajj wrote:
I have a backburner project to release Minsky as a binary package
through OSB, which I believe will supply Ubuntu.
The dependencies are listed at
http://sourceforge.net/p/minsky/wiki/Building Minsky/
Try to install as many of these pacakges using your package manager,
to save you time and trouble. If you can't, then download the source
code for that package and install it according to its own
instructions.
Software for which you will not have a prebuilt package for include
Tktable, MegaBitz and Ecolab, so you will need to build these.
Tktable builds a dynamic library, but "make install" puts it in an
inconvenient location. Just do
cp libTktable2.11.so /usr/local/lib/
to install it.
MegaBitz you can get from its SourceForge project. Just do "make
install" in the xglib directory to build and install it.
EcoLab tries to adapt to the software environment in which it is
built, so it is important you have all other dependencies installed
first. If your distribution stashes packages in weird/non-standard
locations (we had this issue with Tcl/Tk in one particular
distribution), you will either need to build and install that package
from source code (EcoLab always checks the standard install
locations), or you will need to hack EcoLab's Makefile.
By default EcoLab will install to $HOME/usr/ecolab - unless you have
good reasons otherwise, just go with the flow. Minsky also looks in
/usr/local/ecolab if needed. You can remove the ecolab directory after
you have successfully built Minsky, as it is only needed for building.
Just type "make GCC=1 install" in the Ecolab's top level
directory. The "GCC=1" is only needed if you have the Intel C+++
compiler installed as well, otherwise you can leave it off.
Finally, you build Minsky using "make" in Minsky's top level
directory.
There is no install target for make in Minsky. This is coming :). To
install it, you need to copy the GUI directory of Minsky somewhere, eg
mkdir /usr/local/minsky
cp -r Minsky.1.D34/GUI/ /usr/local/minsky/
and you will need to add /usr/local/minsky to your PATH variable.
You may delete ,D .h .cc .o from the minsky directory - the only
things needed are the minsky executable, the *.tcl scripts, and the
icons and library directories.
Sorry that this is a bit of Windows/MacOSX way of doing things -
Minsky needs to know where to find its resources, and currently it
looks in the same directory where its executable resides. I plan to
allow it to also search standard locations, such as
$(MINSKYEXEPATH)/../lib/minsky or $(MINSKYEXEPATH)/../share/minsky to
find them, which is more in line with how Linux software does these
things.
Good luck! And feel free to ask more questions.
--
Prof Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Professor of Mathematics hpcoder@hpcoders.com.au
University of New South Wales http://www.hpcoders.com.au
Latest project: The Amoeba's Secret
(http://www.hpcoders.com.au/AmoebasSecret.html)
Where can I find Tktable 2.11?
According to the list of dependencies, Tktable 2.11 is available on sourceforge, but I have so-far failed to find it. Minsky will link against Tktable 2.10, which is in a standard Debian package, but the radio buttons are missing from the GUI.
Incidentally why do you override the install prefix on line 45 of the Makefile?
On Fri, Jul 24, 2015 at 08:42:22PM +0000, Bernard Hurley wrote:
TL;DR - look in the Minsky source release directory for the TkTable
source code. Also, take a look at my binary packages released through
the OpenSUSE build service https://build.opensuse.org/project/show/home:hpcoder1
TkTable is unfortunately abandonware. TkTable 2.11 refers to the
unreleased code in the CVS repository. I have since made a couple of
bug fixes to the code, which lives on in my "vendor branch" (ie a fork
in my local code repo). The latest delta is TkTable.2.11.D3, and I
released this through the SourceForge Minsky project file space, but
it's getting a little buried by all the Minsky releases in that
directory.
I made a half-hearted attempt to take over the TkTable project. It's
not exactly my favourite piece of software to work on, but I don't
have anything better for that functionality in Minsky.
What I think I'll do is is fork the project over on Github, that way I
can issue some pull requests if the project ever reawakens. But CVS is
one of the last features to be resurrected after the SourceForge
outage, so that might take a week or two before I can import the repo.
You've got it the wrong way around. That line specifies a value for
PREFIX if none is provided by the user. The comment is an exhortion to
the user to override the value if they want something different.
Cheers
--
Prof Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Professor of Mathematics hpcoder@hpcoders.com.au
University of New South Wales http://www.hpcoders.com.au
Thanks, that was very helpful. I have Minsky running now. Just a couple of points:
1) The configure script for Tktable doesn't set exec-prefix to prefix as is the normal convention.
2) in the Minsky Makefile ctags has the illegal option "-e" - I deleted it, and no harm seems to have been done.
Cheers
On Sun, Jul 26, 2015 at 06:33:17PM +0000, Bernard Hurley wrote:
That's probably aegis - it tends to unset execute bits, for some
rather bizarre reason.
Actually, the system I used to use had exhuberant ctags installed. The
-e option was equivalent to running etags (ctags for emacs). Also the -R was
for recursive processing. I have changed the Makefile to use regular
etags now, by feeding the output of find to it.
In any case, as you noticed, a failure in this command is simply
ignored, as it is intended as a developers aid.
Enjoy!
Cheers
Prof Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Professor of Mathematics hpcoder@hpcoders.com.au
University of New South Wales http://www.hpcoders.com.au
HOWTO Build Minsky for Linux - Step-by-Step
2016-Jan-19 RCT
BACKGROUND
I was interested in running Minsky after seeing some of Steve Keen's video lectures.
Unfortunately, I experienced several disappointing crashes with the windows download after spending lots of time building a small economic model. When I learned that Minsky was originally built on Linux, I figured it might be more stable running there and allow me to focus on using the program, even if I have to run it from a virtual machine. Since I could not readily find a linux package of Minsky for Debian, I thought I would try a clean build. I was also hoping this would allow people who have more experience with package creation than me to create stable packages for linux distributions.
In searching the WiKi I came across this reference http://sourceforge.net/p/minsky/wiki/Building%20Minsky as a response to a request for step-by-step build instructions. These instructions provide great direction for a certain subset of people who might be interested in running Minsky--especially those who have extensive experience building source-forge projects--but are hardly a step-by-step list. Figuring that the developer has many other, more important things to do, I reckoned this could be my small contribution to the Minsky project.
This instruction was for a Debian Jessie build of minsky D1.45 and may work with minor changes for other distributions and versions.
SETUP VIRTUAL MACHINE (Skip if you already have a Debian system to use.)
First downloaded a network install image from
http://cdimage.debian.org/debian-cd/8.3.0/amd64/iso-cd/debian-8.3.0-amd64-netinst.iso
Note: You will need to get a 32-bit version if your OS is not 64-bit.
While this is downloading, grab and install virtual box version 5.0.14 from https://www.virtualbox.org/wiki/Downloads. Again, pay attention to whether you have 32-bit or 64-bit machine. If in doubt, go with 32-bit.
With virtual box, creat a virtual machine called Minsky with at least 4GB of RAM and a 10GB VHI disk. Mount the debian iso image using the Windows 10 mount option (right click the file to see this) and started the virtual machine to initiate the installation of Linux. If you can't mount the image on your OS, then burn the ISO to a CD or DVD and install it in your optical drive. See the Debian installation instructions if this doesn't work for you.
As part of the install dialogue, you can select all of the default options except you should setup the disk with the LVM option to use entire disk. This makes repartitioning a little easier to use the virtual disk for other purposes.
The linux install will take some time, possibly hours depending on your internet connection and machine. After it finishes, install GRUB 2 on /dev/sda.
GET PREREQUISITES
Log in as a normal user, and open a terminal window. Execute "su" at the command prompt to become root and install packages for the builds:
root@minsky:/home/rct# apt-get update
root@minsky:/home/rct# apt-get upgrade
root@minsky:/home/rct# apt-get install gcc tcl-dev tk-dev libboost-all-dev libjson0-dev
root@minsky:/home/rct# apt-get install libjson-spirit-dev libpango1.0-dev librsvg2-dev
root@minsky:/home/rct# apt-get install libgsl0-dev cmake emacs
You can install all the packages with a single command if you prefer. Now that the required libraries and tools are installed, exit root or superuser mode (just type "exit" at the command prompt) to return to normal user mode.
root@minsky:/home/rct# exit
rct@minsky:~$
One more preliminary package is required. Issue the following command from a terminal command line:
rct@minsky:~$ wget http://downloads.sourceforge.net/project/minsky/Sources/TkTable.2.11.D3.tar.gz
Or open a browser to: http://sourceforge.net/projects/minsky/files/Sources/ and download the TkTable.2.11.D3.tar.gz file. Them move it from the ~/Downloads directory to ~/.
Now expand, build and install this source by following the example:
rct@minsky:~$ tar xvf Tktable2.11.D3.tar.gz
rct@minsky:~$ cd Tktable2.11.D3
rct@minsky:~/TkTable.2.11.D3$ ./configure
rct@minsky:~/TkTable.2.11.D3$ make
rct@minsky:~/TkTable.2.11.D3$ su
root@minsky:/home/rct/TkTable.2.11.D3# cp TkTable.2.11.so /usr/local/lib
root@minsky:/home/rct/TkTable.2.11.D3# exit
rct@minsky:~/TkTable.2.11.D3$ cd
rct@minsky:~$
Now get ecolab source
rct@minsky:~$ wget http://downloads.sourceforge.net/project/ecolab/ecolab/5/ecolab.5.D28.tar.gz
or by opening a browser window to http://sourceforge.net/projects/ecolab/files/ecolab/5/5.D1/ and download the archive and move it to your default directory.
Expand, build and install ecolab as per this example:
rct@minsky:~$ tar xvf ecolab.5.D28.tar.gz
rct@minsky:~$ cd ecolab.5.D28
rct@minsky:~/ecolab.5.D28$ make
rct@minsky:~/ecolab.5.D28$ su
root@minsky:/home/rct/ecolab.5.D28# make install PREFIX=/usr/local/ecolab
root@minsky:/home/rct/ecolab.5.D28# exit
rct@minsky:~/ecolab.5.D28$ cd
rct@minsky:~$
BUILD MINSKY
Now get minsky source.
rct@minsky:~$ wget http://downloads.sourceforge.net/projects/minsky/Sources/Minsky.1.D45.tar.gz
or by opening a browser window to the link shown previously for TkTable and move the file to your user default directory.
Expand and build as per this example:
rct@minsky:~$ tar xvf Minsky.1.D45.tar.gz
rct@minsky:~$ cd Minsky.1.D45
rct@minsky:~/Minsky.1.D45$ export LD_LIBRARY_PATY=/usr/local/lib
rct@minsky:~/Minsky.1.D45$ make
This will take a little while, but should finish without any errors.
Then, to run it:
rct@minsky:~/Minsky.1.D45$ cd GUI
rct@minsky:~$ ./minsky
You can create a little script
rct@minsky:~$ cd
rct@minsky:~$ cat > ~/Minsky.sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
explort LD_LIBRARY_PATH
~/Minsky.1.D45/GUI/minsky
^C
rct@minsky:~$ chmod a+x Minsky.sh
rct@minsky:~$
Then, anytime you want to run it type this from a command prompt:
rct@minsky:~$ ./Minsky.sh
These instructions should get you started. There are plenty of optimizations that could be made, but these instructions should get you started. We could have installed sudo to simplify some of the operations that required root priviledge, but that would have required an explanation of visudo.
Good luck with this. I hope it is useful to someone.
:Bob
On Mon, Feb 01, 2016 at 02:47:15AM +0000, Bob Tatar wrote:
Any chance you can reproduce these crashes with simple models?
Maybe, although I have to admit, that fatal bugs found in the Windows build
are usually bugs in the Linux build (though not necessariliy fatal).
Did you find the binary packages released at
https://software.opensuse.org/download.html?project=home%3Ahpcoder1&package=minsky
? If they don't work, please let me know. I'm pretty sure I tried the
Debian one at one stage.
I was also hoping this would allow people who have more experience with package creation than me to create stable packages for linux distributions.
...
^ This step should not be necessary. In any case, its "LD_LIBRARY_PATH"
...
Thanks Bob.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
Minksy installs fine for openSUSE 13.2 and openSUSE Leap 42.1 for
(x86_64) 64-bit.
Paul
On 1 February 2016 at 20:47, High Performance Coder
hpcoder@users.sf.net wrote:
Paul:
Thank you very much for your reply! And thank you for finding the LD_LIBRARY_PATH error and pointing out that it is not needed. I needed this prior to finding an etags error (fixed by installing emacs).
No, I had not previously seen the opensuse.org links. Thanks for the reference.
I hope my comments did not come off as being critical. You've done an outstanding job with the package as it is.
I'll see if I can reproduce the previous error on windows 10 & linux. I have not had any problems (so far) with the linux version.
:Bob
Hi - I work with a linux cluster and am wondering if there are any benefits to clustering this software over a local distributed network? is it Minsky multithreaded as I have a number of 20core v2 xeon machines? Will try to install using the above into a Linux distro - I prefer arch, redhat or fedora as ubuntu is too slow like windoze. Appreciate your feedback on those flavours. Thanks.
Last edit: Iva Buttrows 2017-07-04
On Tue, Jul 04, 2017 at 11:29:27AM +0000, Iva Buttrows wrote:
Minsky is not currently multithreaded. There may be some benefit to
running Minsky in batch mode on a cluster for doing ensemble
simulations, in which case any of the usual Linux distros will
do. However, presently the size model that can be readily created in
Minsky does not present much computational demand, so there is little
benefit from parallelising the code.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
What the hey?!? Not only are you debunking mainstream economics but you can do it on one thread? Can we infer then the lack of computational demand is in fact a symptom of the subject matter? Here I was all geared up to contribute a few dozen cpu's to the cause. Turns out you don't need it.
Last edit: Iva Buttrows 2017-07-06
On Thu, Jul 06, 2017 at 11:16:57PM +0000, Iva Buttrows wrote:
Ironic, isn't it. Yes, we have plans to allow minsky to scale up to
modeling larger systems, such as whole countrys and world economoies,
but the hard part is how to structure the canvas such that it is
feasible to create such large models. Already, a PhD student did a
whole country model of Portugal, and that stretched the bounds of
Minsky.
The easy part is parallelising the solver to run on multicore and
GPUs. That'll be done if/when we ever get enough funding to tackle the
large system problem.
Cheers
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
Hello. I'm trying to build Minsky 2.1 on Fedora. I believe I have installed the pre-requisites. I am getting the error
./constMap.h:45:10: fatal error: constMap.cd: No such file or directory
That file is a built file. What happens when you type
make constMap.cd
?
Cheers
On Mon, Dec 18, 2017 at 03:22:23PM -0000, Alexander Katovsky wrote:
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
Ah that generates the file. Thanks.
Maybe some dependency files were incorrectly generated, as that file
should have automatically be generated. You could try "make clean;
make" to see if it all goes through properly.
Cheers
On Tue, Dec 19, 2017 at 10:10:09AM -0000, Alexander Katovsky wrote:
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
Hi, I'm trying to build the file on Debian Stretch. at the moment (20181107) I'd guess that half the files are available only on Stretch and the rest on Jessie.
The only real contetion I have noticed on the packages is that libgsl0-dev is available only on Debian Jessie and that the later package on Stretch is virtual.
I seem to have got as far as 'make' on the ecolab package, which gives the following errors:
/usr/include/c++/6/array:90:12: note: template<class int="" _tp,="" unsigned="" long="" _nm=""> struct std::array
struct array
^~~~~
In file included from src/tcl_arrays.cc:10:0:
/home/K-Minsky/test/ecolab.5.D28/include/arrays.h:79:30: note: template<class t=""> class ecolab::array_ns::array
template <class t=""> class array;
^~~~~
src/tcl_arrays.cc:87:9: error: expected primary-expression before ‘double’
array<double> u(atoi(argv[1]));
^~~~~~
src/tcl_arrays.cc:89:3: error: ‘u’ was not declared in this scope
u=atof(argv[2]);
^
include/Makefile:563: recipe for target 'src/tcl_arrays.o' failed
make[1]: [src/tcl_arrays.o] Error 1
make[1]: Leaving directory '/home/K-Minsky/test/ecolab.5.D28'
Makefile:110: recipe for target 'ecolab-libs' failed
make: [ecolab-libs] Error 2
I do not recall any prior errors being mentioned. </double></class></class></class>
On Wed, Nov 07, 2018 at 05:20:28PM -0000, Richard A Lough wrote:
Minsky is available as a binary package for Debian 9 (aka "Stretch")
from
https://software.opensuse.org//download.html?project=home%3Ahpcoder1&package=minsky
. So it certainly builds and passes a "smoke test".
As for this, this looks like a conflict between ecolab::array (one of
the oldest classes in EcoLab, dating back to 1993) and std::array,
which only appeared in C++11. This required replacing references of
array with the qualified ecolab::array to prevent this from happening
on newer compilers. That said, I regularly compile EcoLab with the
latest g++, so I'm surprised there are still issues like this. Are you
sure you have the latest code?
Another thing is that in the aforementioned Debian stretch build, only
"make install" is performed. This skips building models and tests, so
I don't know if "make" on its own will succeed on Debian. I personally
use OpenSUSE Tumbleweed, and sometimes subtle distro dependent things
crop up.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au