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

  • Linux tftp listens on all interfaces and IPs by DEFAULT Security Risk Hole Solution
  • python import docx error
  • Cisco Unified Communications Manager Express Cheatsheet CUCME CME
  • Linux Ubuntu Debian Missing privilege separation directory: /var/run/sshd
  • bash how to count the number of columns or words in a line
  • bash if statement how to test program output without assigning to variable
  • RTNETLINK answers: Network is unreachable
  • Centos 7 how to save iptables rules like Centos 6
  • nfs tuning maximum amount of connections
  • qemu-kvm error "Could not initialize SDL(No available video device) - exiting"
  • Centos 7 tftpd will not work with selinux enabled
  • Debian Ubuntu Mint Howto Create Bridge (br0)
  • How To Control Interface that dhcpd server listens to on Debian based Linux like Mint and Ubuntu
  • LUKS unable to type password to unlock during boot on Debian, Ubuntu and Mint
  • Debian Ubuntu and Linux Mint Broken Kernel After Date - New Extra Module Naming Convention
  • Wordpress overwrites and wipes out custom htaccess rules and changes soluton
  • Apache htaccess and mod_rewrite how to redirect and force all URLs and visitors to the SSL / HTTPS version
  • python 3 pip cannot install mysql module
  • QEMU-KVM won't boot Windows 2016 or 2019 server on an Intel Core i3
  • Virtualbox vbox not starting