<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ascend4.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Georgy</id>
	<title>ASCEND - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://ascend4.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Georgy"/>
	<link rel="alternate" type="text/html" href="https://ascend4.org/Special:Contributions/Georgy"/>
	<updated>2026-04-28T21:46:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Georgy&amp;diff=5650</id>
		<title>User:Georgy</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Georgy&amp;diff=5650"/>
		<updated>2016-06-26T23:04:34Z</updated>

		<summary type="html">&lt;p&gt;Georgy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Georgy Berdyshev&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to implement MSYS2 based build process for ASCEND and improve packaging for Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The main task is to improve the ASCEND build processes by creating a new MSYS2 based implementation by modifying and updating the current SCons build files.&lt;br /&gt;
&lt;br /&gt;
The introduction of MSYS2 for the build processes will bring many benefits to ASCEND, such as the possibility to build more easily 64 bit binaries on Windows and to be able to rely on a current gcc compiler suite from MinGW­w64.&lt;br /&gt;
&lt;br /&gt;
In contrast, the current build process has to rely on TDM­GCC (instead of MinGW used with MSYS) to be able to compile 32­bit and 64­bit binaries.&lt;br /&gt;
MSYS2 would bring many features to the project, such as the possibility to install dependencies in an easy manner and speed up the build process. But most importantly it has much better native Windows API support. Therefore providing a very feature rich and free base for the new build system of ASCEND.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Project details: https://summerofcode.withgoogle.com/dashboard/project/5090588751822848/details/&lt;br /&gt;
&lt;br /&gt;
== Using subversion ==&lt;br /&gt;
1) Subversion username and branch: {{srcbranchdir|georgy|}}&lt;br /&gt;
&lt;br /&gt;
2) Changes:&lt;br /&gt;
&lt;br /&gt;
http://code.ascend4.org/ascend/branches/georgy/?sortby=log&amp;amp;view=log&lt;br /&gt;
&lt;br /&gt;
The changes for this project are committed to github and synced regularly with the {{srcbranchdir|georgy|}} subversion branch.&lt;br /&gt;
&lt;br /&gt;
== Using git (github.com) ==&lt;br /&gt;
&lt;br /&gt;
1) Master branch contains merge code from the below branches, that is synced to the subversion branch.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/master master]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/master changes]&lt;br /&gt;
&lt;br /&gt;
2) MSYS2 branch contains msys2, swig and changes for mingw64 and native Python support.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/msys2/python msys2/python]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/msys2/python changes]&lt;br /&gt;
&lt;br /&gt;
3) NSIS3 branch contains support for a NSIS3 Windows based installer and further improvements.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/nsis3 nsis3]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/nsis3 changes]&lt;br /&gt;
&lt;br /&gt;
4) Sundials_2.6 branch contains support for using the newer sundials 2.6 version with ascend.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/sundials_2.6 sundials_2.6]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/sundials_2.6 changes]&lt;br /&gt;
&lt;br /&gt;
==Obtaining the source code==&lt;br /&gt;
1) Using subversion&lt;br /&gt;
&lt;br /&gt;
svn co http://code.ascend4.org/ascend/branches/georgy&lt;br /&gt;
&lt;br /&gt;
2) Using git&lt;br /&gt;
&lt;br /&gt;
git clone https://github.com/georgyberdyshev/ascend.git&lt;br /&gt;
&lt;br /&gt;
== Using MSYS2 ==&lt;br /&gt;
&lt;br /&gt;
MSYS2 is a new generation of MSYS that works with the &amp;lt;tt&amp;gt;[https://wiki.archlinux.org/index.php/pacman pacman]&amp;lt;/tt&amp;gt; package manager.&lt;br /&gt;
&lt;br /&gt;
After obtaining the source code, you can install the required pacman package by running the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
pacman -Syu&lt;br /&gt;
pacman -S vim&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk2 mingw-w64-x86_64-gcc \ &lt;br /&gt;
 mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-python2-numpy \ &lt;br /&gt;
 mingw-w64-x86_64-python2-pygtk subversion swig \ &lt;br /&gt;
 flex bison python2 scons pkgconfig \ &lt;br /&gt;
 mingw-w64-i686-python2&lt;br /&gt;
svn co svn://ascend4.org/code/trunk ascend&lt;br /&gt;
cd ascend&lt;br /&gt;
scons&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is important to note, that the current version of scons that is being used for the build relies on the msys Python package, that is broken.&lt;br /&gt;
Therefore it is required to bootstrap an alternative Python, even though scons runs via msys.&lt;br /&gt;
You may either provide a mingw64 install Python or the native win32 Python installation, by specifying the PYTHON variable to scons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
scons PYTHON=/c/Python27/python.exe&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
scons PYTHON=/mingw64/bin/python&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Project log ==&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/6962ef6c2ca36ff6cfff85e98c2daeac82619b82 Added SWIG 3 support. Fixes Unknown SWIG preprocessor directive error.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/a9e79e6bb410ea60eb1e3e6b7ad19923216c77bc Fix name of sundials-config command.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/6a0af5af9ada74fca34c24e2ded1859738484994 Detect SUNDIALS 2.6 on MinGW.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/6aa1673da8f26716b5a9080660e24331c38a5759 Detect SUNDIALS 2.6 on MinGW.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/026bd7814daaa17cc7484f012b945ed17449df16 Updated code to use NSISdl plugin.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/8e47a0eb9543933e7d08cd1655c08964b246b792 Added Unicode multi language installer and uninstaller with several languages.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/12eadeb43b8f481f4effe7b6e2ae0baf3556f36e Create NSIS Modern UI 2.0 based installers.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/58c01c61ea9efbb2668bd8e792ab8a299e6e8f14 Display ASCEND website as branding text.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/85ceb7985755a333c0b31c80ad5aaf9053841427 Added initial code to specify and detect the Python executable.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/a8289e3bbf16e27565fe618b0f7d36e7823204e0 Merge remote-tracking branch &#039;origin/nsis3&#039; into msys2/python]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/a0c72c8920e773516f0eea0ee1ddb3c97f35e3e4 Use /usr/bin/env to detect Python.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/c0614cb0273b79beb055fd7f822631c27738dd45 Use /usr/bin/env to detect Python.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/22ccdad3a5b3eca8ec51cb14fd7830f5181f8f28 Detect native win32 Python.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/74d3505f27f68cb566bdc1c732c44f3a75267bf6 Use os.path on Windows.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/2b724c6855d3e1963b5c109dff642abccea8585d Added functionality to detect Windows Python environment.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/17e9afa0b69f34f395c44b7a782858fa59eefeca Request Python environment when using msys2.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/4835282f161f3b53a6d4ab757aa6f366e255d11d Added functionality to detect Windows Python environment independently.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/4e7dd34bad7f1e00175aa916c39049d85531273a Detect bootstrapped Python environment.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/b8ec72f999f7af3f317dcfd1fb424cf29a82720b Added support to bootstrap mingw64 Python from msys2.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/4adaac1c3edcf54ab93634d1b7df6ffec37e9df0 Added functionality to detect additional lib paths for native Python on win32 and win64.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/3b9ed5ca884b0a54e43810821ace02a1cde75191 Show scons generated output files.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/1989b3ba3baa607ab32c111732a95aed1b5eda3f Fix SWIG compilation and Python lib paths.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/38642239f4b0cd846448a55e8356de67c321ab43 Fix compilation and Python lib paths.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/9e2bcb56560e34038036fb249a84d0881b425262 Updated NSIS detection.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/c2f265108f122fb44b82ec6f30ebeceb49157ca6 Updated Tcl detection.]&lt;br /&gt;
*[https://github.com/georgyberdyshev/ascend/commit/f1778f9a1891ea601fa17905fc3d4b9ae5fa67cb Merge branch &#039;sundials_2.6&#039; into msys2/python]&lt;br /&gt;
&lt;br /&gt;
[[Category:GSOC2016]]&lt;/div&gt;</summary>
		<author><name>Georgy</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Georgy&amp;diff=5649</id>
		<title>User:Georgy</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Georgy&amp;diff=5649"/>
		<updated>2016-06-26T22:51:05Z</updated>

		<summary type="html">&lt;p&gt;Georgy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Georgy Berdyshev&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to implement MSYS2 based build process for ASCEND and improve packaging for Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The main task is to improve the ASCEND build processes by creating a new MSYS2 based implementation by modifying and updating the current SCons build files.&lt;br /&gt;
&lt;br /&gt;
The introduction of MSYS2 for the build processes will bring many benefits to ASCEND, such as the possibility to build more easily 64 bit binaries on Windows and to be able to rely on a current gcc compiler suite from MinGW­w64.&lt;br /&gt;
&lt;br /&gt;
In contrast, the current build process has to rely on TDM­GCC (instead of MinGW used with MSYS) to be able to compile 32­bit and 64­bit binaries.&lt;br /&gt;
MSYS2 would bring many features to the project, such as the possibility to install dependencies in an easy manner and speed up the build process. But most importantly it has much better native Windows API support. Therefore providing a very feature rich and free base for the new build system of ASCEND.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Project details: https://summerofcode.withgoogle.com/dashboard/project/5090588751822848/details/&lt;br /&gt;
&lt;br /&gt;
== Using subversion ==&lt;br /&gt;
1) Subversion username and branch: {{srcbranchdir|georgy|}}&lt;br /&gt;
&lt;br /&gt;
2) Changes:&lt;br /&gt;
&lt;br /&gt;
http://code.ascend4.org/ascend/branches/georgy/?sortby=log&amp;amp;view=log&lt;br /&gt;
&lt;br /&gt;
The changes for this project are committed to github and synced regularly with the {{srcbranchdir|georgy|}} subversion branch.&lt;br /&gt;
&lt;br /&gt;
== Using git (github.com) ==&lt;br /&gt;
&lt;br /&gt;
1) Master branch contains merge code from the below branches, that is synced to the subversion branch.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/master master]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/master changes]&lt;br /&gt;
&lt;br /&gt;
2) MSYS2 branch contains msys2, swig and changes for mingw64 and native Python support.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/msys2/python msys2/python]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/msys2/python changes]&lt;br /&gt;
&lt;br /&gt;
3) NSIS3 branch contains support for a NSIS3 Windows based installer and further improvements.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/nsis3 nsis3]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/nsis3 changes]&lt;br /&gt;
&lt;br /&gt;
4) Sundials_2.6 branch contains support for using the newer sundials 2.6 version with ascend.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/sundials_2.6 sundials_2.6]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/sundials_2.6 changes]&lt;br /&gt;
&lt;br /&gt;
==Obtaining the source code==&lt;br /&gt;
1) Using subversion&lt;br /&gt;
&lt;br /&gt;
svn co http://code.ascend4.org/ascend/branches/georgy&lt;br /&gt;
&lt;br /&gt;
2) Using git&lt;br /&gt;
&lt;br /&gt;
git clone https://github.com/georgyberdyshev/ascend.git&lt;br /&gt;
&lt;br /&gt;
== Using MSYS2 ==&lt;br /&gt;
&lt;br /&gt;
MSYS2 is a new generation of MSYS that works with the &amp;lt;tt&amp;gt;[https://wiki.archlinux.org/index.php/pacman pacman]&amp;lt;/tt&amp;gt; package manager.&lt;br /&gt;
&lt;br /&gt;
After obtaining the source code, you can install the required pacman package by running the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
pacman -Syu&lt;br /&gt;
pacman -S vim&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk2 mingw-w64-x86_64-gcc \ &lt;br /&gt;
 mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-python2-numpy \ &lt;br /&gt;
 mingw-w64-x86_64-python2-pygtk subversion swig \ &lt;br /&gt;
 flex bison python2 scons pkgconfig \ &lt;br /&gt;
 mingw-w64-i686-python2&lt;br /&gt;
svn co svn://ascend4.org/code/trunk ascend&lt;br /&gt;
cd ascend&lt;br /&gt;
scons&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is important to note, that the current version of scons that is being used for the build relies on the msys Python package, that is broken.&lt;br /&gt;
Therefore it is required to bootstrap an alternative Python, even though scons runs via msys.&lt;br /&gt;
You may either provide a mingw64 install Python or the native win32 Python installation, by specifying the PYTHON variable to scons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
scons PYTHON=/c/Python27/python.exe&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
scons PYTHON=/mingw64/bin/python&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GSOC2016]]&lt;/div&gt;</summary>
		<author><name>Georgy</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Georgy&amp;diff=5648</id>
		<title>User:Georgy</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Georgy&amp;diff=5648"/>
		<updated>2016-06-26T22:42:25Z</updated>

		<summary type="html">&lt;p&gt;Georgy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Georgy Berdyshev&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to implement MSYS2 based build process for ASCEND and improve packaging for Mac.&lt;br /&gt;
