libxo icon indicating copy to clipboard operation
libxo copied to clipboard

1.3.1 Ubuntu 18.04 WSL missing so

Open resonancellc opened this issue 5 years ago • 3 comments

./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 | --base -c | --command -f | --file

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

resonancellc avatar Nov 17 '19 04:11 resonancellc

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

philshafer avatar Nov 18 '19 01:11 philshafer

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]

resonancellc avatar Nov 18 '19 05:11 resonancellc

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

philshafer avatar Nov 18 '19 16:11 philshafer