ls: error while loading shared libraries: libtermcap.so.2: cannot open shared object file: No such file or directory solution

ls
ls: error while loading shared libraries: libtermcap.so.2: cannot open shared object file: No such file or directory

This is not an ldd problem or case of anything missing, this only happened after I upraded Ubuntu.

declare -x PATH="/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/games"

"/home/user/bin" is the problem!  It's weird because I have no idea how it happened.

Other users don't have this problem and when typing "export" you see their PATH is set differently:

declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"

Solution
fix it like this: export PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"

*The proper solution

Check your "~/.profile" file, you'll notice that it has a weird feature to look for a bin directory in your home path.

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
~                 

It turns out I do have a ~/bin path, I just moved bin to bin-disable and logged in again and the problem was solved.

This is kind of a weird and annoying quirky feature, if it can't find the libraries in the first path why doesn't it check the other paths (which it obviously doesn't since that's why we get thsoe .so mising errors)?


Tags:

ls, loading, libraries, libtermcap, directory, solutionls, ldd, upraded, ubuntu, declare, quot, user, bin, usr, users, typing, export, ll, feature, executed, interpreter, login, shells, bash, bash_profile, bash_login, examples, startup, located, default, umask, etc, ssh, logins, install, configure, libpam, bash_version, bashrc, fi, includes, disable, logged, quirky, doesn, paths, thsoe, mising, errors,

Latest Articles

  • How to combine .txt ACLs without breaking things
  • How to ping all of Googlebot's IPs script
  • 'virtio0' uses a qcow2 feature which is not supported by this qemu version: QCOW version 3
  • Linux bash script to get the IP of a list of hostnames
  • How To Use Camera Webcam in Docker for OBS Studio etc...
  • Computer Server Won't Post Boot Or Enter BIOS Setup After Installing RAID SAS or GPU Card etc..
  • How To Test PHP Scripts from CLI with GET variables/query string
  • apt-cache how to see all available versions of a package in Debian Ubuntu Mint
  • Virtualbox VBox Guest-utils drag and drop files stops working with Windows VMs
  • How To Remove Ubuntu Netplan and Go Back to /etc/network/interfaces
  • How To Force Flash an AMD Instinct GPU To Another Model Using Debian Ubuntu Mint Linux
  • How To compile ollama from source to use unsupported AMD GPU with rocm in Ubuntu Debian
  • QEMU KVM Virtio GPU Windows Cannot Select 1080P
  • Linux Gnome Desktop Ubuntu Mint Debian Gets Slower After Weeks
  • Firefox How to Save Full Page As Screenshot/PDF
  • Nvidia Datacenter Driver Tesla Slow nvidia-smi response and high utilization with 0 usage
  • ffmpeg how to normalize / increase the volume of your audio
  • kdenlive audio blips pops cracks artifacts solution fix
  • haproxy / nginx certbot SSL issues
  • nginx how to see the real IP when behind a CDN