gcc -o actions.cgi actions.c -L/usr/local/mysql/include/mysql/ -L/usr/local/mysql/lib/mysql -lmysqlclient
но это сказалось тем, что при работе на сервере *.cgi, исходником которого и является разбираемый си файл, у меня ошибка 500 (Internal Server Error)
А из командной строки запустить и сказать ошибку слабо? Что ldd говорит? Полагаю, что so-шник лежит там, где ld.so его не ищет. Тогда -static, или править /etc/ld.so.conf + ldconfig, или (самое простое) собирать с установленным LD_RUN_PATH.