&lt;br /&gt;
Project details: https://summerofcode.withgoogle.com/dashboard/project/5090588751822848/details/&lt;br /&gt;
&lt;br /&gt;
== Using subversion ==&lt;br /&gt;
1) Subversion username and branch: {{srcbranchdir|georgy|}}&lt;br /&gt;
&lt;br /&gt;
2) Changes:&lt;br /&gt;
&lt;br /&gt;
http://code.ascend4.org/ascend/branches/georgy/?sortby=log&amp;amp;view=log&lt;br /&gt;
&lt;br /&gt;
The changes for this project are committed to github and synced regularly with the {{srcbranchdir|georgy|}} subversion branch.&lt;br /&gt;
&lt;br /&gt;
== Using git (github.com) ==&lt;br /&gt;
&lt;br /&gt;
1) Master branch contains merge code from the below branches, that is synced to the subversion branch.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/master master]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/master changes]&lt;br /&gt;
&lt;br /&gt;
2) MSYS2 branch contains msys2, swig and changes for mingw64 and native Python support.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/msys2/python msys2/python]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/msys2/python changes]&lt;br /&gt;
&lt;br /&gt;
3) NSIS3 branch contains support for a NSIS3 Windows based installer and further improvements.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/nsis3 nsis3]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/nsis3 changes]&lt;br /&gt;
&lt;br /&gt;
4) Sundials_2.6 branch contains support for using the newer sundials 2.6 version with ascend.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/sundials_2.6 sundials_2.6]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/sundials_2.6 changes]&lt;br /&gt;
&lt;br /&gt;
==Obtaining the source code==&lt;br /&gt;
1) Using subversion&lt;br /&gt;
&lt;br /&gt;
svn co http://code.ascend4.org/ascend/branches/georgy&lt;br /&gt;
&lt;br /&gt;
2) Using git&lt;br /&gt;
&lt;br /&gt;
git clone https://github.com/georgyberdyshev/ascend.git&lt;br /&gt;
&lt;br /&gt;
== Using MSYS2 ==&lt;br /&gt;
&lt;br /&gt;
MSYS2 is a new generation of MSYS that works with the &amp;lt;tt&amp;gt;[https://wiki.archlinux.org/index.php/pacman pacman]&amp;lt;/tt&amp;gt; package manager.&lt;br /&gt;
&lt;br /&gt;
After obtaining the source code, you can install the required pacman package by running the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
pacman -Syu&lt;br /&gt;
pacman -S vim&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk2 mingw-w64-x86_64-gcc \ &lt;br /&gt;
 mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-python2-numpy \ &lt;br /&gt;
 mingw-w64-x86_64-python2-pygtk subversion swig \ &lt;br /&gt;
 flex bison python2 scons pkgconfig \ &lt;br /&gt;
 mingw-w64-i686-python2&lt;br /&gt;
svn co svn://ascend4.org/code/trunk ascend&lt;br /&gt;
cd ascend&lt;br /&gt;
scons&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is important to note, that the current version of scons that is being used for the build relies on the msys Python package, that is broken.&lt;br /&gt;
Therefore it is required to bootstrap an alternative Python, even though scons runs via msys.&lt;br /&gt;
You may either provide a mingw64 install Python or the native win32 Python installation, by specifying the PYTHON variable to scons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
scons PYTHON=/c/Python27/python.exe&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
scons PYTHON=/mingw64/bin/python&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GSOC2016]]&lt;/div&gt;</summary>
		<author><name>Georgy</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Georgy&amp;diff=5647</id>
		<title>User:Georgy</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Georgy&amp;diff=5647"/>
		<updated>2016-06-26T22:34:45Z</updated>

		<summary type="html">&lt;p&gt;Georgy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Georgy Berdyshev&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to implement MSYS2 based build process for ASCEND and improve packaging for Mac.&lt;br /&gt;
