libxo
libxo copied to clipboard
1.3.1 Ubuntu 18.04 WSL missing so
./configure make make test make install
root@DESKTOP:/mnt/c/wsl/libxo-1.3.1# xo --version xo: error while loading shared libraries: libxo.so.0: cannot open shared object file: No such file or directory
xo xohtml xolint xopo
root@DESKTOP:/mnt/c/wsl/libxo-1.3.1# xohtml
xohtml: wrap libxo-enabled output in HTML
Usage: xohtml [options] [command [arguments]]
Valid options are:
-b
root@DESKTOP:/mnt/c/wsl/libxo-1.3.1# xolint xolint [options] files ... -c invoke 'cpp' on input -C flags Pass flags to cpp -d Show debug output -D Extract xolint documentation -I Print xo_info_t data -p Print input data on errors -V Print vocabulary (list of tags) -X Print examples of invalid use
root@DESKTOP:/mnt/c/wsl/libxo-1.3.1# xopo xopo: error while loading shared libraries: libxo.so.0: cannot open shared object file: No such file or directory
root@DESKTOP:/mnt/c/wsl/libxo-1.3.1#libxo-config Usage: libxo-config [OPTION]
Known values for OPTION are:
--prefix=DIR change libxo prefix [default /usr/local] --exec-prefix=DIR change libxo exec prefix [default /usr/local] --libs print library linking information --bindir print the bin directory --cflags print pre-processor and compiler flags --share print share directory --help display this help and exit --version output version information
root@DESKTOP:/mnt/c/wsl/libxo-1.3.1# libxo-config --cflags --libs --share -I/usr/local/include -D_GNU_SOURCE -g -O2 -L/usr/local/lib -lxo /usr/local/share/libxo
Is the library (libxo.so.0) installed in /usr/local/lib? What does "ldd /usr/local/bin/xo" report? Also "ldconfig -r" may be helpful.
Thanks, Phil
If I had to guess, I would think perhaps one of these asterisks is at fault here. Let me know if I can provide anything else to assist here.
ll /usr/local/lib/ total 1320 drwxr-xr-x 1 root root 4096 Nov 16 22:36 ./ drwxr-xr-x 1 root root 4096 Jul 25 2018 ../ drwxr-xr-x 1 root root 4096 Nov 16 22:29 libxo/ -rw-r--r-- 1 root root 674846 Nov 16 22:36 libxo.a -rwxr-xr-x 1 root root 907 Nov 16 22:36 libxo.la* lrwxrwxrwx 1 root root 14 Nov 16 22:36 libxo.so -> libxo.so.0.0.0* lrwxrwxrwx 1 root root 14 Nov 16 22:36 libxo.so.0 -> libxo.so.0.0.0* -rwxr-xr-x 1 root root 462112 Nov 16 22:36 libxo.so.0.0.0* drwxr-xr-x 1 root root 4096 Nov 16 22:36 pkgconfig/ drwxrwxr-x 1 root staff 4096 Oct 10 03:20 python2.7/ drwxrwsr-x 1 root staff 4096 Jul 25 2018 python3.6/
ldd /usr/local/bin/xo linux-vdso.so.1 (0x00007fffe054f000) libxo.so.0 => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f47b2310000) /lib64/ld-linux-x86-64.so.2 (0x00007f47b2a00000)
ldconfig -r
/sbin/ldconfig.real: option requires an argument -- 'r'
Try ldconfig.real --help' or
ldconfig.real --usage' for more information.
root# ldconfig.real --help
Usage: ldconfig.real [OPTION...]
Configure Dynamic Linker Run Time Bindings.
-c, --format=FORMAT Format to use: new, old or compat (default) -C CACHE Use CACHE as cache file -f CONF Use CONF as configuration file -i, --ignore-aux-cache Ignore auxiliary cache file -l Manually link individual libraries. -n Only process directories specified on the command line. Don't build cache. -N Don't build cache -p, --print-cache Print cache -r ROOT Change to and use ROOT as root directory -v, --verbose Generate verbose messages -X Don't update symbolic links -?, --help Give this help list --usage Give a short usage message -V, --version Print program version
Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.
For bug reporting instructions, please see: https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs. root# ldconfig.real --usage Usage: ldconfig.real [-ilnNpvX?V] [-c FORMAT] [-C CACHE] [-f CONF] [-r ROOT] [--format=FORMAT] [--ignore-aux-cache] [--print-cache] [--verbose] [--help] [--usage] [--version]
On Nov 18, 2019, at 12:30 AM, Resonance LLC [email protected] wrote:
If I had to guess, I would think perhaps one of these asterisks is at fault here. Let me know if I can provide anything else to assist here.
The asterisk is “ls”s’ way of telling you the file is marked executable.
ll /usr/local/lib/ lrwxrwxrwx 1 root root 14 Nov 16 22:36 libxo.so -> libxo.so.0.0.0* lrwxrwxrwx 1 root root 14 Nov 16 22:36 libxo.so.0 -> libxo.so.0.0.0* -rwxr-xr-x 1 root root 462112 Nov 16 22:36 libxo.so.0.0.0*
This means that the library definitely is installed correctly. Good news!
ldd /usr/local/bin/xo
linux-vdso.so.1 (0x00007fffe054f000) libxo.so.0 => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f47b2310000) /lib64/ld-linux-x86-64.so.2 (0x00007f47b2a00000)
This means that the loader is not finding libxo, which I’d assume means that it’s not looking in /usr/local/lib for libraries.
ldconfig -r /sbin/ldconfig.real: option requires an argument -- ‘r'
That’s interesting. The “-r” option has a different meaning that under FreeBSD, where it means:
-r List the current contents of the hints file on the standard
output. The hints file is not modified. The list of directories
stored in the hints file is included.
Under linux, it means:
-r root
Change to and use root as the root directory.
So much for compatibility, eh?
So instead try “ldconfig -p”, which means:
-p, --print-cache
Print the lists of directories and candidate libraries stored
in the current cache.
Could you also run “ls /opt/local/lib/“ and see if that’s the preferred location for your linux distro? If you see a nice selection of libraries in that directory, then you should:
- Remove the current libxo install using make uninstall
- reconfigure with the prefix “/opt/local” ../configure --prefix /opt/local
- rebuild make clean && make && make test && make install
Then rerun your “ldd /opt/local/bin/xo” and see if you’ve succeeded.
Thanks, Phil