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

      Hello,
      I got voxl-python_3.6.9 built and installed on voxl, and am working through pip installing some packages, pymavlink in particular. I see that a couple of libxml packages exist on VOXL, however there are none for libxslt, and opkg can't seem to find an xslt package (I've tried a bunch of combinations like libxslt, libxslt-dev, libxslt-devel, libxslt1, etc.). I also tried installing something like python3-lxml per google searches, but to no avail.

      Is there a way around this, or a way I can point opkg to another repository that has the libxslt package? Thanks.

      1 Reply Last reply Reply Quote 0
      • 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