Results 1 to 3 of 3
Enjoy an ad free experience by logging in. Not a member yet? Register.
- Join Date
- Oct 2005
How to safely update perl? (Without breaking Mandrake's URPMI and drake*...)
# cat /etc/mandrake-release Mandrakelinux release 10.1 (Official) for i586
# urpmi MySQL
Can't locate URPM.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/i386-linux /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i386-linux /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i386-linux /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/vendor_perl/5.8.5/urpm.pm line 16.
For my previous post on how I reverted back to my previous perl installation.
But how can I actually upgrade my perl installation to 5.8.6 without everything breaking! What is the "safe" way to upgrade perl in Mandrake (considering that so many Mandrake tools rely on perl)?
My guess is that the problem occurs precisely because URPMI uses perl, and so it has trouble updating itself. So I decided to try installing the newer perl using "rpm" instead of "urpmi":
# rpm -Uhv perl-base-5.8.6-6.2.102mdk.i586.rpm --nodeps # rpm -Uhv perl-5.8.6-6.2.102mdk.i586.rpm
Have other Mandrake users not run into this problem? Is there any fix or workaround? Any help would be greatly appreciated. Please note that this particular box runs as a server for various things, so rebooting it is a last resort.
- Join Date
- Oct 2005
Update on my problem...
I have not figured out any way to upgrade perl, which is quite bothersome. I found other posts online describing similar problems:
One of the posters goes so far as to say that it is impossible to upgrade to perl 5.8.6 on Mandrake 10.1. It would appear that simply installing the newest Mandriva is the only way to get the latest perl.
On the other hand, my original problem was getting MySQL to work. So what I did instead was to download the RPMs from the MySQL page:
And install them:
# urpmi MySQL-server-4.0.20-0.i386.rpm # urpmi MySQL-client-4.0.20-0.i386.rpm
Fatal error: Call to undefined function: mysql_connect() in /var/www/html/test/index.php on line 19
However despite trying many of the things suggested, I still can't get it to work. I'm using "Mandrakelinux release 10.1 (Official) for i586", and in the file "/etc/php.ini" it points out some ways in which Mandrake uses PHP differently. Despite accounting for those differences, I can't get it to work.
When I open the MySQL portion of webmin I see a warning:
Warning, the following package(s) are missing from your system for reliable access to your MySQL database: perl-DBI perl-Mysql. To install them, you may use the graphical program rpmdrake or the commandline program urpmi. Then, re-load this page.
# urpmi perl-DBI Everything already installed # urpmi perl-Mysql To satisfy dependencies, the following 3 packages are going to be installed (20 MB): perl-5.8.6-6.2.102mdk.i586 perl-DBD-mysql-2.9004-6mdk.i586 perl-base-5.8.6-6.2.102mdk.i586 Is this OK? (Y/n) n
Essentially, my problem as it now stands is that PHP works, MySQL works, but they cannot interface properly... and I can't find a combination of MySQL and associated libraries versions that doesn't require perl 5.8.6. If anyone has any ideas about how to upgrade to perl 5.8.6 (on Mandrake 10.1) and/or how to get my current install of MySQL working (MySQL 4.0.20) without upgrading perl, let me know!
- Join Date
- Oct 2005
Got MySQL working; perl not possible
For anyone who reads this thread later, here is the solution that worked for me. It is a partial solution: I was not able to upgrade perl, but I did manage to get MySQL working properly. In fact, from the checking I've done, it appears impossible to upgrade perl on Mandrake 10.1. This problem apparently doesn't exist in newer versions of Mandriva, so a full upgrade or install of a new version would fix it.
To get MySQL to work, here's what I did: I realized that the version of MySQL that shipped with my Mandrake installation (10.1 Official) should be compatible with the installed version of perl (5.8.5). The install CDs can be found here:
First I uinstalled all the various MySQL bits that I had lying around:
# urpme MySQL-server-4.0.20-0.i386.rpm # urpme MySQL-client-4.0.20-0.i386.rpm
# cd /mnt/cdrom/media/main2/ # urpmi php-mysql-4.3.8-1mdk.i586 # urpmi libmysql12-4.0.20-3mdk.i586.rpm # urpmi MySQL-client-4.0.20-3mdk.i586.rpm # urpmi perl-Data-ShowTable-3.3-9mdk.noarch.rpm # urpmi perl-Mysql-1.22_19-9mdk.i586.rpm # urpmi MySQL-common-4.0.20-3mdk.i586.rpm # urpmi MySQL-4.0.20-3mdk.i586.rpm
Some notes: the above order should be correct to satisfy dependencies. Also, make sure the versions match up and work. At first this install didn't work beacause I still had an old package from my previous unsuccessful attempts at getting MySQL to work (specifically I had php-mysql-4.3.10-7mdk.i586 when I actually needed php-mysql-4.3.8-1mdk.i586).
Then you can do the usual MySQL configuration stuff. For more info:
So I initialized the install:
# /usr/bin/mysql_install # /usr/bin/mysql_install_db
$ /usr/bin/mysqladmin -u root password 'new-password' $ /usr/bin/mysqladmin -u root -h barrett6 password 'new-password'
# /usr/bin/mysqld_safe &
Some excellent advice for making sure PHP is configured to talk to MySQL can be found here:
For instance, to the file /etc/php.ini I uncommented/modified the lines:
extension=mysql.so extension_dir = /usr/lib/php/extensions mysql.default_socket = /var/lib/mysql/mysql.sock
And to get it to PHP to notice the changes, you restart apache:
# service httpd restart
The above worked for me. I now have a functioning PHP/MySQL system. I will just have to live without the latest perl.