ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    libxslt and libxml with Python

    Ask your questions right here!
    5
    13
    964
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MattO
      last edited by

      For reference, here is the output.

      yocto:/# pip3 install pymavlink
      Collecting pymavlink
        Using cached https://files.pythonhosted.org/packages/5f/4e/985824701e53ec259d3898eb71c4d9211e643dd986ce74b8c71a32d6437c/pymavlink-2.4.15.tar.gz
      Collecting future (from pymavlink)
        Using cached https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz
      Collecting lxml (from pymavlink)
        Using cached https://files.pythonhosted.org/packages/e5/21/a2e4517e3d216f0051687eea3d3317557bde68736f038a3b105ac3809247/lxml-4.6.3.tar.gz
          Complete output from command python setup.py egg_info:
          Building lxml version 4.6.3.
          Building without Cython.
          Error: Please make sure the libxml2 and libxslt development packages are installed.
          
          ----------------------------------------
      Command "python setup.py egg_info" failed with error code 1 in /var/volatile/tmp/pip-install-loh5dpgv/lxml/
      You are using pip version 18.1, however version 21.0.1 is available.
      You should consider upgrading via the 'pip install --upgrade pip' command.
      
      
      1 Reply Last reply Reply Quote 0
      • Eric KatzfeyE
        Eric Katzfey ModalAI Team
        last edited by

        If you can use a Docker container for you application then you can run Ubuntu or Alpine and get access to a lot of packages. If you run on target without a container then you are much more limited in what you can do to resolve dependencies. opkg isn't like apt-get where you can point to large package repositories to find your missing dependencies. In this case you will likely have to build and install libxslt yourself.

        1 Reply Last reply Reply Quote 0
        • SHofmeesterS
          SHofmeester
          last edited by

          Hi @Eric-Katzfey,
          I have the same problem as MattO.
          How can I build and install libxslt myself?
          Do I have to make a .ipk file of the libxslt repository, push it to the Voxl and then "opkg install"?
          How can I make a .ipk file that can be installed?
          Or is there another way to install it?

          Thanks in advance

          Eric KatzfeyE 1 Reply Last reply Reply Quote 0
          • Eric KatzfeyE
            Eric Katzfey ModalAI Team @SHofmeester
            last edited by

            @SHofmeester You can build it in the voxl-emulator and then make an ipk package that you can install on target with opkg.

            1 Reply Last reply Reply Quote 0
            • SHofmeesterS
              SHofmeester
              last edited by

              Hi @Eric-Katzfey,

              Thank you for your reply.
              I was able to build the libxslt library with voxl-emulator, with ./autogen.sh, make and ./configure. And I was also able to make an .ipk with control.tar.gz., data.tar.gz and debian-binary, with a online tutorial.
              But when I push it to the Voxl and try to opkg install it, it says: "unrecognized archive format" and "failed to extract control.tar.gz".

              I tried to copy the file structure and contents of the control file from the Voxl-libraries. But I don't understand what should be in the data directory, what shouldn't and what the format should be.

              How can I make an .ipk file with the right format to install libxslt with opkg?

              Eric KatzfeyE 1 Reply Last reply Reply Quote 0
              • Eric KatzfeyE
                Eric Katzfey ModalAI Team @SHofmeester
                last edited by

                @SHofmeester What do you have for the Architecture: in the control file for the package? If you use all it should work.

                1 Reply Last reply Reply Quote 0
                • SHofmeesterS
                  SHofmeester
                  last edited by

                  @Eric-Katzfey
                  Thank you, I was able to opkg install libslt-dev on VOXL (I also had to use "ar x" to create the .ipk-file, like you do in your make_package.sh, instead of "tar", like on online tutorials)

                  Another dependency of lxml is python3-dev. How can I opkg install that on the VOXL? Because I can't find a repository to put in the data-folder of the .ipk-file.

                  1 Reply Last reply Reply Quote 0
                  • tomT
                    tom admin
                    last edited by

                    @SHofmeester This repo hasn't been touched in quite a while so I can't guarantee that it will work perfectly, but this was used to build / install Python3 on VOXL in the past: https://gitlab.com/voxl-public/support/voxl-python-3.6.9

                    1 Reply Last reply Reply Quote 0
                    • SHofmeesterS
                      SHofmeester
                      last edited by

                      Hi @tom, thank you for your reply, but that isn't exactly what I meant.
                      I built/installed python3 on the VOXL and it works well.
                      But for pymavlink I need: python3-dev (and also libxslt-dev and libxml2-dev, but I built/installed those myself on the VOXL).
                      For reference (below "On Linux"): https://github.com/ArduPilot/pymavlink/blob/master/README.md

                      Is there a python3-dev repository I can use for the data of the .ipk-file?
                      Do I need to add that package to the image and then reflash it (https://docs.modalai.com/voxl-system-image/)? If so, what are the main steps to do that?
                      Isn't there a way to use apt-get?

                      1 Reply Last reply Reply Quote 0
                      • Chad SweetC
                        Chad Sweet ModalAI Team
                        last edited by

                        We don't have much familiarity with supporting Python. It might make most sense to use Ubuntu on Docker . That way you can apt-get the packages you need. You can access libmodal_pipe as well from that Docker.

                        1 Reply Last reply Reply Quote 0
                        • SHofmeesterS
                          SHofmeester
                          last edited by

                          Hi @Chad-Sweet, thank you, I was able to install pymavlink, and all the dependencies using apt-get, on the docker on the VOXL.

                          How can I access libmodal_pipe from the docker?
                          Can I access it using UDP (that is what pymavlink uses)?
                          And how can I get the data from the flight controller, for example if it is armed or not?

                          Then I can use pymavlink to get the data from the flight controller inside the docker and then send it outside the docker, so I can use all the VOXL libraries and functionalities.

                          Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                          • Eric KatzfeyE
                            Eric Katzfey ModalAI Team @SHofmeester
                            last edited by

                            @SHofmeester There is some introductory material about libmodal_pipe in our documentation here: https://docs.modalai.com/voxl-sdk/

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Powered by NodeBB | Contributors