Description:
ERROR 1126 (HY000) at line 33: Can't open shared library 'libmy_json_udf.so' (errno: 2 libpcreposix.so.0: cannot open shared object file: No such file or directory)
ERROR 1126 (HY000) at line 33: Can't open shared library 'libmy_json_udf.so' (errno: 0 libpcre.so.0: cannot open shared object file: No such file or directory)
How to repeat:
Download pre-compiled UDFs and try to install them.
Some extra info (with the symlink work-around in place!)
root:/usr/lib/x86_64-linux-gnu# ls -l libpcre{posix,}.so*
lrwxrwxrwx 1 root root 22 Mar 11 2013 libpcreposix.so -> libpcreposix.so.3.13.1
lrwxrwxrwx 1 root root 15 Jan 1 11:45 libpcreposix.so.0 -> libpcreposix.so
lrwxrwxrwx 1 root root 22 Mar 11 2013 libpcreposix.so.3 -> libpcreposix.so.3.13.1
-rw-r--r-- 1 root root 10312 Mar 11 2013 libpcreposix.so.3.13.1
lrwxrwxrwx 1 root root 34 Mar 11 2013 libpcre.so -> /lib/x86_64-linux-gnu/libpcre.so.3
lrwxrwxrwx 1 root root 10 Jan 1 11:47 libpcre.so.0 -> libpcre.so
root:/usr/lib/x86_64-linux-gnu# dpkg -S /usr/lib/x86_64-linux-gnu/libpcre{posix,}.so*
libpcre3-dev:amd64: /usr/lib/x86_64-linux-gnu/libpcreposix.so
dpkg-query: no path found matching pattern /usr/lib/x86_64-linux-gnu/libpcreposix.so.0
libpcre3:amd64: /usr/lib/x86_64-linux-gnu/libpcreposix.so.3
libpcre3:amd64: /usr/lib/x86_64-linux-gnu/libpcreposix.so.3.13.1
libpcre3-dev:amd64: /usr/lib/x86_64-linux-gnu/libpcre.so
dpkg-query: no path found matching pattern /usr/lib/x86_64-linux-gnu/libpcre.so.0
root:/usr/lib/x86_64-linux-gnu# apt-cache policy libpcre3-dev libpcre3:amd64
libpcre3-dev:
Installed: 1:8.31-2
Candidate: 1:8.31-2
Version table:
*** 1:8.31-2 0
500 http://nl.archive.ubuntu.com/ubuntu/ raring/main amd64 Packages
100 /var/lib/dpkg/status
libpcre3:
Installed: 1:8.31-2
Candidate: 1:8.31-2
Version table:
*** 1:8.31-2 0
500 http://nl.archive.ubuntu.com/ubuntu/ raring/main amd64 Packages
100 /var/lib/dpkg/status
Suggested fix:
A quick work-around is to symlink the libraries
root:/usr/lib/x86_64-linux-gnu# ln -s libpcreposix.so libpcreposix.so.0
root:/usr/lib/x86_64-linux-gnu# ln -s libpcre.so libpcre.so.0
An option would be to ship a different .so file for Ubuntu or make sure the UDF uses libpcre.so instead libpcre.so.0