Archive for category Fixing Errors
Installing the ssh2 PHP extension, with PHP 5.3
Posted by Adam in Fixing Errors, Linux, PHP, Programming on Sunday March 21, 2010
WARNING: Please read before continuing ▼
Difficulty: Moderate
Time: ~5 Minutes
Last Updated: 21st March 2010
Applies to: *NIX
Currently, due to an API change ssh2 will not install via pecl. Despite being a one-line fix, and 5.3 being out for some months now, the maintainers have neglected to make their extension compatible with PHP 5.3
If you recieve an error similar to:
1 2 | /tmp/pear/download/ssh2-0.11.0/ssh2.c:52: error: duplicate "static" /tmp/pear/download/ssh2-0.11.0/ssh2.c: In function "zif_ssh2_methods_negotiated": |
Then you are affected. To fix this, you need to download and extract the ssh2 package:
1 2 | pecl download channel://pecl.php.net/ssh2-<version> tar xvf ssh-<version>.tar |
Open up ssh2-<version>/ssh2.c and look for the following block around line 50:
1 2 3 4 5 6 7 8 | #ifdef ZEND_ENGINE_2 static ZEND_BEGIN_ARG_INFO(php_ssh2_first_arg_force_ref, 0) ZEND_ARG_PASS_INFO(1) ZEND_END_ARG_INFO() #else static unsigned char php_ssh2_first_arg_force_ref[] = { 1, BYREF_FORCE }; #endif |
From that block, you need to remove the first “static” so it looks like this:
1 2 3 4 5 6 7 | #ifdef ZEND_ENGINE_2 ZEND_BEGIN_ARG_INFO(php_ssh2_first_arg_force_ref, 0) ZEND_ARG_PASS_INFO(1) ZEND_END_ARG_INFO() #else static unsigned char php_ssh2_first_arg_force_ref[] = { 1, BYREF_FORCE }; #endif |
After you’ve done this, simply repackage and install:
1 2 | pecl package package.xml pecl install -f ssh2-<version>.tgz |
Comparing the contents of 2 directories
Posted by Adam in Fixing Errors, Linux, OS X, Uncategorized on Monday November 9, 2009
WARNING: Please read before continuing ▼
Difficulty: Easy
Time: Varies
Last Updated: 9th November 2009
Applies to: OS X, and Linux
Sometimes, you can end up with multiple copies of a directory from different times. If the number of files is small, then comparing the contents is easy. With large directories, telling the difference between them can be nearly impossible.
Clearing cached DNS entries
Posted by Adam in Fixing Errors, Linux, OS X, Uncategorized, Windows on Sunday November 1, 2009
WARNING: Please read before continuing ▼
Difficulty: Expert
Time: ~1 Minute
Last Updated: 1st November 2009
Applies to: Windows, OS X, and Linux
Sometimes, when messing around with domain names (the DNS system), you’ll mis-type an address, and be unable to access your site for a significant length of time. Assuming that the incorrect entry has not been cached on another DNS server somewhere between you and your host, you can clear the list of cached addresses on your own machine to resolve the problem.
Removing Antivirus Pro 2010
Posted by Adam in Fixing Errors, Improving Security, Windows on Monday October 12, 2009
WARNING: Please read before continuing ▼
Difficulty: Easy
Time: ~30 Minutes
Last Updated: 12th October 2009
Applies to: Windows
Antivirus Pro 2010 is a variety of malware that pops up fake antvirus notifications attempting to coerce you into paying for a full version to remove these fake infections. Whilst its constant nagging is irritating, it is relatively mild as far as malware goes and is fairly simple to remove though it is often packaged with other more serious malware.
Recovering from ‘ImportError: No module named pysqlite2′ after upgrading python on a Gentoo Linux system
Posted by Adam in Fixing Errors, Linux on Sunday October 4, 2009
WARNING: Please read before continuing ▼
Difficulty: Moderate
Time: ~30 Minutes, depending on CPU speed/internet connection
Last Updated: 4th October 2009
Applies to: Gentoo Linux
Symptoms:
When running emerge after a major upgrade of pythons core files (dev-lang/python), you get an error similar to (other information may be included in the error message):
ImportError: No module named pysqlite2
emerge will fail to work as a result of this. Additionally, if you run /usr/sbin/python-updater, that will fail too, with a similar error.