Skip to content
This repository was archived by the owner on Dec 30, 2023. It is now read-only.
This repository was archived by the owner on Dec 30, 2023. It is now read-only.

ImportError: libpcl_keypoints.so.1.7: cannot open shared object file: No such file or directory #317

Open

Description

@aj96

Getting the error message as shown in the title every time I try to import pcl

Your Environment

  • Operating System and version: Ubuntu 18.04
  • Compiler: g++ (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  • PCL Version: 1.8
  • Cython Version: 0.29.12

Ran

sudo apt-get install libpcl-dev -y
pip install python-pcl

But every time I try to import pcl, I get the error shown above. It seems like running apt-get install libpcl-dev installed /usr/lib/x86_64-linux-gnu/libpcl_keypoints.so. Why is it looking for libpcl_keypoints.so.1.7?

Activity

  1. xiaoFine commented on Sep 12, 2019

    @xiaoFine

    Same error.

    ==Update===
    I switch to Ubuntu 16.04 LTS and no more module import error.

    ==Update 2===
    I tried Ubuntu 18.04 again and it works now.

    Check version

    It turns out that you need to apt install libpcl-dev of version 1.7.x . But the default version of libpcl-dev on Ubuntu 18.04 is 1.8.1+dfsg1-2ubuntu2.18.04.1 ( you can run apt-cache policy libpcl-dev to check it out).

    So I run apt-cache madison libpcl-dev to check out the candidate version of libpcl-dev and I find there is only one 1.7 version is available.

    P.S. Modify you apt source since libpcl-dev1.7 is only available for xenial (16.04LTS) version and default source on Ubuntu 18.04 is bionic (18.04LTS).

    Installation

    Then I run sudo apt-get install libpcl-dev=1.7.2-14build1 but get some dependency problems. So I install the dependencies as demanded and finally it works.

    P.S. some dependency package dependent on children dependencies and just keep patient.

    Validation

    run

    cd \usr\lib 
    find | grep keypoints
    

    and you'll get

    ./x86_64-linux-gnu/libpcl_keypoints.so.1.7
    ./x86_64-linux-gnu/libpcl_keypoints.so.1.7.2
    

    as supposed.

  2. anshulpaigwar commented on Dec 24, 2019

    @anshulpaigwar

    apt-cache madison libpcl-dev

    @xiaoFine this command gives me following output:

    libpcl-dev | 1.8.1+dfsg1-2ubuntu2.18.04.1 | http://fr.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
    libpcl-dev | 1.8.1+dfsg1-2ubuntu2 | http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
    

    There is no available 1.7 version of libpcl-dev for ubuntu 18.04. Could you help me how did you manged to install 1.7 version ??

  3. xiaoFine commented on Dec 27, 2019

    @xiaoFine

    @anshulpaigwar

    For me i just add xenial apt source by editing /etc/apt/sources.list ( I use Chinese-apt-source to accelerate and you can change to other xenial sources):

    ## {default source address of bionic here} ##
    
    ## Add xenial source here
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    

    Then update it by runnnig:

    sudo apt update 
    apt-cache madison libpcl-dev

    you are supposed to get following outputs in you Ubuntu 18.04 LTS

    libpcl-dev | 1.8.1+dfsg1-2ubuntu2.18.04.1 | https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates/universe amd64 Packages
    libpcl-dev | 1.8.1+dfsg1-2ubuntu2 | https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic/universe amd64 Packages
    libpcl-dev | 1.7.2-14build1 | https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial/universe amd64 Packages
    
  4. IsmaelElHouas commented on Jan 15, 2020

    @IsmaelElHouas

    Some of your source address are not being recognised, and when I do apt-cache madison libpcl-dev I don't get the 1.7 version.

    How can I solve it?

    Thanks:)

  5. IeiuniumLux commented on Jan 27, 2020

    @IeiuniumLux

    Hello @Sirokujira,

    Installing v0.3.0rc1 from source works around this issue with libpcl_keypoints.so.1.7 on Ubuntu 18.04. However, would you mind building a new release (e.g. v0.3.0a2 or v0.3.0b1) using a newer version of the libpcl_keypoints.so (e.g. libpcl_keypoints.so.1.8) and release it into PyPI so it can be installed on Ubuntu 18.04 by just running pip install python-pcl. TIA!

    tar zxf python-pcl-0.3.0rc1.tar.gz
    cd python-pcl-0.3.0rc1
    python setup.py install
    
  6. xiaoFine commented on Jan 28, 2020

    @xiaoFine

    Some of your source address are not being recognised, and when I do apt-cache madison libpcl-dev I don't get the 1.7 version.

    How can I solve it?

    Thanks:)

    @IsmaelElHouas Sorry for delay. I found some official sources and you can have a try.

    https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1

  7. Dhvani-Katkoria commented on Feb 26, 2020

    @Dhvani-Katkoria

    sudo apt-get install libpcl-dev=1.7.2-14build1

    @xiaoFine
    I faced the same error and tried running above command as suggested and with that while installing child dependencies libpcl_keypoints.so.1.7 error is gone.
    But while installing other dependencies such as libpcl_surface.so.1.7 that came across while running above command, a conflict is generated for libopenmpi version between bionic(18.04) and xenial(16.04) due two different dependencies of vtk6.2 for libpcl_surface.so.1.7 depends on openmpi version 1.10 while libboost-all-dev depends on 2.1 version.

    Because of it I am unable to install libpcl-dev=1.7.2-14build1 library completely on ubuntu18.04.
    Could you help me how did you manage with that part?

    Thanks

  8. xiaoFine commented on Mar 6, 2020

    @xiaoFine

    @Dhvani-Katkoria

    ref this:
    https://github.com/strawlab/python-pcl/issues/158#issuecomment-404131363

  9. Abbsalehi commented on May 13, 2020

    @Abbsalehi

    Thank you for your answers.

    I tried so much to solve this problem, and surfed all answers on the web. One drawback among the answers is this line code: "sudo apt-get install libpcl-dev -y". If you run this command, it will install libpcl-dev with higher version which will be conflicted to that libpcl-dev 1.7 you will install later. So please do not do anything and listen to me to solve the problem. here are some steps to hit the problem:

    Step 1: find Ubuntu 16 source.list and add one by one of its repositories to your Ubuntu(for example version 20). you can find it in this link: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1

    Step 2: run "sudo apt update", now libpcl-dev 1.7 has been installed successfully. you can run this command to see :"apt-cache policy libpcl-dev"

    Step 3: run: "python", then "import pcl", you will receive such this error: ImportError: libpcl_keypoints.so.1.7, ok do not worry, copy "libpcl_keypoints.so.1.7" and go to this website and paste within its search box: https://debian.pkgs.org/8/debian-main-amd64, there you will see such this: "sudo apt-get install libpcl-keypoints1.7", run it on the terminal.

    Step 4: type "python" on the terminal, then " import pcl ". you will see another error for example: "libpcl-outofcore1.7", again search it that website and do as previous step.

    Step 5: repeat step 3 and 4 till you can import pcl successfully.

    I did and worked for me :D

    Moreover, I repeated the process to install PCL and also prepared these steps to resolve the problem easily. You can follow these steps to install PCL successfully.

    Step1: Add Ubuntu 16 source list

    Step2: sudo apt-get update

    step3: pip install python-pcl

    step4: sudo apt-get install libpcl-keypoints1.7

    step5: sudo apt-get install libpcl-outofcore1.7

    step6: sudo apt-get install libpcl-people1.7

    step7: sudo apt-get install libpcl-recognition1.7

    step8: sudo apt-get install libpcl-registration1.7

    step9: sudo apt-get install libpcl-segmentation1.7

    step10: sudo apt-get install libpcl-surface1.7

    Now, if you get error "libpng12-0", do this:

    sudo add-apt-repository ppa:linuxuprising/libpng12

    sudo apt update

    sudo apt-get install libpng12-0

    Step11: sudo apt-get install libpcl-tracking1.7

    Step12: sudo apt-get install libflann1.8
    Step13: sudo apt-get install libpcl-visualization1.7

    Step14: python

    import pcl

    Congradulation : pcl successfully is imported

  10. szx0112 commented on May 15, 2020

    @szx0112

    Hi @Abb1989 I am new to Ubuntu. I tried your method and it works! Thanks for sharing. However, changing pcl version from 1.8 to 1.7 will cause the dependencies problems of other programs on Ubuntu 18.04. It is possible for us to only install it locally?

  11. Abbsalehi commented on May 15, 2020

    @Abbsalehi

    Hi @Abb1989 I am new to Ubuntu. I tried your method and it works! Thanks for sharing. However, changing pcl version from 1.8 to 1.7 will cause the dependencies problems of other programs on Ubuntu 18.04. It is possible for us to only install it locally?

    I think you can create an environment by conda command. I did not do such this thing. Using conda command would be better. Seek more about conda command, i think you can do it.

  12. szx0112 commented on May 17, 2020

    @szx0112

    @Abb1989 Thanks for the reply. I managed to handle this problem by manually linking the downloaded pkgs to a local folder.

  13. Stigmaru commented on May 24, 2020

    @Stigmaru

    Thank you for your answers.

    I tried so much to solve this problem, and surfed all answers on the web. One drawback among the answers is this line code: "sudo apt-get install libpcl-dev -y". If you run this command, it will install libpcl-dev with higher version which will be conflicted to that libpcl-dev 1.7 you will install later. So please do not anything and listen to me to solve the problem. here are some steps to hit the problem:

    Step 1: find Ubuntu 16 source.list and add one by one of its repositories to your Ubuntu(for example version 2o). you can find it in this link: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1

    Step 2: run "sudo apt update", now libpcl-dev 1.7 has been installed successfully. you can run this command to see :"apt-cache policy libpcl-dev"

    Step 3: run: "python", then "import pcl", you will receive such this error: ImportError: libpcl_keypoints.so.1.7, ok do not worry, copy "libpcl_keypoints.so.1.7" and go to this website and paste within its search box: https://debian.pkgs.org/8/debian-main-amd64, there you will see such this: "sudo apt-get install libpcl-keypoints1.7", run it on the terminal.

    Step 4: type "python" on the terminal, then " import pcl ". you will see another error for example: "libpcl-outofcore1.7", again search it that website and do as previous step.

    Step 5: repeat step 3 and 4 till you can import pcl successfully.

    I did and worked for me :D

    Moreover, I repeated the process to install PCL and also prepared these steps to resolve the problem easily. You can follow these steps to install PCL successfully.

    Step1: Add Ubuntu 16 source list

    Step2: sudo apt-get update

    step3: pip install python-pcl

    step4: sudo apt-get install libpcl-keypoints1.7

    step5: sudo apt-get install libpcl-outofcore1.7

    step6: sudo apt-get install libpcl-people1.7

    step7: sudo apt-get install libpcl-recognition1.7

    step8: sudo apt-get install libpcl-registration1.7

    step9: sudo apt-get install libpcl-segmentation1.7

    step10: sudo apt-get install libpcl-surface1.7

    Now, if you get error "libpng12-0", do this:

    sudo add-apt-repository ppa:linuxuprising/libpng12

    sudo apt update

    sudo apt-get install libpng12-0

    Step11: sudo apt-get install libpcl-tracking1.7

    Step12: sudo apt-get install libflann1.8
    Step13: sudo apt-get install libpcl-visualization1.7

    Step14: python

    import pcl

    Congradulation : pcl successfully is imported

    @Abb1989 How do you add one by one of the Ubuntu 16 source list repositories to my own source list? Do I just copy the entire (https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1) into my system's source.list file???

  14. Abbsalehi commented on May 24, 2020

    @Abbsalehi

    Thank you for your answers.

    I tried so much to solve this problem, and surfed all answers on the web. One drawback among the answers is this line code: "sudo apt-get install libpcl-dev -y". If you run this command, it will install libpcl-dev with higher version which will be conflicted to that libpcl-dev 1.7 you will install later. So please do not anything and listen to me to solve the problem. here are some steps to hit the problem:

    Step 1: find Ubuntu 16 source.list and add one by one of its repositories to your Ubuntu(for example version 2o). you can find it in this link: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1

    Step 2: run "sudo apt update", now libpcl-dev 1.7 has been installed successfully. you can run this command to see :"apt-cache policy libpcl-dev"

    Step 3: run: "python", then "import pcl", you will receive such this error: ImportError: libpcl_keypoints.so.1.7, ok do not worry, copy "libpcl_keypoints.so.1.7" and go to this website and paste within its search box: https://debian.pkgs.org/8/debian-main-amd64, there you will see such this: "sudo apt-get install libpcl-keypoints1.7", run it on the terminal.

    Step 4: type "python" on the terminal, then " import pcl ". you will see another error for example: "libpcl-outofcore1.7", again search it that website and do as previous step.

    Step 5: repeat step 3 and 4 till you can import pcl successfully.

    I did and worked for me :D

    Moreover, I repeated the process to install PCL and also prepared these steps to resolve the problem easily. You can follow these steps to install PCL successfully.

    Step1: Add Ubuntu 16 source list

    Step2: sudo apt-get update

    step3: pip install python-pcl

    step4: sudo apt-get install libpcl-keypoints1.7

    step5: sudo apt-get install libpcl-outofcore1.7

    step6: sudo apt-get install libpcl-people1.7

    step7: sudo apt-get install libpcl-recognition1.7

    step8: sudo apt-get install libpcl-registration1.7

    step9: sudo apt-get install libpcl-segmentation1.7

    step10: sudo apt-get install libpcl-surface1.7

    Now, if you get error "libpng12-0", do this:

    sudo add-apt-repository ppa:linuxuprising/libpng12

    sudo apt update

    sudo apt-get install libpng12-0

    Step11: sudo apt-get install libpcl-tracking1.7

    Step12: sudo apt-get install libflann1.8

    Step13: sudo apt-get install libpcl-visualization1.7

    Step14: python

    import pcl

    Congradulation : pcl successfully is imported

    @Abb1989 How do you add one by one of the Ubuntu 16 source list repositories to my own source list? Do I just copy the entire (https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1) into my system's source.list file???

    Hi dear, read this article:
    https://help.ubuntu.com/stable/ubuntu-help/addremove-sources.html

  15. aravindsairam commented on Sep 29, 2020

    @aravindsairam

    Works for both python2 and python3 (mention python3 if needed)

    • $ sudo pip install cython==0.25.2
    • clone this repo https://github.com/udacity/RoboND-Perception-Exercises
    • $ cd RoboND-Perception-Exercises/python-pcl
    • $ python setup.py build -i
    • $ sudo python setup.py install
    • $ sudo apt-get install pcl-tools
    • export PYTHONPATH=$PYTHONPATH:/usr/local/lib (This is my python path)

    If importing pcl outside this directory still give the same error, then uninstall the existing pcl.

    • pip uninstall pcl
  16. bladesaber commented on Oct 10, 2020

    @bladesaber

    @Abb1989
    oh I meet a new problem in ubuntu18.0.4 when I execute sudo apt-get install libpcl-surface1.7.
    it throw a error:
    libpcl-surface1.7 : Depends: libvtk6.2 but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.

    can some one help?

  17. Abbsalehi commented on Oct 10, 2020

    @Abbsalehi

    @Abb1989

    oh I meet a new problem in ubuntu18.0.4 when I execute sudo apt-get install libpcl-surface1.7.

    it throw a error:

    libpcl-surface1.7 : Depends: libvtk6.2 but it is not going to be installed

    E: Unable to correct problems, you have held broken packages.

    can some one help?

    Hi dear,

    You can do these steps:
    Step 1:
    "sudo apt-get install libvtk6.2"

    Step 2:
    Install manually: download vtk6 from the link below, then install its deb file.

    http://archive.ubuntu.com/ubuntu/pool/universe/v/vtk6/libvtk6.2_6.2.0+dfsg1-10build1_i386.deb
    

    It may need its dependencies when you installed it manually. The best way is that you continue step2 by installing its dependencies as well. Sorry for my bad English writing!☹️
    However, if the steps did not work properly, please let me know! We can resolve the problem!

  18. ZhengdiYu commented on Oct 28, 2020

    @ZhengdiYu

    @Abb1989
    oh I meet a new problem in ubuntu18.0.4 when I execute sudo apt-get install libpcl-surface1.7.
    it throw a error:
    libpcl-surface1.7 : Depends: libvtk6.2 but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.
    can some one help?

    Hi dear,

    You can do these steps:
    Step 1:
    "sudo apt-get install libvtk6.2"

    Step 2:
    Install manually: download vtk6 from the link below, then install its deb file.

    http://archive.ubuntu.com/ubuntu/pool/universe/v/vtk6/libvtk6.2_6.2.0+dfsg1-10build1_i386.deb
    

    It may need its dependencies when you installed it manually. The best way is that you continue step2 by installing its dependencies as well. Sorry for my bad English writing!☹️
    However, if the steps did not work properly, please let me know! We can resolve the problem!

    Hi, I got an error : ImportError: libpcl_keypoints.so.1.8: cannot open shared object file: No such file or directory
    But I actually see libpcl_keypoints.so.1.8.0 in /usr/local/lib. What can I do to solve this?

    Many thanks!

  19. Abbsalehi commented on Oct 29, 2020

    @Abbsalehi

    @Abb1989

    oh I meet a new problem in ubuntu18.0.4 when I execute sudo apt-get install libpcl-surface1.7.

    it throw a error:

    libpcl-surface1.7 : Depends: libvtk6.2 but it is not going to be installed

    E: Unable to correct problems, you have held broken packages.

    can some one help?

    Hi dear,

    You can do these steps:

    Step 1:

    "sudo apt-get install libvtk6.2"

    Step 2:

    Install manually: download vtk6 from the link below, then install its deb file.

    http://archive.ubuntu.com/ubuntu/pool/universe/v/vtk6/libvtk6.2_6.2.0+dfsg1-10build1_i386.deb

    It may need its dependencies when you installed it manually. The best way is that you continue step2 by installing its dependencies as well. Sorry for my bad English writing!☹️

    However, if the steps did not work properly, please let me know! We can resolve the problem!

    Hi, I got an error : ImportError: libpcl_keypoints.so.1.8: cannot open shared object file: No such file or directory

    But I actually see libpcl_keypoints.so.1.8.0 in /usr/local/lib. What can I do to solve this?

    Many thanks!

    You just install libvtk manually!! Sometimes this is the only way I think!

  20. wanguangxi commented on May 19, 2021

    @wanguangxi
  21. dkarunakaran commented on Jul 10, 2021

    @dkarunakaran
  22. ArghyaChatterjee commented on Aug 23, 2021

    @ArghyaChatterjee

    Hi, I need it for Python 3 (Python-3.6.9 to be specific). The upper link works for python 2 not for python3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions