Difference between revisions of "Dev Troubleshooting"

From Dreamwidth Notes
Jump to: navigation, search
(Perl)
(took away unfilled in update note, added a note about checkconfig.pl)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Is your system updated? ==
 
== Is your system updated? ==
  
Make sure that your system is updated.  Dreamwidth code is best supported by Ubuntu Intrepid. To update all your packages, you should be logged in as root and then run:
+
If you are running your own system and not a Dreamhack, make sure that your system is updated.  Dreamwidth code is best supported by Ubuntu. To update all your packages, you should be logged in as root and then run:
  
 
  apt-get update
 
  apt-get update
 
  apt-get upgrade
 
  apt-get upgrade
 
If you need to upgrade Ubuntu from Hardy to Intrepid, first you will want to edit this file:
 
 
vi /etc/apt/sources.list
 
 
And replace all instances of "hardy" with "intrepid".  The easy vi command for that is:
 
 
%s/hardy/intrepid/g
 
 
Then, run the two <code>apt-get</code> commands above and do a system restart.
 
  
 
== Is your code updated? ==
 
== Is your code updated? ==
Line 22: Line 12:
 
== Restarting Apache ==
 
== Restarting Apache ==
  
Sometimes stopping and restarting Apache can help:
+
Sometimes stopping and restarting Apache can help.  If you are on a Dreamhack use the commands:
 +
 
 +
stop-apache
 +
start-apache
 +
 
 +
If you are on your own machine, probably something closer to:
  
 
  sudo /etc/init.d/apache2 stop
 
  sudo /etc/init.d/apache2 stop
Line 36: Line 31:
  
 
  sudo tail /var/log/apache2/error.log
 
  sudo tail /var/log/apache2/error.log
 
== Are there new ljconfig.pl options you are missing? ==
 
 
Check and see if there have been changes, such as additions or removals, to variables in ljconfig.pl.  If nothing else, start fresh from the example and re-enter the information from your current config:
 
 
mv etc/ljconfig.pl etc/ljconfig.backup
 
cp doc/ljconfig.pl.txt etc/ljconfig.pl
 
  
 
== Apache fails to start ==
 
== Apache fails to start ==
Line 52: Line 40:
 
== Maybe you are missing packages ==
 
== Maybe you are missing packages ==
  
For instance, OpenID no longer works unless you have the libraries installed on your system:
+
If you are not on a Dreamhack, consider that you might be missing some packages.  For instance, OpenID no longer works unless you have the libraries installed on your system:
  
 
  apt-get install libnet-openid-consumer-perl libnet-openid-server-perl
 
  apt-get install libnet-openid-consumer-perl libnet-openid-server-perl
 +
 +
You can run a check config to see if it has any warnings for you:
 +
 +
bin/checkconfig.pl
  
 
== Correct version of Perl ==
 
== Correct version of Perl ==
  
[05:00] <Sophira> For the record, this is the command that will tell you if your Perl is good for Dreamwidth:
+
You need a 64-bit Perl to run Dreamwidth. If the Linux distribution you're using is 64-bit, then you should have a 64-bit version of Perl already. If you're not sure, though, this command will tell you:
[05:00] <Sophira> perl -e 'print unpack("Q", pack("Q", length(sprintf("%b", ~0)))) . "-bit\n";'
+
 
[05:01] <Sophira> That should print out "64-bit". If it prints anything else, or gives you any errors (like "Invalid type 'Q'"), it's not 64-bit.
+
perl -e 'print unpack("Q", pack("Q", length(sprintf("%b", ~0)))) . "-bit\n";'
 +
 
 +
This should print out "64-bit". If it prints anything else, or gives you any errors (like "Invalid type 'Q'"), it's not 64-bit.
 +
 
 +
Also, the version of Perl used in the "Lucid" distribution of Ubuntu (5.10.1-8ubuntu2.1) has a bug in it that the Dreamwidth code can run into; if you're using that version, you may want to upgrade. [http://dw-dev.dreamwidth.org/120658.html Perl 5.8 is no longer considered supported for Dreamwidth development as of 2012 July 18.]
  
 
[[Category: Development]]
 
[[Category: Development]]

Latest revision as of 02:49, 21 August 2012

Is your system updated?

If you are running your own system and not a Dreamhack, make sure that your system is updated. Dreamwidth code is best supported by Ubuntu. To update all your packages, you should be logged in as root and then run:

apt-get update
apt-get upgrade

Is your code updated?

There are instructions to update your DW code at Dev Maintenance.

Restarting Apache

Sometimes stopping and restarting Apache can help. If you are on a Dreamhack use the commands:

stop-apache
start-apache

If you are on your own machine, probably something closer to:

sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 start

Restarting Apache is also needed when you've changed Perl code.

Apache access and error logs

The access and error logs for Apache (the web server) are located at /var/log/apache2/access.log and /var/log/apache2/error.log for a default Ubuntu installation. Loading blank pages are probably the result of mod_perl crashing (often called a "segfault").

You can see the latest access and error messages by using the tail command:

sudo tail /var/log/apache2/error.log

Apache fails to start

If you've been coding and Apache fails to restart, make sure to check the error logs for the problem:

sudo tail /var/log/apache2/error.log

Maybe you are missing packages

If you are not on a Dreamhack, consider that you might be missing some packages. For instance, OpenID no longer works unless you have the libraries installed on your system:

apt-get install libnet-openid-consumer-perl libnet-openid-server-perl

You can run a check config to see if it has any warnings for you:

bin/checkconfig.pl

Correct version of Perl

You need a 64-bit Perl to run Dreamwidth. If the Linux distribution you're using is 64-bit, then you should have a 64-bit version of Perl already. If you're not sure, though, this command will tell you:

perl -e 'print unpack("Q", pack("Q", length(sprintf("%b", ~0)))) . "-bit\n";'

This should print out "64-bit". If it prints anything else, or gives you any errors (like "Invalid type 'Q'"), it's not 64-bit.

Also, the version of Perl used in the "Lucid" distribution of Ubuntu (5.10.1-8ubuntu2.1) has a bug in it that the Dreamwidth code can run into; if you're using that version, you may want to upgrade. Perl 5.8 is no longer considered supported for Dreamwidth development as of 2012 July 18.