<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=CompilingPerl</id>
	<title>CompilingPerl - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=CompilingPerl"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CompilingPerl&amp;action=history"/>
	<updated>2026-08-22T14:28:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CompilingPerl&amp;diff=550&amp;oldid=prev</id>
		<title>Admin: 2 revisions imported</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CompilingPerl&amp;diff=550&amp;oldid=prev"/>
		<updated>2016-04-06T20:03:26Z</updated>

		<summary type="html">&lt;p&gt;2 revisions imported&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Abstract ==&lt;br /&gt;
&lt;br /&gt;
At the time this article was written (14-Feb-2004), Best Practical recommends using perl 5.8.3 with RT. But since perl 5.8.3 is still fairly new (it was released 14-Jan-2004), most OS distributions don&amp;#039;t yet provide packages for it. You must therefore build it yourself.&lt;br /&gt;
&lt;br /&gt;
The present article aims at giving directions on how to build perl 5.8.3 properly (on Unix-type platforms) to function with RT, assuming your already have RT installed with a perl that came with your OS distribution.&lt;br /&gt;
&lt;br /&gt;
Note: Please read the article in its entirety before starting. This will help you get a better handle on actually how much work is required and how much time it might take you.&lt;br /&gt;
&lt;br /&gt;
== Missing Parts ==&lt;br /&gt;
&lt;br /&gt;
As of now this article is incomplete with respect to:&lt;br /&gt;
&lt;br /&gt;
* setuid options while building perl&lt;br /&gt;
&lt;br /&gt;
Hopefully someone knowledgeable in these areas will fill these parts in.&lt;br /&gt;
&lt;br /&gt;
== Sorce code requirments ==&lt;br /&gt;
&lt;br /&gt;
* The perl source code. [http://www.cpan.org/src/ here]&lt;br /&gt;
* mod_perl users need its source code. [http://perl.apache.org here]&lt;br /&gt;
** static linkage require Apache rebuild. [http://httpd.apache.org sources here]&lt;br /&gt;
&lt;br /&gt;
== The Recipe ==&lt;br /&gt;
&lt;br /&gt;
=== Part I: Building Perl ===&lt;br /&gt;
&lt;br /&gt;
* Untar the source code and cd into the created directory (perl-5.8.3)&lt;br /&gt;
* rm -f config.sh Policy.sh&lt;br /&gt;
* sh Configure&lt;br /&gt;
&lt;br /&gt;
This part is where you have to make the right choices. For most of the numerous questions you may simply select the default value. But pay close attention to these questions:&lt;br /&gt;
&lt;br /&gt;
 Build a threading Perl? [n]&lt;br /&gt;
&lt;br /&gt;
Nothing in RT uses threads, so unless you need them for something else, answer no. Also Test::More, one of the pre-requisite modules does not pass &amp;quot;make test&amp;quot; with a threaded perl. (See Bug 6782 rt.cpan.org)&lt;br /&gt;
&lt;br /&gt;
 Installation prefix to use? (~name ok) [/usr/local]&lt;br /&gt;
&lt;br /&gt;
Here I recommend that you do not squish your current perl as it will make it hard for you to fallback if something goes wrong. I usually install it in /usr/local/perl-5.8.3. That way I&amp;#039;m sure it&amp;#039;s isolated under it&amp;#039;s own directory tree.&lt;br /&gt;
&lt;br /&gt;
 Do you want to install perl as /usr/bin/perl? [n]&lt;br /&gt;
&lt;br /&gt;
Here you probably want to say no and do it manually later using a symlink.&lt;br /&gt;
&lt;br /&gt;
 Build a shared libperl.so (y/n) [n]&lt;br /&gt;
&lt;br /&gt;
If you plan on using mod_perl, you must answer yes here. Otherwise the default is ok.&lt;br /&gt;
&lt;br /&gt;
 setuid stuff??? (Author doesn&amp;#039;t use setuid.)&lt;br /&gt;
&lt;br /&gt;
* make&lt;br /&gt;
* make test&lt;br /&gt;
* make install&lt;br /&gt;
&lt;br /&gt;
Now you have perl 5.8.3 installed. I&amp;#039;ll assume you followed my advice and installed it in /usr/local/perl-5.8.3.&lt;br /&gt;
&lt;br /&gt;
Next step is to install all the RT depencies into that new perl.&lt;br /&gt;
&lt;br /&gt;
(Alternatively, you might like to try my perl installation guide: http://use.perl.org/~jdavidb/journal/6477 . (Slightly dated, but I still use it through 5.8.7.) For RT, I recommend having a separate installation of perl owned by the same UNIX user that owns RT. But it&amp;#039;s been awhile since I did this, since I now just use precompiled packages for RT.)&lt;br /&gt;
&lt;br /&gt;
=== Part II: Installing RT requirements ===&lt;br /&gt;
&lt;br /&gt;
RT can install them for you.&lt;br /&gt;
&lt;br /&gt;
 cd /your/RT/build/dir&lt;br /&gt;
 /usr/local/perl-5.8.3/bin/perl sbin/rt-test-dependencies --with-&amp;amp;lt;databasename&amp;amp;gt; --with-&amp;amp;lt;web-environment&amp;amp;gt; --install&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Or use the CPAN shell.&lt;br /&gt;
&lt;br /&gt;
 /usr/local/perl-5.8.3/bin/perl -MCPAN -eshell&lt;br /&gt;
 cpan&amp;amp;gt; install Required::Module&lt;br /&gt;
 cpan&amp;amp;gt; quit&lt;br /&gt;
 /usr/local/perl-5.8.3/bin/perl sbin/rt-test-dependencies --with-&amp;amp;lt;databasename&amp;amp;gt; --with-&amp;amp;lt;web-environment&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Now your perl 5.8.3 is installed and has all the modules needed to run RT. Notice that until now your current perl installation has not been disturbed.&lt;br /&gt;
&lt;br /&gt;
Now you need to make sure your web server can use that perl.&lt;br /&gt;
&lt;br /&gt;
=== Part III: Adapting your web server ===&lt;br /&gt;
&lt;br /&gt;
==== Fast-CGI ====&lt;br /&gt;
&lt;br /&gt;
Since Fast-CGI doesn&amp;#039;t need to know anything special about your perl version, there is nothing special to do here.&lt;br /&gt;
&lt;br /&gt;
==== mod_perl ====&lt;br /&gt;
&lt;br /&gt;
You &amp;#039;&amp;#039;&amp;#039;MUST&amp;#039;&amp;#039;&amp;#039; rebuild mod_perl when upgrade perl. [http://perl.apache.org/docs/1.0/guide/install.html#Should_I_Rebuild_mod_perl_if_I_have_Upgraded_Perl_ Official reason].&lt;br /&gt;
&lt;br /&gt;
mod_perl2 works fine as DSO what makes easier to use mod_perl2 from distributor instead of compiling own version. [http://perl.apache.org/docs/2.0/user/install/install.html mod_perl2 installation guide].&lt;br /&gt;
&lt;br /&gt;
If mod_perl is compiled as DSO then you don&amp;#039;t need rebuild Apache.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# if output from next shell command is empty then you use DSO in other case static.&lt;br /&gt;
 httpd -l | grep &amp;#039;mod_perl&amp;#039;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SPECIAL NOTE FOR APACHE 1.x USERS, PLEASE DON&amp;#039;T SKIP THIS:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* If you use Apache1.x+mod_perl1.x then you want mod_perl compiled static with Apache.&lt;br /&gt;
** If you still have question &amp;quot;Why?&amp;quot; then you must read:&lt;br /&gt;
*** [http://perl.apache.org/docs/1.0/guide/install.html#When_DSO_can_be_Used official answer]&lt;br /&gt;
*** [http://masonhq.com/resources/todo/view.html?id=200 unofficial reason1]&lt;br /&gt;
*** [http://www.bricolage.cc/docs/api/1.6/Bric/FAQ.html#Installation unofficial reason2]&lt;br /&gt;
*** [http://www.apache-asp.org/faq.html#Error: no reb1d13fcf unofficial reason3]&lt;br /&gt;
** Do you still have questions about DSO in Apache 1.x? You don&amp;#039;t know how to build static mod_perl? It&amp;#039;s not a big deal:&lt;br /&gt;
*** [[ManualApache]]&lt;br /&gt;
*** [http://perl.apache.org/docs/1.0/guide/install.html#The_Flexible_Way flexible way]&lt;br /&gt;
*** [http://perl.apache.org/docs/1.0/guide/install.html#Installation_Scenarios_for_mod_perl_and_Other_Components with other components]&lt;br /&gt;
&lt;br /&gt;
See also: [[ManualApache]]&lt;br /&gt;
&lt;br /&gt;
=== Part IV: Finding perl new perl binary ===&lt;br /&gt;
&lt;br /&gt;
Now the only problem left is that if you type &amp;#039;perl&amp;#039; on the command line, your old perl will still be picked up and used. That means that the RT perl programs (rt-mailgate, mason-handler.fcgi) will still run using your old perl.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>