Develop on GNU/Linux



  • @Christoph-Hart I think I'm close to getting running, but I have this error which is confusing me

    ../../../../../HISE/hi_snex/snex_library/snex_jit_NativeDspFunctions.cpp:225:51: error: call of overloaded ‘mov(asmjit::x86::Gp&, juce::int64)’ is ambiguous
      225 |     cc.mov(startReg, start->getImmediateIntValue());
          |                                                   ^
    

    Further details

    In file included from ../../../../../HISE/hi_snex/src/asmjit/././x86/x86assembler.h:11,
                     from ../../../../../HISE/hi_snex/src/asmjit/./x86.h:16,
                     from ../../../../../HISE/hi_snex/src/asmjit/asmjit.h:36,
                     from ../../../../../HISE/hi_snex/hi_snex.cpp:9,
                     from ../../JuceLibraryCode/include_hi_snex.cpp:9:
    ../../../../../HISE/hi_snex/src/asmjit/././x86/../x86/x86emitter.h:604:18: note: candidate: ‘asmjit::Error asmjit::x86::EmitterExplicitT<This>::mov(const asmjit::x86::Gp&, int) [with This = asmjit::x86::Compiler; asmjit::Error = unsigned int]’
      604 |   ASMJIT_INST_2i(mov, Mov, Gp, Imm)                                    // ANY
          |                  ^~~
    ../../../../../HISE/hi_snex/src/asmjit/././x86/../x86/x86emitter.h:68:16: note: in definition of macro ‘ASMJIT_INST_2i’
       68 |   inline Error NAME(const T0& o0, int o1) { return _emitter()->emit(Inst::kId##ID, o0, Support::asInt(o1)); } \
          |                ^~~~
    ../../../../../HISE/hi_snex/src/asmjit/././x86/../x86/x86emitter.h:604:18: note: candidate: ‘asmjit::Error asmjit::x86::EmitterExplicitT<This>::mov(const asmjit::x86::Gp&, unsigned int) [with This = asmjit::x86::Compiler; asmjit::Error = unsigned int]’
      604 |   ASMJIT_INST_2i(mov, Mov, Gp, Imm)                                    // ANY
          |                  ^~~
    ../../../../../HISE/hi_snex/src/asmjit/././x86/../x86/x86emitter.h:69:16: note: in definition of macro ‘ASMJIT_INST_2i’
       69 |   inline Error NAME(const T0& o0, unsigned int o1) { return _emitter()->emit(Inst::kId##ID, o0, Support::asInt(o1)); } \
          |                ^~~~
    ../../../../../HISE/hi_snex/src/asmjit/././x86/../x86/x86emitter.h:604:18: note: candidate: ‘asmjit::Error asmjit::x86::EmitterExplicitT<This>::mov(const asmjit::x86::Gp&, int64_t) [with This = asmjit::x86::Compiler; asmjit::Error = unsigned int; int64_t = long int]’
      604 |   ASMJIT_INST_2i(mov, Mov, Gp, Imm)                                    // ANY
          |                  ^~~
    ../../../../../HISE/hi_snex/src/asmjit/././x86/../x86/x86emitter.h:70:16: note: in definition of macro ‘ASMJIT_INST_2i’
       70 |   inline Error NAME(const T0& o0, int64_t o1) { return _emitter()->emit(Inst::kId##ID, o0, Support::asInt(o1)); } \
          |                ^~~~
    ../../../../../HISE/hi_snex/src/asmjit/././x86/../x86/x86emitter.h:604:18: note: candidate: ‘asmjit::Error asmjit::x86::EmitterExplicitT<This>::mov(const asmjit::x86::Gp&, uint64_t) [with This = asmjit::x86::Compiler; asmjit::Error = unsigned int; uint64_t = long unsigned int]’
      604 |   ASMJIT_INST_2i(mov, Mov, Gp, Imm)                                    // ANY
          |                  ^~~
    ../../../../../HISE/hi_snex/src/asmjit/././x86/../x86/x86emitter.h:71:16: note: in definition of macro ‘ASMJIT_INST_2i’
       71 |   inline Error NAME(const T0& o0, uint64_t o1) { return _emitter()->emit(Inst::kId##ID, o0, Support::asInt(o1)); }
    

    Any ideas?



  • Almost success! I've made some casts and other slight adjustments that fix all of the compile errors and I'm able to succesfully build a debug version. However I get the below linker errors when building the release version, even when I turn off all optimizations, @Christoph-Hart halp!

    ../../../../../HISE/hi_snex/snex_public/snex_jit_FunctionData.cpp:785:54: error: inlining failed in call to ‘always_inline’ ‘static R snex::jit::VariadicCallHelpers::ReturnFunctions::c4_ttvv(const snex::jit::FunctionData&, T1, const snex::VariableStorage&, const snex::VariableStorage&, const snex::VariableStorage&) [with R = void*; T1 = void*]’: recursive inlining
      785 |   template <typename R, typename T1> variadic_call R c4_ttvv(const FunctionData& f, T1 a1, const VariableStorage& a2, const VariableStorage& a3, const VariableStorage& a4)
    


  • Whatever you just pushed to github allows me to build and link on GNU/Linux. I'll make a pull request for my changes.



  • Linux Threads Be Like 🤣
    https://media.tenor.com/images/220b86608e0781337040b846a71f0ebb/tenor.gif

    alt text



5
Online

1.3k
Users

4.2k
Topics

38.3k
Posts