&lt;br /&gt;
Project details: https://summerofcode.withgoogle.com/dashboard/project/5090588751822848/details/&lt;br /&gt;
&lt;br /&gt;
== Using subversion ==&lt;br /&gt;
1) Subversion username and branch: {{srcbranchdir|georgy|}}&lt;br /&gt;
&lt;br /&gt;
2) Changes:&lt;br /&gt;
&lt;br /&gt;
http://code.ascend4.org/ascend/branches/georgy/?sortby=log&amp;amp;view=log&lt;br /&gt;
&lt;br /&gt;
The changes for this project are committed to github and synced regularly with the {{srcbranchdir|georgy|}} subversion branch.&lt;br /&gt;
&lt;br /&gt;
== Using git (github.com) ==&lt;br /&gt;
&lt;br /&gt;
1) Master branch contains merge code from the below branches, that is synced to the subversion branch.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/master master]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/master changes]&lt;br /&gt;
&lt;br /&gt;
2) MSYS2 branch contains msys2, swig and changes for mingw64 and native Python support.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/msys2/python msys2/python]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/msys2/python changes]&lt;br /&gt;
&lt;br /&gt;
3) NSIS3 branch contains support for a NSIS3 Windows based installer and further improvements.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/nsis3 nsis3]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/nsis3 changes]&lt;br /&gt;
&lt;br /&gt;
4) Sundials_2.6 branch contains support for using the newer sundials 2.6 version with ascend.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/tree/sundials_2.6 sundials_2.6]&lt;br /&gt;
[https://github.com/georgyberdyshev/ascend/commits/sundials_2.6 changes]&lt;br /&gt;
&lt;br /&gt;
==Obtaining the source code==&lt;br /&gt;
1) Using subversion&lt;br /&gt;
&lt;br /&gt;
svn co http://code.ascend4.org/ascend/branches/georgy&lt;br /&gt;
&lt;br /&gt;
2) Using git&lt;br /&gt;
&lt;br /&gt;
git clone https://github.com/georgyberdyshev/ascend.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSOC2016]]&lt;/div&gt;</summary>
		<author><name>Georgy</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=Building_ASCEND&amp;diff=5646</id>
		<title>Building ASCEND</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=Building_ASCEND&amp;diff=5646"/>
		<updated>2016-06-26T22:07:23Z</updated>

		<summary type="html">&lt;p&gt;Georgy: /* Using MSYS2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains specific instructions for building ASCEND on systems that we know about. First you should read about our [[version management]] for information on how to get hold of the source code.&lt;br /&gt;
&lt;br /&gt;
Building ASCEND requires the [http://www.scons.org/ SCons] build tool. In our opinion, SCons is a significant advance on Autotools, so we encourage you to give it a chance, if you&#039;re not familiar with it. If you are interested in the implementation details of our build scripts, please see our [[developer&#039;s manual#Build system|developer&#039;s manual]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you are having trouble building ASCEND, it might be worth checking out the [[BuildBot]] (link [http://build.ascend4.org/waterfall here]) to see if the latest sources have compiled correctly on our test server.&lt;br /&gt;
&lt;br /&gt;
== General instructions ==&lt;br /&gt;
&lt;br /&gt;
Building with SCons (as of Jun 2010, we recommend version 1.x) should be as simple as typing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;scons&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get info on the [[SCons_options_for_building_ASCEND|current build options]] by typing &amp;lt;tt&amp;gt;scons -Qh&amp;lt;/tt&amp;gt;. To clean up after your build, type &amp;lt;tt&amp;gt;scons -c&amp;lt;/tt&amp;gt;. To include any building options, type &amp;lt;tt&amp;gt;scons&amp;lt;/tt&amp;gt; followed by options. For instance, type &amp;lt;tt&amp;gt;scons WITH_LOCAL_HELP = /usr/local/share/ascend/manual&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Any build option that you see in &amp;lt;tt&amp;gt;scons -Qh&amp;lt;/tt&amp;gt; can be entered into a file &amp;lt;tt&amp;gt;config.py&amp;lt;/tt&amp;gt; that you can create in the root source directory (ie &amp;lt;tt&amp;gt;~/src/ascend/trunk&amp;lt;/tt&amp;gt;). For example, you might create a config.py file like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;WITH_LOCAL_HELP = /usr/local/share/ascend/manual&lt;br /&gt;
DEFAULT_ASCENDLIBRARY = /usr/local/share/ascend/models&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, if you want to set configuration options so that they always get applied, edit your &amp;lt;tt&amp;gt;config.py&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
On top of that, you should also be aware that the SCons build will cache your build options in a file called &amp;lt;tt&amp;gt;options.cache&amp;lt;/tt&amp;gt;. That means that if you type a scons command with command-line options, then later without those command line options, the options from the first run will still be there, because they will have been saved in the cache.&lt;br /&gt;
&lt;br /&gt;
A major fiddle with SCons, especially on Windows, is ensuring that all the required programs are present in your path. You need to install Bison (from the GnuWin32 project). For SCons to run correctly from the MSYS command line, you will also need to add &amp;lt;tt&amp;gt;/c/Python25/Scripts:/c/Python25&amp;lt;/tt&amp;gt; to your path, so that the &#039;scons&#039; script is discovered.&lt;br /&gt;
&lt;br /&gt;
The SCons system will manage the building of FORTRAN components and is able to link to an installed version of CONOPT.&lt;br /&gt;
&lt;br /&gt;
For instructions on building with Autotools, see the old versions of this page. We&#039;re not actively supporting the Autotools build any more.&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;tt&amp;gt;scons&amp;lt;/tt&amp;gt; will create a locally-executable version of ASCEND that can be run from the source tree (&amp;lt;tt&amp;gt;pygtk/ascdev&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;tcltk/generic/interface/ascend4&amp;lt;/tt&amp;gt;, possibly subject to some environment variable settings. Alternatively, you can install ASCEND and run it from a &#039;proper&#039; location such as ~/bin/ascend or /usr/bin/ascend, etc. To install files for ASCEND, run&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;scons install INSTALL_PREFIX=/usr/local&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above will install the PyGTK GUI at /usr/local/bin/ascend and the Tcl/Tk GUI at /usr/local/bin/ascend4. Other sensible values of INSTALL_PREFIX include &amp;lt;tt&amp;gt;~/ascend&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;~&amp;lt;/tt&amp;gt;, which will install the PyGTK GUI at ~/ascend/bin/ascend and ~/bin/ascend respectively. These latter ones are good if you don&#039;t have root privileges on your system. There are a range of other INSTALL_* options available with our build script, type &amp;lt;tt&amp;gt;scons -qH&amp;lt;/tt&amp;gt; to see them. Also note the importance of the &amp;lt;tt&amp;gt;ABSOLUTE_PATHS&amp;lt;/tt&amp;gt; option for our build script. Note then when you run &#039;&amp;lt;tt&amp;gt;scons install&amp;lt;/tt&amp;gt;&#039; you don&#039;t get all the files in the model library, you only get a filter set according to the [[PACKAGE metafiles]] contained in the [[ModelLibrary]].&lt;br /&gt;
&lt;br /&gt;
Some more details on the implementation of the ASCEND build process via SCons is given in [[Developer&#039;s_Manual#Build_system]].&lt;br /&gt;
&lt;br /&gt;
=== Tcl/Tk GUI ===&lt;br /&gt;
&lt;br /&gt;
In order to build the original Tck/Tk GUI, you need a Tcl/Tk distribution. Recently we have modified ASCEND so that it can run with Tcl/Tk 8.4. Standard Tcl/Tk binary packages can be used, such as those included in Fedora Core 5 (Note, the tcl-devel and tk-devel packages required as well). For Windows they available from ActiveState, see:&lt;br /&gt;
&lt;br /&gt;
http://www.activestate.com/activetcl&lt;br /&gt;
&lt;br /&gt;
At present, detection of Tcl/Tk is not particularly sophisticated. &amp;lt;tt&amp;gt;SConstruct&amp;lt;/tt&amp;gt; just looks for &amp;lt;tt&amp;gt;tcl.h&amp;lt;/tt&amp;gt; in your standard include path. So you might need to tweak. Check the &amp;lt;tt&amp;gt;scons -h&amp;lt;/tt&amp;gt; list of configuration options for more. On Debian-based systems, try something like &amp;lt;tt&amp;gt;scons TCL_CPPPATH=/usr/include/tcl8.4&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PyGTK GUI ===&lt;br /&gt;
&lt;br /&gt;
You will need to have SWIG 1.3.24 or newer and Python 2.4 or newer installed. These are both easy to install for both Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
To run the PyGTK interface requires more dependencies, see the [[PythonWrapper]] page for full details.&lt;br /&gt;
&lt;br /&gt;
== Instructions for Linux ==&lt;br /&gt;
&lt;br /&gt;
In general, see [[Prerequisites for Linux]]. You will be using &amp;lt;tt&amp;gt;scons&amp;lt;/tt&amp;gt; to build ASCEND. We update these distribution-specific notes at the time that we implement support for that particular distro, so it&#039;s possible that if you&#039;re using an old distro, you may need to go back and use an old version of the code.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
===== Ubuntu 16.04 LTS =====&lt;br /&gt;
&lt;br /&gt;
As of {{changeset|3106}}, ASCEND builds with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
sudo apt-get install subversion gcc g++ gfortran flex bison scons swig doxygen \&lt;br /&gt;
 tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev tk-table graphviz graphviz-dev \&lt;br /&gt;
 python2.7 python2.7-dev libgtk2.0-0 python-gtk2 python-matplotlib python-numpy ipython \&lt;br /&gt;
 liblapack-dev libblas-dev libsundials-serial-dev coinor-libipopt-dev \&lt;br /&gt;
 libcunit1-dev libmumps-seq-dev&lt;br /&gt;
svn co http://svn.ascend4.org/trunk ascend&lt;br /&gt;
cd ascend&lt;br /&gt;
scons -j4&lt;br /&gt;
pygtk/ascdev models/johnpye/fprops/rankine_fprops.a4c -m rankine_water&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As noted below, currently an earlier version of SUNDIALS is needed if you want to be able to run the [[IDA]] solver. Alternatively, you can use the {{srcbranchdir|ksenija2||}} branch, which has support for SUNDIALS 2.5.0 already ([[User:Ksenija|Ksenija]] can tell you more).&lt;br /&gt;
&lt;br /&gt;
As noted below, ASCEND may have difficulties if your computer is in a locale where your decimal separate is not &amp;quot;.&amp;quot;. See below for locale setting changes that can be made in that case, to work around this issue.&lt;br /&gt;
&lt;br /&gt;
If you wish to install ASCEND properly on your system, use &amp;lt;tt&amp;gt;scons dist&amp;lt;/tt&amp;gt; and our {{dtar}} tool to create .deb packages.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 14.04.4 LTS ====&lt;br /&gt;
&lt;br /&gt;
The following packages are needed for setting up Ascend:&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
sudo apt-get install subversion gcc g++ gfortran flex bison scons swig doxygen \&lt;br /&gt;
 tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev tk-table graphviz graphviz-dev \&lt;br /&gt;
 python2.7 python2.7-dev libgtk2.0-0 python-gtk2 python-matplotlib python-numpy ipython \&lt;br /&gt;
 liblapack-dev libblas-dev libsundials-serial-dev coinor-libipopt-dev \&lt;br /&gt;
 libcunit1-dev libmumps-seq-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use SUNDIALS you have to download version 2.4.0 from the SUNDIALS webpage: http://computation.llnl.gov/casc/sundials/download/download.php&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
tar xzf sundials-2.4.0.tar.gz&lt;br /&gt;
cd sundials-2.4.0&lt;br /&gt;
./configure&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation process for Ascend looks as follows (go to your home folder /home/USERNAME/):&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
svn co http://svn.ascend4.org/trunk ascend&lt;br /&gt;
&lt;br /&gt;
cd ascend/&lt;br /&gt;
&lt;br /&gt;
scons $WITH_GRAPHVIZ = /usr/lib/graphviz WITH_DOC=0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The last command gives the following output:&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
{&#039;DISTRIB_CODENAME&#039;: &#039;trusty&#039;, &#039;DISTRIB_RELEASE&#039;: &#039;14.04&#039;, &#039;DISTRIB_ID&#039;: &#039;Ubuntu&#039;, &#039;DISTRIB_DESCRIPTION&#039;: &#039;&amp;quot;Ubuntu 14.04.4 LTS&amp;quot;&#039;}&lt;br /&gt;
GRAPHVIZ_LIBS = [&#039;gvc&#039;, &#039;cgraph&#039;, &#039;cdt&#039;]&lt;br /&gt;
GRAPHVIZ_LIBPATH = None&lt;br /&gt;
GRAPHVIZ_CPPPATH = [&#039;/usr/include/graphviz&#039;]&lt;br /&gt;
CHECKING SUNDIALS&lt;br /&gt;
SUNDIALS_LIBS = [&#039;sundials_ida&#039;, &#039;sundials_nvecserial&#039;, &#039;m&#039;]&lt;br /&gt;
SUNDIALS_LIBPATH = [&#039;/usr/local/lib&#039;]&lt;br /&gt;
SUNDIALS_CPPPATH = [&#039;/usr/local/include&#039;]&lt;br /&gt;
IPOPT_LIBS = [&#039;ipopt&#039;, &#039;lapack&#039;, &#039;dmumps&#039;, &#039;mpi&#039;, &#039;gfortran&#039;, &#039;gcc_s&#039;, &#039;quadmath&#039;, &#039;blas&#039;, &#039;m&#039;, &#039;dl&#039;]&lt;br /&gt;
IPOPT_LIBPATH = [&#039;/usr/lib/gcc/x86_64-linux-gnu/4.8&#039;, &#039;/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu&#039;, &#039;/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib&#039;, &#039;/lib/../lib&#039;, &#039;/usr/lib/../lib&#039;, &#039;/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..&#039;]&lt;br /&gt;
IPOPT_CPPPATH = [&#039;/usr/include/coin&#039;]&lt;br /&gt;
Checking C compiler (&#039;gcc&#039;)... (cached) yes&lt;br /&gt;
Checking C++ compiler (&#039;g++&#039;)... (cached) yes&lt;br /&gt;
Checking for AddressSanitizer... (cached) no&lt;br /&gt;
Checking for C header file stdio.h... (cached) yes&lt;br /&gt;
Checking size of unsigned long long ... (cached) yes&lt;br /&gt;
Checking size of unsigned long ... (cached) yes&lt;br /&gt;
Checking size of int ... (cached) yes&lt;br /&gt;
Checking size of void * ... (cached) yes&lt;br /&gt;
Checking size of long ... (cached) yes&lt;br /&gt;
Checking size of unsigned int ... (cached) yes&lt;br /&gt;
Checking size of long long ... (cached) yes&lt;br /&gt;
Checking for C function sprintf()... (cached) yes&lt;br /&gt;
Checking for erf... (cached) yes&lt;br /&gt;
Checking for C function strdup()... (cached) yes&lt;br /&gt;
Checking for C function snprintf()... (cached) yes&lt;br /&gt;
Checking for C function cpow()... (cached) yes&lt;br /&gt;
Checking for IEEE math library... (cached) yes&lt;br /&gt;
Checking for malloc...(cached) yes&lt;br /&gt;
Checking for C function isnan()... (cached) yes&lt;br /&gt;
Checking for GCC... (cached) yes&lt;br /&gt;
Checking for GCC &#039;visibility&#039; capability... (cached) yes&lt;br /&gt;
Checking SIGINT is catchable... (cached) yes&lt;br /&gt;
Checking C99 FPE behaviour... (cached) yes&lt;br /&gt;
Checking signal handler reset... (cached) not required&lt;br /&gt;
Checking for Yacc (&#039;bison&#039;)... (cached) yes&lt;br /&gt;
Checking for Lex (&#039;flex&#039;)... (cached) yes&lt;br /&gt;
Checking for yylex_destroy... (cached) yes&lt;br /&gt;
Checking for tcl... (cached) yes&lt;br /&gt;
Checking Tcl version... (cached) 8.4.20, good&lt;br /&gt;
Checking for tk... (cached) yes&lt;br /&gt;
Checking Tk version... (cached) 8.4.20 (good)&lt;br /&gt;
Checking for libpython... (cached) yes&lt;br /&gt;
Checking version of SWIG... (cached) ok, 2.0.11&lt;br /&gt;
Checking for cunit... (cached) yes&lt;br /&gt;
Checking for graphviz cgraph... (cached) yes&lt;br /&gt;
Checking for graphviz &#039;boolean&#039; definition... (cached) yes&lt;br /&gt;
Checking for cxsparse... (cached) no&lt;br /&gt;
Checking for SUNDIALS... 2.4.0, good&lt;br /&gt;
Checking for IDA... no&lt;br /&gt;
Checking for CONOPT... no&lt;br /&gt;
Checking for IPOPT... yes&lt;br /&gt;
Checking for C library blas... yes&lt;br /&gt;
Checking Fortran compiler (&#039;gfortran&#039;)...yes&lt;br /&gt;
DYNAMIC TCL/TK PROGRAM LINKAGE&lt;br /&gt;
ASC4DEV&lt;br /&gt;
PYTHON_CPPPATH = [&#039;/usr/include/python2.7&#039;]&lt;br /&gt;
OBJS = [&#039;integrator.os&#039;, &#039;samplelist.os&#039;]&lt;br /&gt;
Skipping... BLAS won&#039;t be built: Found BLAS installed on system&lt;br /&gt;
Skipping... IDA won&#039;t be built: Unable to compile/link against SUNDIALS/IDA&lt;br /&gt;
FOUND &#039;PACKAGE&#039; file in ....&lt;br /&gt;
Skipping... Windows installer isn&#039;t being built: NSIS not found&lt;br /&gt;
Skipping... Documentation isn&#039;t being built: disabled by with_doc&lt;br /&gt;
Building targets: /usr/lib/graphviz&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
scons: `/usr/lib/graphviz&#039; is up to date.&lt;br /&gt;
scons: done building targets.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The AddressSanitizer and cxsparse were experimental tools that could probably well be removed from ASCEND. The former was an attempt to track down some really tricky crashes when ASCEND was ported to 64-bit Windows. The latter was used to export matrices from the solver, for example for sparsity plotting and validation. CXSparse would actually be quite a useful basis for writing a new solver for ASCEND.&lt;br /&gt;
&lt;br /&gt;
As mentioned above running scons will create a locally-executable version of ASCEND that can be run from the source tree (pygtk/ascdev or tcltk/generic/interface/ascend4; possibly subject to some environment variable settings).&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
scons&lt;br /&gt;
&lt;br /&gt;
pygtk/ascdev PATHtoMODEL.a4c&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You have to change the locale setting (e.g. en_US.UTF-8) which uses a point as a decimal separator when running Ascend otherwise you will get an error message which states that your system uses a comma character as a decimal separator. Restart your shell after changing your locale settings.&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can install ASCEND and run it from a &#039;proper&#039; location such as ~/bin/ascend or /usr/bin/ascend, etc. To install files for ASCEND, run&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
scons install INSTALL_PREFIX=/usr/local&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Read the General instructions paragraph for more information.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 13.10 ====&lt;br /&gt;
&lt;br /&gt;
At changeset 4605, ASCEND builds fine with the instructions for Ubuntu 12.04 LTS below. The modification to &amp;lt;tt&amp;gt;ipopt.pc&amp;lt;/tt&amp;gt; is still required. This was tested on a 64-bit Ubuntu 13.10 system (in VirtualBox) and there is a still a 64-bit issue present in ASCEND at the current revision. We presume this is still some form of {{bug|564}}.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 12.04 LTS ====&lt;br /&gt;
&lt;br /&gt;
Tested with trunk {{changeset|4077}} on Ubuntu 12.04 LTS Precise (beta 2, 32-bit, VirtualBox), 11 Apr 2012.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
sudo apt-get install subversion swig g++ gfortran python-dev scons flex bison \&lt;br /&gt;
 graphviz-dev libsundials-serial-dev liblapack-dev libblas-dev ipython \&lt;br /&gt;
 python-matplotlib coinor-libipopt-dev libmumps-seq-dev&lt;br /&gt;
svn co http://svn.ascend4.org/trunk/ ascend&lt;br /&gt;
cd ascend&lt;br /&gt;
scons&lt;br /&gt;
pygtk/ascdev models/johnpye/testlog10.a4c&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[IDA]] works correctly using the packaged versions from Ubuntu. To get support for [[IPOPT]], you need to manually edit /usr/lib/pkgconfig/ipopt.pc and replace &amp;lt;tt&amp;gt;-ldmumps&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;-ldmumps_seq&amp;lt;/tt&amp;gt;. See [https://bugs.launchpad.net/ubuntu/+source/coinor-ipopt/+bug/978196 launchpad bug 978196]. If you use &amp;lt;tt&amp;gt;libmumps-dev&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;libmumps-seq-dev&amp;lt;/tt&amp;gt; you will get a crash, because ASCEND doesn&#039;t attempt to set up an MPI instance around IPOPT. CUnit works correctly following [[Developer&#039;s Manual#CUnit_test_suites|these instructions]].&lt;br /&gt;
&lt;br /&gt;
To enable building of the documentation (PDF from LyX sources) you also should install &amp;lt;tt&amp;gt;lyx&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lmodern&amp;lt;/tt&amp;gt;. Currently the documentation requires LyX 2.1, so in the case of Ubuntu 12.04, you will need to install this more recent version of LyX from [https://launchpad.net/~lyx-devel/+archive/ubuntu/release?field.series_filter=precise ppa:lyx-devel/release].&lt;br /&gt;
&lt;br /&gt;
We are still testing [[CONOPT]] and [[CMSlv]].&lt;br /&gt;
&lt;br /&gt;
Yet to test: [[dtar]]. Some new package dependencies (libmumps-seq-dev, and the changes to ipopt.pc) could make this difficult.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 11.10 ====&lt;br /&gt;
&lt;br /&gt;
Tested with trunk {{changeset|3840}} on Ubuntu Oneiric 11.10 32-bit in a VirtualBox machine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
sudo apt-get install subversion swig g++ gfortran python-dev scons flex bison \&lt;br /&gt;
 graphviz-dev libsundials-serial-dev liblapack-dev libblas-dev ipython \&lt;br /&gt;
 python-matplotlib&lt;br /&gt;
svn co svn://ascend4.org/code/trunk ascend&lt;br /&gt;
cd ascend&lt;br /&gt;
scons&lt;br /&gt;
pygtk/ascdev models/johnpye/testlog10.a4c&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are some warnings &#039;Unable to locate theme engine in module_path: &amp;quot;pixmap&amp;quot;&#039; if gtk-engines-pixbuf is not installed, but basically seems to be working fine. If you want to create a binary package suitable for this release,see [[dtar]], but note that currently (Oct 2011) we haven&#039;t yet made the necessary changes to related {{srcdir|debian}} file(s). Note that Oneiric comes with SWIG 1.3.40, so no problems with {{bug|517}} at this stage.&lt;br /&gt;
&lt;br /&gt;
Note yet tested: [[IDA]], [[IPOPT]], [[CONOPT]], [[dtar]].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 11.04 ====&lt;br /&gt;
&lt;br /&gt;
Tested with trunk {{changeset|3618}} on Ubuntu Natty 11.04 32-bit. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
sudo apt-get install subversion swig g++ gfortran python-dev scons flex bison \&lt;br /&gt;
 graphviz-dev libsundials-serial-dev liblapack-dev tcl8.5-dev tk8.5-dev \&lt;br /&gt;
 libtktable2.9 libblas-dev ipython python-matplotlib&lt;br /&gt;
scons -j2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not yet tested: [[CONOPT]], [[IPOPT]], [[IDA]], [[dtar]]. Otherwise all appears fine when running with &amp;lt;tt&amp;gt;pygtk/ascdev&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To install, try &amp;lt;tt&amp;gt;sudo scons install INSTALL_PREFIX=/usr/local&amp;lt;/tt&amp;gt;. After that, you may need to &amp;lt;tt&amp;gt;export LD_LIBRARY_PATH=/usr/local/lib&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;lib64&amp;lt;/tt&amp;gt;) before it runs (with the command &amp;lt;tt&amp;gt;ascend&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
An ASCEND package can be created using &amp;lt;tt&amp;gt;scons dist&amp;lt;/tt&amp;gt; and [[dtar]]. This package seems to work fine, except for some missing integration into the new Unity GUI shell.&lt;br /&gt;
 &lt;br /&gt;
If IPOPT 3.9.x is also installed (see instructions for 10.04 below) then ASCEND will fail to load external libraries unless the correct LD_LIBRARY_PATH has bee set for IPOPT (/usr/lib/coin:/usr/lib/coin/ThirdParty). It is expected that testing with IPOPT 3.10 will resolve this problem.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 10.10 ====&lt;br /&gt;
&lt;br /&gt;
ASCEND compiles fine on Ubuntu 10.10, but you need to use the latest code from the &#039;trunk&#039; of our [[VersionManagement|subversion repo]]. Subversion r3082 corrects a bug that was preventing use of SCons 2.x, as supplied as part of this distro. Otherwise, required packages are the same as for 10.04, see below. It is recommended that all &#039;optional&#039; packages are installed at the time of building ASCEND.&lt;br /&gt;
&lt;br /&gt;
For IPOPT, which is an optional component of ASCEND, you should see the build instructions [[IPOPT|here]].&lt;br /&gt;
&lt;br /&gt;
It appears that in Ubuntu 10.10, GraphViz has been upgraded and is not longer compatible with ASCEND. ASCEND should build fine without it, although you will be missing the [[incidence graph]] feature as a result (see {{bug|443}}).&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 10.04 LTS ====&lt;br /&gt;
&lt;br /&gt;
For [[IPOPT]], which is an optional solver that can be used by ASCEND, you should additionally see the build instructions [[IPOPT|here]].&lt;br /&gt;
&lt;br /&gt;
To build ASCEND on a clean Ubuntu 10.04 box, the following packages were required (as of trunk r2777):&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install subversion swig g++ gfortran python-dev scons flex bison&lt;br /&gt;
&lt;br /&gt;
The following are optional but recommended:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install graphviz-dev libsundials-serial-dev liblapack-dev tcl8.5-dev tk8.5-dev libtktable2.9 libblas-dev&lt;br /&gt;
&lt;br /&gt;
Build ASCEND using&lt;br /&gt;
 scons -j2&lt;br /&gt;
&lt;br /&gt;
At runtime, the following packages will add capability to ASCEND:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install ipython python-matplotlib&lt;br /&gt;
&lt;br /&gt;
==== Kubuntu 10.04 ====&lt;br /&gt;
&lt;br /&gt;
Building on Kubuntu (KDE) is identical to Ubuntu (GNOME) with the exception that python-gtk2 and python-glade2 must be installed before running the resulting program. This was tested with trunk r3039. At this point in time, building also requires the package libgsl0-dev, because of some dependencies in [[FPROPS]] which need to be removed/made optional.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 8.04 LTS ====&lt;br /&gt;
&lt;br /&gt;
ASCEND built fine on Ubuntu 8.0.4 LTS when we last tried it. Numerous prerequisites must be installed, but all of these except IPOPT and CONOPT are currently available from the Ubuntu repositories. Specifically, check libsundials-serial-dev, swig, flex, bison, python-dev, tk-dev, libtktable2.9. Haven&#039;t yet tested with CONOPT, so conditional modelling has not yet been checked.&lt;br /&gt;
&lt;br /&gt;
Special treatment for the gfortran compiler is no longer required (as was required for Ubuntu 7.10).&lt;br /&gt;
&lt;br /&gt;
Building of a .deb package can be performed using the [[dtar]] tool included in the source distribution. Usage: scons dist &amp;amp;amp;&amp;amp;amp; ~/ascend/tools/dtar/dtar ~/ascend/dist/ascend-0.9.5.116.tar.bz2 ~/ascend/dist/debian.tar.gz.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 8.04 uses GtkSourceView2 instead of the earlier version, with the result that source code highlighting in GEdit using a different &amp;lt;tt&amp;gt;.lang&amp;lt;/tt&amp;gt; file. We have written a new version of this file, see the page on [[syntax highlighting]] for more info.&lt;br /&gt;
&lt;br /&gt;
Currently, LyX 1.5 is not available on Ubuntu, and the manual .lyx files require this newer version. So for the moment, you must use &amp;lt;tt&amp;gt;scons WITH_DOC_BUILD=0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
ASCEND has been runninng on earlier Ubuntu versions, right back to version 5.10.&lt;br /&gt;
&lt;br /&gt;
=== Fedora / RHEL / CentOS ===&lt;br /&gt;
&lt;br /&gt;
==== Fedora 20 ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: ASCEND is now included in the standard Fedora respositories! Thanks to Antonio Trande for his help with this! (Packaging details are [http://pkgs.fedoraproject.org/cgit/ascend.git/tree/ascend.spec here]).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(We tested with 64-bit Fedora 20 in a VirtualBox VM).&lt;br /&gt;
The following steps are required to build a local working copy of ASCEND:&lt;br /&gt;
 sudo yum install @development-tools fedora-packager scons subversion tk-devel \&lt;br /&gt;
  flex bison gcc-gfortran gcc-c++ python-devel sundials-devel graphviz-devel \&lt;br /&gt;
  swig python-matplotlib ipython blas-devel pygtksourceview lyx \&lt;br /&gt;
  texlive-epstopdf coin-or-Ipopt-devel MUMPS-devel&lt;br /&gt;
 svn co svn://ascend4.org/code/trunk ascend&lt;br /&gt;
 cd ascend&lt;br /&gt;
 scons -j2&lt;br /&gt;
 pygtk/ascdev models/testlog10.a4c&lt;br /&gt;
&lt;br /&gt;
Currently, the [[IPOPT]] and [[IDA]] solvers are not being built correctly. The former because IPOPT in Fedora 20 is parallel-only; no serial version provided. The latter because ASCEND (trunk code) is still requiring SUNDIALS 2.4.0, but Fedora 20 provides SUNDIALS 2.5.0. [[User:Ksenija]] did some work with SUNDIALS 2.5.0, which we need to integrate into trunk before this solver can be used again in this distro (or you can manually install the older SUNDIALS)&lt;br /&gt;
&lt;br /&gt;
==== Fedora 18 ====&lt;br /&gt;
&lt;br /&gt;
(We tested with the 64-bit version with our trunk code at changeset 4424). First you need to build SUNDIALS &#039;&#039;&#039;2.4.0&#039;&#039;&#039;. Follow the instructions at [[Building a SUNDIALS RPM for Fedora]] or download our RPMs which we have uploaded [http://sourceforge.net/projects/ascend-sim/files/thirdparty/ here].&lt;br /&gt;
&lt;br /&gt;
Next you need [[IPOPT]]. Follow that link for build instructions, or see if there are suitable RPMs for your platform [http://sourceforge.net/projects/ascend-sim/files/thirdparty/ here].&lt;br /&gt;
&lt;br /&gt;
The following steps will download and compile the ASCEND stuff:&lt;br /&gt;
 sudo yum install @development-tools fedora-packager scons subversion tk-devel \&lt;br /&gt;
  flex bison gcc-gfortran gcc-c++ python-devel sundials-devel graphviz-devel \&lt;br /&gt;
  swig python-matplotlib ipython blas-devel pygtksourceview&lt;br /&gt;
 svn co svn://ascend4.org/code/trunk ascend&lt;br /&gt;
 cd ascend&lt;br /&gt;
 scons -j2&lt;br /&gt;
 pygtk/ascdev models/testlog10.a4c&lt;br /&gt;
&lt;br /&gt;
You can install ASCEND as an RPM with the following extra steps:&lt;br /&gt;
&lt;br /&gt;
 sudo yum install lyx texlive-collection-fontsrecommended texlive-epstopdf textlive-ulem texlive-lm-math&lt;br /&gt;
 scons dist&lt;br /&gt;
&lt;br /&gt;
That should build a tarball including documentation PDF (that PDF is included in our tarballs, but this process builds the tarball from our SVN repository, which does not include the PDF). Then,&lt;br /&gt;
&lt;br /&gt;
 cd ~/rpmbuild/SOURCES&lt;br /&gt;
 ln -s ~/ascend/dist/ascend-*.bz2&lt;br /&gt;
 cd ~/rpmbuild/SPECS&lt;br /&gt;
 ln -s ~/ascend/ascend.spec&lt;br /&gt;
 rpmbuild -ba ascend.spec&lt;br /&gt;
 sudo yum install ~/rpmbuild/RPMS/x86_64/ascend*.rpm&lt;br /&gt;
&lt;br /&gt;
At this stage (changeset 4424), the ascend-tcltk package is not installing because of wrong permissions on libascendtcl.so (we think). But the PyGTK GUI (package &#039;ascend&#039;) is working fine.&lt;br /&gt;
&lt;br /&gt;
==== Fedora 17 ====&lt;br /&gt;
&lt;br /&gt;
Our recent ASCEND solver [[IDA]] depends on SUNDIALS 2.4+ which is not yet available in the Fedora repositories. If we&#039;ve built the right version for your architecture, you can possibly get the needed RPMs from [http://sourceforge.net/projects/ascend-sim/files/thirdparty/ here]. Otherwise you need to build a SUNDIALS RPM as detailed here [[Building a SUNDIALS RPM for Fedora]].&lt;br /&gt;
&lt;br /&gt;
One that is done, follow instructions as for Fedora 16 (below).&lt;br /&gt;
&lt;br /&gt;
Tktable appears not to be available by default in the Fedora repositories. A binary package may be available here: http://koji.fedoraproject.org/koji/packageinfo?packageID=3995. Not yet carefully tested.&lt;br /&gt;
&lt;br /&gt;
IPOPT RPMs for Fedora 17 are [http://sourceforge.net/projects/ascend-sim/files/thirdparty/ here] or see [[IPOPT]] to build your own.&lt;br /&gt;
&lt;br /&gt;
==== Fedora 16 ====&lt;br /&gt;
&lt;br /&gt;
Tested with {{changeset|4018}} on Fedora 16 64-bit in a VirtualBox VM. Builds and runs without problems. We recently put in place a workaround for {{bug|494}} so that the current SWIG 2.0.4 with Fedora works.&lt;br /&gt;
&lt;br /&gt;
First install needed packages:&lt;br /&gt;
 yum install scons subversion tk-devel flex bison gcc-gfortran gcc-c++ python-devel sundials-devel graphviz-devel swig&lt;br /&gt;
&lt;br /&gt;
Next build the code:&lt;br /&gt;
 scons -j4&lt;br /&gt;
&lt;br /&gt;
You might also want to install &amp;lt;tt&amp;gt;ipython&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;python-matplotlib&amp;lt;/tt&amp;gt; to get some extra features in the PyGTK GUI.&lt;br /&gt;
&lt;br /&gt;
The version of SUNDIALS in Fedora is still 2.3.0, which at {{changeset|4108}} is too old now for ASCEND, since addition of [[IDA]] boundary detection that relies on SUNDIALS 2.4+. Also, [[IPOPT]] is not provided in the Fedora repositories, but 3.10.2 can be compiled manually and works with Fedora 16 without issues. Both of these issues make it difficult to release a nice package for ASCEND for this platform.&lt;br /&gt;
&lt;br /&gt;
==== CentOS 5.6 ====&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested using a clean virtual machine created using the CentOS 5.6 net installer for x86_64.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
# log in as root...&lt;br /&gt;
su&lt;br /&gt;
yum install scons subversion tk-devel flex bison gcc-gfortran gcc-c++ python-devel sundials-devel graphviz-devel &lt;br /&gt;
wget http://pkgs.repoforge.org/scons/scons-1.2.0-1.el5.rf.noarch.rpm&lt;br /&gt;
rpm -i scons-1.2.0-1.el5.rf.noarch.rpm&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, back as &#039;normal&#039; user, obtain a copy of the ASCEND source code from our [[VersionManagement|svn info]] as folder &#039;ascend&#039; (we tried with trunk revision 3601), then&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
cd ascend&lt;br /&gt;
scons&lt;br /&gt;
# ascend now runs via &#039;pygtk/ascdev&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
If you want to use Matplotlib for plotting in ASCEND with CentOS, try using http://repoforge.org/use/ and &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
install python-matplotlib python-numpy&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fedora 11 ====&lt;br /&gt;
&lt;br /&gt;
The following steps build ASCEND on a clean Fedora 11 machine (I tested using the Live CD installed to a qemu/kvm virtual machine):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;su&lt;br /&gt;
yum install scons subversion tk-devel flex bison gcc-gfortran gcc-c++ python-devel sundials-devel graphviz-devel swig&lt;br /&gt;
scons&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Currently (as of 16 Jun 2009), the above results in a error message from g++ while compiling the SWIG output. See {{bug|403}}. Testing on Windows has shown that SWIG 1.3.39 and 1.3.40 have this problem, but 1.3.36 does not have this problem.&amp;lt;/s&amp;gt; &#039;&#039;This bug is fixed in the pre-0.9.8 code from our SVN server.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Fedora 9 ====&lt;br /&gt;
&lt;br /&gt;
ASCEND builds without any problems on Fedora 9. You need to install several packages first, including swig, tk-devel, python-devel, scons, flex, bison, gcc-gfortran, gcc-c++. There may be some problems getting the GraphViz and CUnit-related functionality working, let us know if you have problems with that. -- JP, Jun 2008.&lt;br /&gt;
&lt;br /&gt;
You can build an RPM version of ASCEND using &amp;lt;tt&amp;gt;scons dist&amp;lt;/tt&amp;gt; followed by &amp;lt;tt&amp;gt;rpm -ta ascend-0.9.5.116.tar.bz2&amp;lt;/tt&amp;gt;, providing you have RPM correctly set up. See also [[Building an RPM Package for ASCEND]].&lt;br /&gt;
&lt;br /&gt;
=== Raspbian (Raspberry Pi) ===&lt;br /&gt;
&lt;br /&gt;
ASCEND works great on Raspberry Pi! We used the Ubuntu 12.04 instructions above, and everything basically just worked. We haven&#039;t yet succeeded in creating .deb packages, but the GUI and command-line tools all seem to work well (Mar 2015).&lt;br /&gt;
&lt;br /&gt;
The following packages are needed for running Ascend under Raspbian:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
sudo apt-get install subversion gcc g++ gfortran flex bison scons swig doxygen&lt;br /&gt;
sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev tk-table graphviz graphviz-dev&lt;br /&gt;
sudo apt-get install python2.7 python2.7-dev libgtk2.0-0 python-gtk2 python-matplotlib python-numpy ipython&lt;br /&gt;
sudo apt-get install liblapack-dev libblas-dev&lt;br /&gt;
sudo apt-get install libsundials-serial-dev coinor-libipopt-dev&lt;br /&gt;
sudo apt-get install libcunit1-dev libmumps-seq-dev lyx&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can skip installing lyx and turn off installing the documentation for Ascend. This is recommended for new users as the whole latex+lyx toolchain is huge and shouldn&#039;t be necessary for starting with ascend. There are also version issues with LyX.&lt;br /&gt;
&lt;br /&gt;
The installation process looks as follows (go to your home folder /home/USERNAME/):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
svn co http://svn.ascend4.org/trunk ascend&lt;br /&gt;
&lt;br /&gt;
cd ascend/&lt;br /&gt;
&lt;br /&gt;
scons $WITH_GRAPHVIZ = /usr/lib/graphviz WITH_DOC=0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
scons&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sh&amp;gt;&lt;br /&gt;
scons install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenSUSE ===&lt;br /&gt;
&lt;br /&gt;
OpenSUSE does not provide an up to date version of SCons (as of this writing, suse 10.2 comes with scons-0.96.91-37). You will need to download a newer version (0.96.93) ([http://sourceforge.net/project/showfiles.php?group_id=30337&amp;amp;package_id=22359 from SF.net].&lt;br /&gt;
Do not try 0.97 SCons, as it is not yet supported by the ASCEND SConscripts on the SUSE platform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Update (Mar 2010)&#039;&#039; it is suggested that you try latest SCons 1.x if possible, and report your experiences here.&lt;br /&gt;
&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
&lt;br /&gt;
To build ASCEND on Arch Linux, follow these steps:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;sudo pacman -S gcc gcc-fortran flex bison python scons swig tcl tk graphviz blas&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Download and build sundials manually (see [[Prerequisites for Linux]]).&lt;br /&gt;
&lt;br /&gt;
Then follow the [[Building_ASCEND#General_instructions|General instructions]] (running scons and scons install).&lt;br /&gt;
&lt;br /&gt;
If you have problem with SWIG 1.3.40 (scons reports that SWIG package was not found), download older version of [http://www.swig.org SWIG](1.3.38 worked for me, 1.3.24 didn&#039;t) and build it manually (./configure, make, make install). Then re-run swig with parameter &amp;lt;tt&amp;gt;SWIG=/usr/local/bin/swig&amp;lt;/tt&amp;gt; (or different location where you installed SWIG).&lt;br /&gt;
&lt;br /&gt;
When running ascend script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;LDPATH = [INSTALL_LIB] + GTKLIBPATH + LDPATH&lt;br /&gt;
TypeError: can only concatenate list (not &amp;amp;quot;NoneType&amp;amp;quot;) to list&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;LDPATH = [INSTALL_LIB] + GTKLIBPATH + LDPATH&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;if GTKLIBPATH:&lt;br /&gt;
	LDPATH = [INSTALL_LIB] + GTKLIBPATH + LDPATH&lt;br /&gt;
else:&lt;br /&gt;
&lt;br /&gt;
	LDPATH = [INSTALL_LIB] + LDPATH&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(found [http://www.mail-archive.com/ascend-sim-users@lists.sourceforge.net/msg00089.html here]).&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
&lt;br /&gt;
Some details for build ASCEND on Gentoo Linux are on a sub-page at [[Building ASCEND/Gentoo]].&lt;br /&gt;
&lt;br /&gt;
== Instructions for Windows ==&lt;br /&gt;
&lt;br /&gt;
=== 64-bit executable for 64-bit Windows, using MinGW-w64/MSYS ===&lt;br /&gt;
&lt;br /&gt;
* [[setting up a MinGW-w64 build environment|set up a MinGW-w64 build environment]]&lt;br /&gt;
* [[building ASCEND for 64-bit Windows|build the dependencies and ASCEND itself]] (includes instructions for creating a redistributable installer packager).&lt;br /&gt;
&lt;br /&gt;
=== 32-bit executable for 64-bit or 32-bit Windows, using MinGW/MSYS ===&lt;br /&gt;
&lt;br /&gt;
ASCEND will also build using the standard MinGW 32-bit toolset. This is quite a bit easier than setting up the MinGW-w64 build environment because you can get your compiler and most of the needed tools using &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt;. However, until we can update our instructions, it is suggested that you follow [[setting up a MinGW-w64 build environment|our instructions for the MinGW-w64]], and just substitute 32-bit stuff wherever you see 64-bit stuff mentioned.&lt;br /&gt;
&lt;br /&gt;
=== Using MSYS2 ===&lt;br /&gt;
&lt;br /&gt;
MSYS2 is a new generation of MSYS that works with the &amp;lt;tt&amp;gt;[https://wiki.archlinux.org/index.php/pacman pacman]&amp;lt;/tt&amp;gt; package manager. &#039;&#039;This is new, and we&#039;re still experimenting!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This project is currently being worked on during Google Summer of Code 2016. &lt;br /&gt;
&lt;br /&gt;
For details please see &amp;lt;tt&amp;gt;[http://ascend4.org/User:Georgy Implement MSYS2 based build process and improve packaging for Mac]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
pacman -Syu&lt;br /&gt;
pacman -S vim&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk2 mingw-w64-x86_64-gcc \ &lt;br /&gt;
 mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-python2-numpy \ &lt;br /&gt;
 mingw-w64-x86_64-python2-pygtk subversion swig \ &lt;br /&gt;
 flex bison python2 scons pkgconfig \ &lt;br /&gt;
 mingw-w64-i686-python2&lt;br /&gt;
svn co svn://ascend4.org/code/trunk ascend&lt;br /&gt;
cd ascend&lt;br /&gt;
scons&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A challenge with this approach looks to be that it uses versions of Python and GTK2 that are not standard Windows system packages, so creating a distributable version of ASCEND will require rather a different set-up to the current approach (we will need to bundle all dependent packages). And if we do that, the resulting packages will not be compatible or interoperable with another Python installed on the user&#039;s system. But it still may be useful as a development tool/environment? Or maybe we should not recommend the &#039;standard&#039; Python installer any more..?&lt;br /&gt;
&lt;br /&gt;
Another challenge is that when installing &#039;scons&#039; as above, it is tied to the MSYS version of Python, which is not the same as the MinGW64 version of Python for which the developer libraries are installed. So it&#039;s very problematic to build Python extensions using SWIG. However it may be a current area of development in MSYS2; we will have to wait and see.&lt;br /&gt;
&lt;br /&gt;
Still to be resolved: the following packages don&#039;t yet exist in MSYS2, and would have to be built manually: graphviz-dev libsundials-serial-dev liblapack-dev libblas-dev ipython python-matplotlib coinor-libipopt-dev libmumps-seq-dev&lt;br /&gt;
&lt;br /&gt;
=== MSVS and other compilers ===&lt;br /&gt;
&lt;br /&gt;
Although &#039;libascend&#039; has been built with Microsoft tools in the past, it&#039;s been a long time since we tested this, and so we don&#039;t currently support these compilers. They probably can be made to work, so if you make any progress with this please let us know.&lt;br /&gt;
&lt;br /&gt;
Some very early efforts were made to support free Borland 5.5 were made; the core engine basically compiles but there is more work to be done. With MinGW now pretty complete and reliable, there&#039;s not much reason to bother with this.&lt;br /&gt;
&lt;br /&gt;
We would be interested to know about efforts to build ASCEND with any other Windows-based compilers, especially anything that works well in a unified package management environment or an IDE.&lt;br /&gt;
&lt;br /&gt;
== Instructions for Mac ==&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X 10.5 ===&lt;br /&gt;
&lt;br /&gt;
ASCEND runs fine on Mac OS X 10.5, and probably other versions. Currently we haven&#039;t completed the job of bundling ASCEND into a convenient distributable form, but the work is now well underway. See [[Porting to Mac]] for details.&lt;br /&gt;
&lt;br /&gt;
There has been no attempt to build or test the Tcl/Tk GUI on Mac at this stage.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Building a Debian package]]&lt;br /&gt;
* [[Building an RPM Package for ASCEND]]&lt;br /&gt;
* [[Windows Miscellany]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Georgy</name></author>
	</entry>
</feed>