The System Library ‘GD’ is not registered
So… It appears that I am not the only one who ran into this issue, and not actually having run into it directly myself, it was a little tricky to get to the root of the problem. In case you have no idea what I am talking about, I am talking about Miva Merchant and libGD configuration. Specifically when you upgrade Miva Merchant there can be an issue.
There are some helper tools found with the download of Empressa to help you to get started. The idea is this: use the tools available to tell you that what you have configured so far is being applied correctly. The MivaVM is pretty sophisticated and supports many different configurations as well as customized configurations, but at the heart, you should be editing your apache or webserver configurations to allow this to happen.
Typical locations for your httpd.conf file can be found in /etc either in
/etc/httpd/conf/httpd.conf,
/etc/apache2/conf/httpd.conf,
but if you are running virtualhosts, that can be found sometimes in /etc/apache2/sites-enabled which contains links to files within /etc/apache2/sites-available.
Further complicating the matter is if you have an automated virtualhosting system like Plesk or CPanel.
In my case, the system was Plesk based so the config files for virtual hosts lies in /var/www/yourdomain.com/conf
The file that needs to be edited is vhosts.conf as opposed to httpd.include which is modified by the web system and will overwrite your changes.
The line you are looking for to add to this file looks like the following:
SetEnv MvCONFIG_SYSTEMLIB_GD /usr/lib/libgd.so.2
However, there is an alternate form if you are using suexec
SetEnv HTTP_MvCONFIG_SYSTEMLIB_GD /usr/lib/libgd.so.2
You should check for existing lines and compare them as they should be similar ( Ie with HTTP_ or not ).
Once you have made this change and RESTARTED THE WEBSERVER, you should check the diag6.mvc in your mivaroot ( NOTE: copied from the tools folder in your miva installation or download ) and look for, and verify the path to libgd.
To verify the path from the console, you can simply do an:
ls -al [path-to-lib]|grep libgd or ls -al /usr/lib|grep libgd as an example
If you get a result, make sure that all dependencies are met with:
ldd -d [path-to-lib][lib-file-name] or ldd -d /usr/lib/libgd.so as an example
NOTE: if you see linux-gate.so or ld-linux.so with no path to libs, that is ok, you should probably look for something that doesn’t have an address and a path, but has possibly (missing) or (not found) in brackets.
If you are still having issues, check the method for configuration loading is set to environment or config by looking for:
HTTP_MvCONFIG_LIBRARY /[path-to-miva-install]/config/env.so
HTTP_MvCONFIG_LIBRARY /[path-to-miva-install]/config/x3.so
MvCONFIG_LIBRARY /[path-to-miva-install]/config/env.so
MvCONFIG_LIBRARY /[path-to-miva-install]/config/x3.so
Any of these, but not multiple should help tell you how you are configed ( either by file or environment variables)
It is also possible to copy the file from the miva install or download /config into a file in cgi-bin to libmivaconf.so in order to choose config style, so if all else fails, put your config in all places until you realize it in the diag6.mvc page.
Happy Coding.
Final NOTE: the README.txt file was helpful as well as the mivascript forums in shedding light on config, but unless you can find the files to change ( Plesk, CPanel, “normal” linux config ) it can be a nightmare.
Hi,
Cheers for the pointers, was pretty similar for Miva on cPanel/CentOS(x86_64), the following was required in each site’s mivavm.conf, e.g. /home/account/public_html/cgi-bin/mivavm.conf
Steve G