HISE Logo Forum
    • Categories
    • Register
    • Login

    Linux dependency issue

    Scheduled Pinned Locked Moved General Questions
    25 Posts 2 Posters 2.7k Views
    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.
    • d.healeyD
      d.healey
      last edited by

      A user has reported that they are unable to launch my plugin on their installation of Linux Mint 18. They have done some magic and tell me it's because their OS has an older version of GLIBC than the one on the machine the plugin was compiled on (my PC). Is there a way to remove this dependency entirely from the plugin? The only other solution I can think of is to install a really old version of Linux Mint or Ubuntu and compile on that instead.

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart
        last edited by

        Hmm maybe you can select something in the Projucer (I know that you can choose the standard library for the XCode exporter).

        1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart
          last edited by Christoph Hart

          Good thread about this: https://forum.juce.com/t/distributing-linux-plugins/20204/6

          TLDR: use the oldest machine / OS version for compiling you can get your hands on. You need C++14 support though so there‘s a limit on how much you go back in time.

          1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey
            last edited by d.healey

            Thanks for the link, I shall go back to the age of the dinosaurs Ubuntu 14.04

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey
              last edited by d.healey

              Do you think this setting will have any effect on the issue?
              0_1538396409650_gnuextensions.png

              I also found in JUCE core I could disable the libcurl dependency, dunno if that will make a difference but I'll do it anyway.

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey
                last edited by

                Well Ubuntu 14 is not good. Projucer 5 requires libwebkit v4 which isn't available for that version of Ubuntu, I tried installing libwebkit-4 but it has its own set of dependencies and I was falling into a rabbit hole. I then tried using an older version of Projucer which built just fine but it seems is too old to build HISE. So I'm going to try Ubuntu 16.

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey
                  last edited by

                  Linux Mint 18 worked, shame I can't go back earlier though.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart
                    last edited by

                    Hmm if webkit is the only non-behaving dependency you might get rid of it since it‘s just for rendering webpages and shouldn‘t be used by any plugin amyways.

                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @Christoph Hart
                      last edited by

                      @christoph-hart The problem is the version of Projucer supplied with HISE won't open without webkit either.

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart
                        last edited by

                        Yes but I think you could remove the dependency from webkit (maybe with setting the JUCE_ENABLE_WEB_BROWSER macro to 0 and rebuild the Projucer.

                        I‘ll take a look.

                        1 Reply Last reply Reply Quote 1
                        • Christoph HartC
                          Christoph Hart
                          last edited by Christoph Hart

                          According to this post:

                          https://forum.juce.com/t/link-error-with-webkit-disabled/22124

                          disabling JUCE_WEB_BROWSER should work. I don't have a Linux distro without this library so you need to check it for yourself.

                          If this fixes the issue, I'll commit the change to the repo and rebuild the binary - or maybe you could even send the Projucer binary that you've build with your old distro, so it will run on more machines :)

                          d.healeyD 1 Reply Last reply Reply Quote 1
                          • d.healeyD
                            d.healey @Christoph Hart
                            last edited by

                            @christoph-hart Just so I understand. I rebuild Projucer with that value set? Where do I set that value?

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey
                              last edited by

                              Also does it have to be version 5.2 or should I build the latest?

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              1 Reply Last reply Reply Quote 0
                              • Christoph HartC
                                Christoph Hart
                                last edited by

                                1. Open the projucer that you have build.
                                2. Load the project in HISE FOLDER/JUCE/extras/Projucer/Projucer.jucer
                                3. Click on the modules tab on the left side, select the juce_graphics module and set JUCE_WEB_BROWSER to 0.
                                4. Click on "File -> Save Project and open in IDE"
                                5. It will create a makefile under Builds/LinuxMakefile. Run this file (make in the terminal) and you should get a new projucer binary.
                                d.healeyD 1 Reply Last reply Reply Quote 1
                                • d.healeyD
                                  d.healey @Christoph Hart
                                  last edited by

                                  @christoph-hart Oh I see, I was thinking I needed to build it on my system running the old version of Ubuntu where the Projucer won't open. I shall build it now.

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  1 Reply Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey
                                    last edited by d.healey

                                    I'm thinking I could also get rid of the libcurl dependency on Linux too right? JUCE_USE_CURL=0.

                                    Libre Wave - Freedom respecting instruments and effects
                                    My Patreon - HISE tutorials
                                    YouTube Channel - Public HISE tutorials

                                    1 Reply Last reply Reply Quote 0
                                    • d.healeyD
                                      d.healey
                                      last edited by

                                      I've hit a snag

                                      make: *** No rule to make target '../../Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp', needed by 'build/intermediate/Release/jucer_ComponentTypeHandler_d7e70242.o'. Stop.
                                      

                                      Libre Wave - Freedom respecting instruments and effects
                                      My Patreon - HISE tutorials
                                      YouTube Channel - Public HISE tutorials

                                      1 Reply Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey
                                        last edited by

                                        Oh I figured it out, our old friend case sensitivity strikes again. The Components folder is named components. I fixed this and now I'm getting more problems, I bet the solution is the same :D

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public HISE tutorials

                                        1 Reply Last reply Reply Quote 0
                                        • d.healeyD
                                          d.healey
                                          last edited by

                                          Ok I've built it now. Will test it on ye olde Ubuntu later today.

                                          Libre Wave - Freedom respecting instruments and effects
                                          My Patreon - HISE tutorials
                                          YouTube Channel - Public HISE tutorials

                                          1 Reply Last reply Reply Quote 0
                                          • d.healeyD
                                            d.healey
                                            last edited by

                                            Well it was a bit of a struggle but I managed to build the Projucer and HISE on Linux Mint 17 (Ubuntu 14), had to also install g++6 in order to use C++14.

                                            The autogenerated jucer files from HISE have the JUCE_WEB_BROWSER and JUCE_USE_CURL set to use default, is it possible to make it generate with them set to disabled so I don't have to open them and do it manually for each export? Also it possible to get HISE to generate separate jucers for standalone and plugin so I can run a single batch file to compile both?

                                            Here is the download for both the Projucer and HISE that I built - https://www.dropbox.com/s/10b1g7pj22fkaqb/HISEProjucer.7z?dl=0

                                            Libre Wave - Freedom respecting instruments and effects
                                            My Patreon - HISE tutorials
                                            YouTube Channel - Public HISE tutorials

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            21

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.6k

                                            Posts