How to install GD library in php?
when I tried to use imagefromjpeg() function in PHP,it throwed error.So, I tried to install GD library using the following command:
sudo apt-get install php5-gd
But I got the following error.
php5-gd : Depends: php5-common (= 5.5.9+dfsg-1ubuntu4) but 5.5.10+dfsg-1+deb.sury.org~saucy+1 is to be installed
E: Unable to correct problems, you have held broken packages.
I am using Ubuntu 14.04LTS. I recently upgraded my OS from ubuntu 13.10. How to overcome this error?
The output of dpkg -l|grep php
is :
ii cakephp 1.3.15-1 all MVC rapid application development framework for PHP
ii cakephp-scripts 1.3.15-1 all MVC rapid application development framework for PHP (scripts)
ii libapache2-mod-php5 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii libedit2:amd64 3.1-20130712-2+debphp.org~saucy+3 amd64 BSD editline and history libraries
ii libjson-c2:amd64 0.11-3+debphp.org~saucy+1 amd64 JSON manipulation library - shared library
ii libjson-c2:i386 0.11-3+debphp.org~saucy+1 i386 JSON manipulation library - shared library
ii libjson0:amd64 0.11-3+debphp.org~saucy+1 amd64 JSON manipulation library (transitional package)
ii php-gettext 1.0.11-1 all read gettext MO files directly, without requiring anything other than PHP
ii php-pear 5.5.10+dfsg-1+deb.sury.org~saucy+1 all PEAR - PHP Extension and Application Repository
ii php5 5.5.10+dfsg-1+deb.sury.org~saucy+1 all server-side, HTML-embedded scripting language (metapackage)
ii php5-cgi 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 server-side, HTML-embedded scripting language (CGI binary)
ii php5-cli 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 command-line interpreter for the php5 scripting language
ii php5-common 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 Common files for packages built from the php5 source
ii php5-curl 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 CURL module for php5
ii php5-dev 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 Files for PHP5 module development
rc php5-gd 5.4.9-4ubuntu2.4 amd64 GD module for php5
ii php5-imagick 3.1.2-1+debphp.org~saucy+1 amd64 ImageMagick module for php5
ii php5-json 1.3.2-3+debphp.org~saucy+1 amd64 JSON module for php5
ii php5-mcrypt 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 MCrypt module for php5
rc php5-mysql 5.4.9-4ubuntu2.4 amd64 MySQL module for php5
ii php5-mysqlnd 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 MySQL module for php5 (Native Driver)
ii php5-pgsql 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 PostgreSQL module for php5
ii php5-readline 5.5.10+dfsg-1+deb.sury.org~saucy+1 amd64 Readline module for php5
ii php5-xdebug 2.2.3-2build1 amd64 Xdebug Module for PHP 5
ii phpmyadmin 4:4.0.10-1 all MySQL web administration tool
ii pkg-php-tools 1.11 all various packaging tools and scripts for PHP packages
Solution 1:
It seems you have installed PHP via launchpad PPA:
https://launchpad.net/~ondrej/+archive/php5
Check your apt sources.list if the ppa is still active. On 14.04, you should have these repos active:
deb http://ppa.launchpad.net/ondrej/php5/ubuntu trusty main
deb-src http://ppa.launchpad.net/ondrej/php5/ubuntu trusty main
Explanation:
It seems you had the additional PHP-launchpad repository added before, but it was deactivated during dist-upgrade. Because of that, apt tried to install php5-gd
from the standard debian repo, but this version also needs a standard php-common as dependency (which you don't have). By activating the launchpad repo again, php5-gd
has been installed from there and all your other php packages should have been upgraded to the Ubuntu 14.04 ("trusty") versions from the ppa.