Code Monkey home page Code Monkey logo

Comments (4)

cdb0y511 avatar cdb0y511 commented on July 4, 2024 3

I am having a similar problems. I have following the install instructions at https://github.com/AprilRobotics/apriltag#install

If I launch Python from the apriltag directory in which I installed from, then from apriltag import apriltag works fine.

If I try to do this import from my application folder ('/app'; I'm running this in Docker), then it cannot find apriltag. I got an warning during make install that said cp: cannot create regular file '/root/.local/lib/python3.7/site-packages': No such file or directory which is probably related. Everything except the final site-packages folder exists. I did ln -s /usr/local /root/.local to get around this. Re-ran make install and no warning this time.

Now I get a new error when trying to import:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libapriltag.so.3: cannot open shared object file: No such file or directory

If I copy the /lib directory to my /app directory then the python import works. This isn't very clean and this step isn't in the install documentation, so I do not expect this to be the desired approach.

What should I do here? How is this supposed to work?

Thanks!

Hi, this is not a issue of the code. It's your environment.
just edit the ~/.bashrc add
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
then
source ~/.bashrc
and dont forget
sudo ldconfig
It may solve your problem

from apriltag.

mkrogius avatar mkrogius commented on July 4, 2024

Hi,

The library libapriltag.so.3.1.0 should be installed to your /lib folder after running the instruction for installing apriltag: https://github.com/AprilRobotics/apriltag#install

Does running these commands fix the problem?

from apriltag.

joshvillbrandt avatar joshvillbrandt commented on July 4, 2024

I am having a similar problems. I have following the install instructions at https://github.com/AprilRobotics/apriltag#install

If I launch Python from the apriltag directory in which I installed from, then from apriltag import apriltag works fine.

If I try to do this import from my application folder ('/app'; I'm running this in Docker), then it cannot find apriltag. I got an warning during make install that said cp: cannot create regular file '/root/.local/lib/python3.7/site-packages': No such file or directory which is probably related. Everything except the final site-packages folder exists. I did ln -s /usr/local /root/.local to get around this. Re-ran make install and no warning this time.

Now I get a new error when trying to import:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libapriltag.so.3: cannot open shared object file: No such file or directory

If I copy the /lib directory to my /app directory then the python import works. This isn't very clean and this step isn't in the install documentation, so I do not expect this to be the desired approach.

What should I do here? How is this supposed to work?

Thanks!

from apriltag.

joshvillbrandt avatar joshvillbrandt commented on July 4, 2024

Hey @cdb0y511,

That environment variable did the trick! I still needed the ln -s /usr/local /root/.local though.

Here is my working dockerfile:

FROM jjanzic/docker-python3-opencv:latest

ENV PYTHONUNBUFFERED 1
ENV PYTHONPATH "${PYTHONPATH}:/app"

# fix "ImportError: libapriltag.so.3: cannot open shared object file: No such file or directory"
# https://github.com/AprilRobotics/apriltag/issues/46
ENV LD_LIBRARY_PATH "/usr/local/lib:${LD_LIBRARY_PATH}"

WORKDIR /app
COPY . /app

RUN pip install --trusted-host pypi.python.org --upgrade pip \
    && pip install --trusted-host pypi.python.org -r requirements.txt \
    && git clone https://github.com/AprilRobotics/apriltag.git /home/apriltag \
    && cd /home/apriltag \
    # fix missing site-packages in /root/.local/lib/python3.7/
    && ln -s /usr/local /root/.local \
    && cmake . \
    && make install

CMD python app/app.py

Ultimately it would be great if I could simply do pip install apriltag and everything would just work. In the meantime, maybe some documentation updates would help other Python users get up and running.

from apriltag.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.