Linux build of HISE


  • administrators

    Please try again, there was a nasty typo in the standalone export code which created a "default" Projucer project so it's very likely that this was also causing your issues.



  • @christoph-hart Won't build for some reason

    In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/juce_dsp.h:239:0,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/hi_core.h:68,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:55,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:61,
                     from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                     from ../../../../../HISE/hi_backend/hi_backend.h:55,
                     from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/MainComponent.h:12,
                     from ../../Source/MainComponent.cpp:12:
    ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h: In instantiation of ‘struct juce::dsp::SIMDRegister<long long int>’:
    ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../hi_streaming/hi_streaming/MonolithAudioFormat.h:402:77:   recursively required by substitution of ‘template<class Type> juce::dsp::SIMDRegister<Type> juce::jmax(juce::dsp::SIMDRegister<Type>, juce::dsp::SIMDRegister<Type>) [with Type = long long int]’
    ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../hi_streaming/hi_streaming/MonolithAudioFormat.h:402:77:   required from here
    ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h:84:43: error: invalid use of incomplete type ‘struct juce::dsp::SIMDNativeOps<long long int>’
         typedef typename NativeOps::vSIMDType vSIMDType;
                                               ^
    In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/juce_dsp.h:229:0,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/hi_core.h:68,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:55,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:61,
                     from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                     from ../../../../../HISE/hi_backend/hi_backend.h:55,
                     from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/MainComponent.h:12,
                     from ../../Source/MainComponent.cpp:12:
    ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/native/juce_avx_SIMDNativeOps.h:51:8: note: declaration of ‘struct juce::dsp::SIMDNativeOps<long long int>’
     struct SIMDNativeOps;
            ^
    In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:95:0,
                     from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                     from ../../../../../HISE/hi_backend/hi_backend.h:55,
                     from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/MainComponent.h:12,
                     from ../../Source/MainComponent.cpp:12:
    ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/scripting/api/ScriptingApiContent.h: In member function ‘Subtype* hise::ScriptingApi::Content::addComponent(juce::Identifier, int, int)’:
    ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/scripting/api/ScriptingApiContent.h:1946:40: error: invalid use of incomplete type ‘class hise::ProcessorWithScriptingContent’
       var savedValue = getScriptProcessor()->getSavedValue(name);
                                            ^
    In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:72:0,
                     from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                     from ../../../../../HISE/hi_backend/hi_backend.h:55,
                     from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/MainComponent.h:12,
                     from ../../Source/MainComponent.cpp:12:
    ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/scripting/api/ScriptingBaseObjects.h:39:7: note: forward declaration of ‘class hise::ProcessorWithScriptingContent’
     class ProcessorWithScriptingContent;
           ^
    At global scope:
    cc1plus: warning: unrecognized command line option ‘-Wno-inconsistent-missing-override’
    Makefile:143: recipe for target 'build/intermediate/Release/MainComponent_a6ffb4a5.o' failed
    make: *** [build/intermediate/Release/MainComponent_a6ffb4a5.o] Error 1
    
    

  • administrators

    That was a weird one. It was actually something in the JUCE code of the new juce_dsp module. Please check if it works now - I can compile the standalone version of the demo project found in the HISE repository on Linux.



  • @christoph-hart Thanks I'll check it out later tonight. Some guys on the LinuxMusicians forum are having issues with the Juce executable - https://www.linuxmusicians.com/viewtopic.php?p=92369#p92369


  • administrators

    It appears that the Projucer has some flags enabled that require i7 CPUs, which is most likely the cause of the illegal instruction errors.

    Source: https://forum.juce.com/t/linux-projucer-crashes-on-startup/18320/8



  • Latest build fails:

    Compiling include_hi_sampler.cpp
    In file included from ../../../../../HISE/hi_sampler/hi_sampler.cpp:42:0,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    ../../../../../HISE/hi_sampler/sampler/ModulatorSamplerSound.cpp: In member function ‘int hise::ModulatorSamplerSoundPool::getSoundIndexFromPool(juce::int64, juce::int64)’:
    ../../../../../HISE/hi_sampler/sampler/ModulatorSamplerSound.cpp:1163:40: error: conversion from ‘juce::WeakReference<hise::StreamingSamplerSound>’ to non-scalar type ‘hise::StreamingSamplerSound::Ptr {aka juce::ReferenceCountedObjectPtr<hise::StreamingSamplerSound>}’ requested
       StreamingSamplerSound::Ptr s = pool[i];
                                            ^
    At global scope:
    cc1plus: warning: unrecognized command line option ‘-Wno-inconsistent-missing-override’
    Makefile:193: recipe for target 'build/intermediate/Release/include_hi_sampler_50722b2a.o' failed
    make: *** [build/intermediate/Release/include_hi_sampler_50722b2a.o] Error 1
    

  • administrators

    Is fixed now.



  • I'm still getting this when trying to export a standalone instrument from HISE

    In file included from ../../JuceLibraryCode/JuceHeader.h:21:0,
                     from ../../Source/Plugin.cpp:2:
    ../../Source/Plugin.cpp: In member function ‘juce::AudioProcessor* hise::StandaloneProcessor::createProcessor()’:
    /media/dave/work1/HISE Development Builds/HISE/hi_frontend/hi_frontend.h:116:67: error: ‘images’ is not a member of ‘PresetData’
      ValueTree imageData = hise::PresetHandler::loadValueTreeFromData(PresetData::images, PresetData::imagesSize, false);\
                                                                       ^
    ../../Source/Plugin.cpp:12:64: note: in expansion of macro ‘CREATE_PLUGIN_WITH_AUDIO_FILES’
     AudioProcessor* hise::StandaloneProcessor::createProcessor() { CREATE_PLUGIN_WITH_AUDIO_FILES(deviceManager, callback); }
                                                                    ^
    /media/dave/work1/HISE Development Builds/HISE/hi_frontend/hi_frontend.h:116:87: error: ‘imagesSize’ is not a member of ‘PresetData’
      ValueTree imageData = hise::PresetHandler::loadValueTreeFromData(PresetData::images, PresetData::imagesSize, false);\
                                                                                           ^
    ../../Source/Plugin.cpp:12:64: note: in expansion of macro ‘CREATE_PLUGIN_WITH_AUDIO_FILES’
     AudioProcessor* hise::StandaloneProcessor::createProcessor() { CREATE_PLUGIN_WITH_AUDIO_FILES(deviceManager, callback); }
                                                                    ^
    /media/dave/work1/HISE Development Builds/HISE/hi_frontend/hi_frontend.h:118:69: error: ‘impulses’ is not a member of ‘PresetData’
      ValueTree impulseData = hise::PresetHandler::loadValueTreeFromData(PresetData::impulses, PresetData::impulsesSize, false); \
                                                                         ^
    ../../Source/Plugin.cpp:12:64: note: in expansion of macro ‘CREATE_PLUGIN_WITH_AUDIO_FILES’
     AudioProcessor* hise::StandaloneProcessor::createProcessor() { CREATE_PLUGIN_WITH_AUDIO_FILES(deviceManager, callback); }
                                                                    ^
    /media/dave/work1/HISE Development Builds/HISE/hi_frontend/hi_frontend.h:118:91: error: ‘impulsesSize’ is not a member of ‘PresetData’
      ValueTree impulseData = hise::PresetHandler::loadValueTreeFromData(PresetData::impulses, PresetData::impulsesSize, false); \
                                                                                               ^
    ../../Source/Plugin.cpp:12:64: note: in expansion of macro ‘CREATE_PLUGIN_WITH_AUDIO_FILES’
     AudioProcessor* hise::StandaloneProcessor::createProcessor() { CREATE_PLUGIN_WITH_AUDIO_FILES(deviceManager, callback); }
                                                                    ^
    Makefile:111: recipe for target 'build/intermediate/Release/Plugin_124bbd3c.o' failed
    

  • administrators

    Last time I checked this had something to do with the EmbedAudioFiles setting. Try changing that and test if the problem persists.



  • @christoph-hart Thanks that fixed it, I had to check the box!


  • administrators

    Yeah I changed the default value to yes for new projects a while ago so this only happens if you load old projects.



  • @d-healey said in Linux build of HISE:

    I tried it in Reaper running under Wine but no luck.

    AFAIK despite the implications of "Wine is not an emulator" being it's acronym, it functions alot like one, and I can confirm that in my tests of using WINE to package applications on osx it seems more like a single application virtual machine and thus would want windows vsts.

    @d-healey said in Linux build of HISE:

    I have HISE working in Carla and have this playing back via virtual MIDI ports from both the Linux native version of Reaper and Windows Reaper running in Wine

    In reference to my above assumption, did you have to use the windows VST in the Reaper Windows Wine?

    @Christoph-Hart the notion of using HISE on linux has some intriguing implications. I was just imagining the possibility of using embedded linux/HISE as the basis for a multisampler based workstation keyboard style hardware, not that such a thing is in my plans in the near future.. but that would be pretty awesome.



  • @macromachines I can't remember what I was doing back then exactly. But now I'm using the Linux native version of Reaper and HISE has Linux export so I'm not using WINE at all for this.



  • GitHub master currently failing on Linux Mint

    Makefile:188: recipe for target 'build/intermediate/Release/include_hi_modules_263b29.o' failed
    make: *** [build/intermediate/Release/include_hi_modules_263b29.o] Error 1
    

  • administrators

    Oops, I didn't touch the master branch for a long time. I'll take a look what's wrong there.



  • The last time I built was the 5th of June, I just tried rebuilding that version and it didn't work either, so I'm thinking maybe there has been some update to my OS which is causing the problem. I also noticed there is more to the error.

                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    ../../../../../HISE/hi_modules/effects/fx/ShapeFX.cpp: In member function ‘virtual void hise::PolyshapeFX::getWaveformTableValues(int, const float**, int&, float&)’:
    ../../../../../HISE/hi_modules/effects/fx/ShapeFX.cpp:867:60:error: ‘atanf’ is not a member of ‘std’
      case ShapeFX::ShapeMode::Atan:    normalizeValue = 1.0f / std::atanf(displayPe
                                                                ^
    ../../../../../HISE/hi_modules/effects/fx/ShapeFX.cpp:867:60: note: suggested alternative:
    In file included from /usr/include/c++/5/cmath:44:0,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_core/system/juce_StandardHeader.h:47,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_core/juce_core.h:178,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/hi_core.h:65,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:55,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54,
                     from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:61,
                     from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                     from ../../../../../HISE/hi_backend/hi_backend.h:55,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../../../../HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /usr/include/x86_64-linux-gnu/bits/mathcalls.h:58:1: note:   ‘atanf’
     __MATHCALL (atan,, (_Mdouble_ __x));
     ^
    At global scope:
    cc1plus: warning: unrecognized command line option ‘-Wno-inconsistent-missing-override’
    Makefile:188: recipe for target 'build/intermediate/Release/include_hi_modules_263b29.o' failed
    make: *** [build/intermediate/Release/include_hi_modules_263b29.o] Error 1
    


  • I just tried building on an older install of Linux Mint (my laptop that hasn't been updated for a few months) and I still get the same error about atanf.

    Update: I managed to compile by going into the ShapeFX.cpp file and commenting out the line referencing antaf. I'm not using the ShapeFX so hopefully it won't break anything.


  • administrators

    Congratulations, you are now a C++ developer 😉


Log in to reply
 

2
Online

342
Users

1.1k
Topics

7.1k
Posts

Looks like your connection to Forum was lost, please wait while we try to reconnect.