Libctl

From AbInitio

(Difference between revisions)
Jump to: navigation, search
Revision as of 23:46, 15 October 2005 (edit)
Stevenj (Talk | contribs)
(Download and installation)
← Previous diff
Current revision (18:13, 28 March 2014) (edit)
Stevenj (Talk | contribs)

 
Line 1: Line 1:
 +{{libctl}}
'''libctl''' is a free [http://www.gnu.org/software/guile/ Guile]-based library implementing flexible control files for scientific simulations. It was written to support our [[MIT Photonic Bands]] and [[Meep]] software, but has proven useful in other programs too. '''libctl''' is a free [http://www.gnu.org/software/guile/ Guile]-based library implementing flexible control files for scientific simulations. It was written to support our [[MIT Photonic Bands]] and [[Meep]] software, but has proven useful in other programs too.
-The home page for libctl is:+It is documented in the [[Libctl manual]], and development sources are available on the [https://github.com/stevengj/libctl libctl Github page].
- +
-* http://ab-initio.mit.edu/libctl/+
- +
-You can read the libctl manual at the home page, but we are migrating to the Wiki version here:+
- +
-* [[Libctl manual]]+
== Download and installation == == Download and installation ==
-libctl 2.2 is the current version (see the NEWS file to see what's changed); you can download it from:+'''libctl 3.2.2''' is the current version (see the [[libctl release notes|release notes]] to see what's changed); you can download it from:
-* http://ab-initio.mit.edu/libctl/libctl-2.2.tar.gz +* http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz
-libctl is free software under the GNU Lesser (''née'' Library) General Public license (LGPL); see the [[libctl License and Copyright|license and copyright]] section of the manual for more information.+libctl is free software under the GNU General Public license (GPL); see the [[libctl License and Copyright|license and copyright]] section of the manual for more information.
Installation of libctl (assuming GNU Guile is installed), is as simple as: Installation of libctl (assuming GNU Guile is installed), is as simple as:
Line 25: Line 20:
where the last step must be run as <code>root</code>. This installs libctl under <code>/usr/local</code>; to install somewhere else, use a <code>--prefix=''dir''</code> argument to <code>configure</code>. where the last step must be run as <code>root</code>. This installs libctl under <code>/usr/local</code>; to install somewhere else, use a <code>--prefix=''dir''</code> argument to <code>configure</code>.
-* '''Important''': Most [[w:Linux distribution|Linux distributions]] come with Guile already installed. Do ''not'' install your own version of Guile from source &mdash; having two versions of Guile on the same system will cause problems. However, by default most distributions install only the Guile libraries and not the programming headers &mdash; to compile MPB, you should install the "guile-devel" or "guile-dev" package (e.g. [[w:RPM|RPM]] that ''came with your system''.+* '''Important''': Most [[w:Linux distribution|Linux distributions]] come with Guile already installed. Do ''not'' install your own version of Guile from source &mdash; having two versions of Guile on the same system will cause problems. However, by default most distributions install only the Guile libraries and not the programming headers &mdash; to compile libctl, you should install the "guile-devel" or "guile-dev" package (e.g. [[w:RPM Package Manager|RPM]]) that ''came with your system''.
 + 
 +* To have more control over the version of Guile to use, you can instead do <code>./configure GUILE=''/path/to/guile'' GUILE_CONFIG=''/path/to/guile-config''</code>
== Feedback == == Feedback ==
-If you have comments or questions regarding libctl, you can contact [http://math.mit.edu/~stevenj Steven G. Johnson] at [mailto:stevenj@alum.mit.edu stevenj@alum.mit.edu].+If you have comments or questions regarding libctl, you can contact [http://math.mit.edu/~stevenj Steven G. Johnson] at [mailto:stevenj@alum.mit.edu stevenj@alum.mit.edu]. For bug reports and feature requests, however, the the best thing to do is to file an issue at:
 + 
 +* [https://github.com/stevengj/libctl/issues libctl Issues] (Github).
-{{Category:libctl}}+[[Category:libctl]]

Current revision

libctl
Manual: Introduction
Basic User Experience
Advanced User Experience
User Reference
Developer Experience
Guile and Scheme links
License and Copyright

libctl is a free Guile-based library implementing flexible control files for scientific simulations. It was written to support our MIT Photonic Bands and Meep software, but has proven useful in other programs too.

It is documented in the Libctl manual, and development sources are available on the libctl Github page.

Download and installation

libctl 3.2.2 is the current version (see the release notes to see what's changed); you can download it from:

libctl is free software under the GNU General Public license (GPL); see the license and copyright section of the manual for more information.

Installation of libctl (assuming GNU Guile is installed), is as simple as:

./configure
make
make install

where the last step must be run as root. This installs libctl under /usr/local; to install somewhere else, use a --prefix=dir argument to configure.

  • Important: Most Linux distributions come with Guile already installed. Do not install your own version of Guile from source — having two versions of Guile on the same system will cause problems. However, by default most distributions install only the Guile libraries and not the programming headers — to compile libctl, you should install the "guile-devel" or "guile-dev" package (e.g. RPM) that came with your system.
  • To have more control over the version of Guile to use, you can instead do ./configure GUILE=/path/to/guile GUILE_CONFIG=/path/to/guile-config

Feedback

If you have comments or questions regarding libctl, you can contact Steven G. Johnson at stevenj@alum.mit.edu. For bug reports and feature requests, however, the the best thing to do is to file an issue at:

Personal tools