<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Slicer3%3ALauncher</id>
	<title>Slicer3:Launcher - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Slicer3%3ALauncher"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Launcher&amp;action=history"/>
	<updated>2026-04-11T18:09:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Launcher&amp;diff=4470&amp;oldid=prev</id>
		<title>Marianna at 21:40, 19 May 2008</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Launcher&amp;diff=4470&amp;oldid=prev"/>
		<updated>2008-05-19T21:40:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:40, 19 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Requirements ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Requirements ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/del&gt;2007_Project_Half_Week#Projects &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| &lt;/del&gt;One of the projects&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/del&gt;] at the 2007 AHM was a [[media:2007_AHM_Programming_Half_Week_Slicer3_Launch.ppt | review of the Slicer3 launcher]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;http://www.na-mic.org/Wiki/index.php/&lt;/ins&gt;2007_Project_Half_Week#Projects &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;One of the projects] at the 2007 AHM was a [[media:2007_AHM_Programming_Half_Week_Slicer3_Launch.ppt | review of the Slicer3 launcher]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A summary of the conclusions is:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A summary of the conclusions is:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Marianna</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Launcher&amp;diff=3889&amp;oldid=prev</id>
		<title>Marianna: 1 revision</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Launcher&amp;diff=3889&amp;oldid=prev"/>
		<updated>2008-05-15T18:02:37Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:02, 15 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Marianna</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Launcher&amp;diff=3888&amp;oldid=prev</id>
		<title>Pieper: /* Considerations */</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Launcher&amp;diff=3888&amp;oldid=prev"/>
		<updated>2007-03-05T18:48:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Considerations&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[2007_Project_Half_Week#Projects | One of the projects]] at the 2007 AHM was a [[media:2007_AHM_Programming_Half_Week_Slicer3_Launch.ppt | review of the Slicer3 launcher]].&lt;br /&gt;
&lt;br /&gt;
A summary of the conclusions is:&lt;br /&gt;
* for the shared library plugins to work the application needs to be built in shared mode (not static)&lt;br /&gt;
* this means that shared library paths must be set ''before'' the application is started&lt;br /&gt;
* a launcher can do this -- it is a small program that does not have shared library dependencies that sets paths and then executes the main application&lt;br /&gt;
&lt;br /&gt;
Some other nice things the launcher can do:&lt;br /&gt;
* since the launcher starts quickly, it can put up a splash screen for user feedback while the main program is loading&lt;br /&gt;
* the launcher can catch abnormal termination conditions of the main program and provide user feedback&lt;br /&gt;
* the launcher can run arbitrary programs with the exact environment used by the main application (for example, you can run a debugger on Slicer3-real with all the shared libraries resolved, or you can run a shell from which you can run ldd to see the dependencies for a library).&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
The group decided to adopt the approach used by slicer2, which is based on the [http://www.equi4.com/starkit.html starkit/starpack] technology for building small, stand alone programs that include a full tcl/tk interpreter.&lt;br /&gt;
&lt;br /&gt;
The code and documentation are in Slicer3/Utilities/Launcher.  The actual startup script is Slicer3/launch.tcl.in, which gets configured by cmake into Slicer3-build/lib/launch.tcl.&lt;br /&gt;
&lt;br /&gt;
Usage for the launcher is:&lt;br /&gt;
 Slicer3 [--launch &amp;lt;program&amp;gt;] [Options...]&lt;br /&gt;
 where:&lt;br /&gt;
   &amp;lt;program&amp;gt; is a program that should be run using the environment settings defined by the launcher (defaults to Slicer3-real)&lt;br /&gt;
   [Options...] are any options to send to &amp;lt;program&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Considerations ==&lt;br /&gt;
&lt;br /&gt;
Windows only: Due to the way tcl captures text from subprocesses, text feedback should be sent to cout (stdout) rather than to cerr (stderr).  Messages to cerr will be printed out by the launcher after Slicer3-real exits, which may be confusing to the user.  Slicer's implementation of vtkErrorMacro, vtkWarningMacro, etc handles this automatically.&lt;/div&gt;</summary>
		<author><name>Pieper</name></author>
		
	</entry>
</feed>