HISE Logo Forum
    • Categories
    • Register
    • Login

    Linux build of HISE

    Scheduled Pinned Locked Moved General Questions
    125 Posts 14 Posters 40.8k 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 d.healey

      I think there is a dependency issue. The latest github version builds and runs on my laptop perfectly but I'm having trouble on my main system. I changed to Release mode, and installed sudo apt-get install libjack-jackd2-dev and that got rid of the jack error but when I run it I get the juce::String error again.

      Cannot lock down 82274202 byte memory area (Cannot allocate memory)
      terminate called after throwing an instance of 'juce::String'
      Aborted
      

      Update: Actually I'm starting to think the issue is with my jack configuration. On my laptop I'm using Cadence but on my PC I'm using qjackctl because I get less latency with it.
      If I close jack I get this mess when trying to run HISE.

      Cannot connect to server socket err = No such file or directory
      Cannot connect to server request channel
      jack server is not running or cannot be started
      JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
      JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
      terminate called after throwing an instance of 'juce::String'
      Aborted
      

      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 managed to get rid of the memory lock down thing by increasing the limit in etc/security/limit.config to 1000000. Now there's just the juce::String assertion issue to solve.

        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 getting the same error on my laptop now too :(

          After looking at this line in the source I'm thinking that this is still some memory issue... any ideas @Christoph-Hart?
          JUCE Assertion failure in UtilityClasses.h:489

          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, everything is running fine for me, but I am not doing JACK or anything serious because I am just running it inside VirtualBox (the graphics are messed up but I think the culprit is the VM since Visual Code behaves similar).

            The problem is that the exception handling on Linux is a bit more crude than on OSX or Windows and calls terminate whenever an error is raised. Can you hook up a Debugger and see where it throws the String?

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

              This is what I get from GDB, not sure how helpful it is though:

              [Thread debugging using libthread_db enabled]
              Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
              JUCE v4.3.0
              [New Thread 0x7ffff4a2a700 (LWP 20338)]
              [New Thread 0x7fffeffff700 (LWP 20339)]
              [New Thread 0x7ffff7f84700 (LWP 20340)]
              [New Thread 0x7ffff7f03700 (LWP 20341)]
              [Thread 0x7ffff7f03700 (LWP 20341) exited]
              [Thread 0x7ffff7f84700 (LWP 20340) exited]
              [New Thread 0x7fffe7fff700 (LWP 20342)]
              [Thread 0x7fffe7fff700 (LWP 20342) exited]
              [New Thread 0x7fffe7fff700 (LWP 20343)]
              [New Thread 0x7fffe77fe700 (LWP 20344)]
              [New Thread 0x7fffe6ffd700 (LWP 20345)]
              [Thread 0x7fffe6ffd700 (LWP 20345) exited]
              JUCE Assertion failure in UtilityClasses.h:489
              
              Thread 1 "HISE Standalone" received signal SIGTRAP, Trace/breakpoint trap.
              0x00007ffff5dde767 in kill ()
                  at /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/syscall-template.S:84
              84	/build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/syscall-template.S: No such file or directory.
              

              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

                Unfortunately not really. I think I need to crank up my Linux skills for fixing this one :)

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

                  I'm digging away at it too, it's weird that it was working on my previous Linux Mint set up but now it's not. I've put Cadence on my laptop to see if it makes any difference from using qjackctl, so far the only difference is it fixes the memory lock issues (it sets up the audio group config file so I don't have to do it manually). I also think libjack-jackd2-dev should be listed as a dependency for building on Linux...

                  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've completely removed JACK now and set the JACK flag to 0 in projucer. I'm still getting the JUCE Assertion failure in UtilityClasses.h:489 message though when trying to run it but I think this rules out JACK as the cause.

                    Is there a simple way to open the HISE project in code blocks? I might be able to do some more useful debugging.

                    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 couldn't get it running in codeblocks but I found a front end for gdb which is giving me a little more info. It seems (but I could be way off) that the crash occurs in PresetHandler.cpp at this line 2161 ScopedPointer<Processor> p = t->createProcessor(j, "X");

                      Update:
                      I just put return false; at the beginning of that function XmlElement * PresetHandler::buildFactory(FactoryType *t, const String &factoryName) { return false; recompiled and HISE opens up :) Looks like my debugging skills aren't too shabby. I don't know how to fix it properly though so I'll leave that to you :)

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

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

                        Is it possible to export to a VSTi on Linux yet? I'm only seeing options for VS2013 and VS2015 when I select VSTi. Should I be seeing something like G++/GCC?

                        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

                          No I haven't added automatic export for Linux yet. However you might try to export as Standalone app / VST plugin, then open the AutogeneratedProject.jucer file, add a Linux Makefile target, save and run it and with a little bit of luck it may work :)

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

                            Unfortunately only the standalone Mac/iOS options show up in the dialog.

                            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

                              Ah this is no problem the logic behind this is

                              If windows then show Standalone app
                              Else show Standalone OSX

                              so I just didn't handle the Linux case when creating the dialogue options

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

                                I get a compilation error

                                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

                                  I've just added support for exporting Standalone apps in Linux, but you have to manually launch the autogenerated bash script in the Binaries folder (somehow I can't spawn a process on Linux that opens a terminal automatically).

                                  1. Load the instrument
                                  2. File -> Export -> Export as Standalone App (VST plugin will follow soon)
                                  3. Press OK to open the Binaries folder.
                                  4. Open a terminal at the location and run ./batchCompileLinux.sh
                                  1 Reply Last reply Reply Quote 1
                                  • d.healeyD
                                    d.healey
                                    last edited by

                                    Thanks Christoph, looking forward to testing this

                                    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

                                      What's the status of Linux export? When I go to export a plugin I get a bash script, but running it I get this

                                      Re-saving file: /media/dave/work1/Xtant Audio/Products/Virtual Instruments/Woodwind/Sofia Woodwinds/_HISE/Binaries/AutogeneratedProject.jucer
                                      Finished saving: Visual Studio 2015
                                      Finished saving: Xcode (MacOSX)
                                      Finished saving: Xcode (iOS)
                                      Compiling Instrument plugin Woodwinds ...
                                      make: *** No targets specified and no makefile found. Stop.
                                      Compiling finished. Cleaning up...
                                      

                                      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

                                        I think I've got no excuse left to stall this any further :)

                                        I'll try to take a look at it the next days...

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

                                          @christoph-hart and I will gladly test it :)

                                          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

                                            Does Hise already run as VST? I forgot :)

                                            d.healeyD 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            21

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.5k

                                            Posts