Bunch of errors when building HISE (Linux)
-
Hello everybody! I had previously built HISE on my Debian OS without any issues. Recently I accidentally removed folder with source code, and decided to rebuild HISE again. But now I have almost a bunch of errors and can not understand why. The one was already mentioned on this forum by @David-Healey, but I also have some other.
That's the last one.
In file included from ../../../../../HISE/hi_scripting/hi_scripting_03.cpp:180: ../../../../../HISE/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp: In constructor ‘scriptnode::math::NeuralComp::NeuralComp(scriptnode::NodeBase*, hise::PooledUIUpdater*)’: ../../../../../HISE/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:832:34: error: no matching function for call to ‘scriptnode::ComboBoxWithModeProperty::initModes(juce::StringArray, scriptnode::NodeBase*&)’ 832 | networkSelector.initModes(holder.getIdList(), n); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../../../../HISE/hi_scripting/../hi_core/../hi_dsp_library/hi_dsp_library.h:146: ../../../../../HISE/hi_scripting/../hi_core/../hi_dsp_library/node_api/helpers/NodeProperty.h:128:14: note: candidate: ‘void scriptnode::ComboBoxWithModeProperty::initModes(const juce::StringArray&, juce::UndoManager*, juce::ValueTree)’ 128 | void initModes(const StringArray& modes, UndoManager* um, ValueTree v); | ^~~~~~~~~ ../../../../../HISE/hi_scripting/../hi_core/../hi_dsp_library/node_api/helpers/NodeProperty.h:128:14: note: candidate expects 3 arguments, 2 provided ../../../../../HISE/hi_scripting/scripting/scriptnode/node_library/HiseNodeFactory.cpp:835:30: error: no matching function for call to ‘scriptnode::ComboBoxWithModeProperty::initModes(<brace-enclosed initializer list>, scriptnode::NodeBase*&)’ 835 | hpfSelector.initModes({ "Off", "1 Hz", "5 Hz" }, n); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Also, before it
In file included from ../../../../../HISE/hi_scripting/hi_scripting_03.cpp:128: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp: In member function ‘void scriptnode::DspNetwork::createAllNodesOnce()’: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:123: error: no match for ‘operator<<’ (operand types are ‘juce::String’ and ‘const char [2]’) 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~ | | | | juce::String const char [2] In file included from ../../../../JUCE/modules/juce_core/juce_core.h:254, from ../../../../../HISE/hi_scripting/../JUCE/modules/juce_osc/juce_osc.h:55, from ../../../../../HISE/hi_scripting/hi_scripting.h:132: ../../../../JUCE/modules/juce_core/text/juce_String.h:1445:23: note: candidate: ‘juce::String& juce::operator<<(String&, bool)’ (near match) 1445 | String& JUCE_CALLTYPE operator<< (String&, bool) = delete; | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1445:23: note: conversion of argument 1 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:92: error: cannot bind non-const lvalue reference of type ‘juce::String&’ to an rvalue of type ‘juce::String’ 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1436:32: note: candidate: ‘juce::String& juce::operator<<(String&, uint64)’ (near match) 1436 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, uint64 number); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1436:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘juce::uint64’ {aka ‘long long unsigned int’} [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char* ../../../../JUCE/modules/juce_core/text/juce_String.h:1434:32: note: candidate: ‘juce::String& juce::operator<<(String&, int64)’ (near match) 1434 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, int64 number); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1434:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘juce::int64’ {aka ‘long long int’} [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char* ../../../../JUCE/modules/juce_core/text/juce_String.h:1432:32: note: candidate: ‘juce::String& juce::operator<<(String&, long unsigned int)’ (near match) 1432 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, unsigned long number); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1432:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘long unsigned int’ [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char* ../../../../JUCE/modules/juce_core/text/juce_String.h:1430:32: note: candidate: ‘juce::String& juce::operator<<(String&, long int)’ (near match) 1430 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, long number); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1430:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘long int’ [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char* ../../../../JUCE/modules/juce_core/text/juce_String.h:1428:32: note: candidate: ‘juce::String& juce::operator<<(String&, int)’ (near match) 1428 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, int number); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1428:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘int’ [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char* ../../../../JUCE/modules/juce_core/text/juce_String.h:1426:32: note: candidate: ‘juce::String& juce::operator<<(String&, short int)’ (near match) 1426 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, short number); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1426:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘short int’ [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char* ../../../../JUCE/modules/juce_core/text/juce_String.h:1424:32: note: candidate: ‘juce::String& juce::operator<<(String&, uint8)’ (near match) 1424 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, uint8 number); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1424:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘juce::uint8’ {aka ‘unsigned char’} [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char* ../../../../JUCE/modules/juce_core/text/juce_String.h:1421:32: note: candidate: ‘juce::String& juce::operator<<(String&, const std::string&)’ (near match) 1421 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, const std::string& string2); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1421:32: note: conversion of argument 1 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:92: error: cannot bind non-const lvalue reference of type ‘juce::String&’ to an rvalue of type ‘juce::String’ 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1419:32: note: candidate: ‘juce::String& juce::operator<<(String&, StringRef)’ (near match) 1419 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, StringRef string2); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1419:32: note: conversion of argument 1 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:92: error: cannot bind non-const lvalue reference of type ‘juce::String&’ to an rvalue of type ‘juce::String’ 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1417:32: note: candidate: ‘juce::String& juce::operator<<(String&, const String&)’ (near match) 1417 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, const String& string2); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1417:32: note: conversion of argument 1 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:92: error: cannot bind non-const lvalue reference of type ‘juce::String&’ to an rvalue of type ‘juce::String’ 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1413:32: note: candidate: ‘juce::String& juce::operator<<(String&, const char*)’ (near match) 1413 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, const char* string2); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1413:32: note: conversion of argument 1 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:92: error: cannot bind non-const lvalue reference of type ‘juce::String&’ to an rvalue of type ‘juce::String’ 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1406:32: note: candidate: ‘juce::String& juce::operator<<(String&, wchar_t)’ (near match) 1406 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, wchar_t characterToAppend); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1406:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘wchar_t’ [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char* ../../../../JUCE/modules/juce_core/text/juce_String.h:1404:32: note: candidate: ‘juce::String& juce::operator<<(String&, char)’ (near match) 1404 | JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, char characterToAppend); | ^~~~~~~~ ../../../../JUCE/modules/juce_core/text/juce_String.h:1404:32: note: conversion of argument 2 would be ill-formed: ../../../../../HISE/hi_scripting/scripting/scriptnode/api/DspNetwork.cpp:353:126: error: invalid conversion from ‘const char*’ to ‘char’ [-fpermissive] 353 | String hl1 = "static constexpr int scriptnode_database_datSize = " + String(compressed.getSize()) << ";"; | ^~~ | | | const char*And the one mentioned by David.
Compiling include_hi_tools_01.cpp In file included from ../../../../../HISE/hi_streaming/../JUCE/modules/juce_dsp/juce_dsp.h:236, from ../../../../../HISE/hi_streaming/hi_streaming.h:62, from ../../../../../HISE/hi_streaming/hi_streaming.cpp:2, from ../../JuceLibraryCode/include_hi_streaming.cpp:9: ../../../../../HISE/hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h: In instantiation of ‘struct juce::dsp::SIMDRegister<long long int>’: ../../../../../HISE/hi_streaming/hi_streaming/MonolithAudioFormat.cpp:371:35: required from here ../../../../../HISE/hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h:85:11: error: invalid use of incomplete type ‘struct juce::dsp::SIMDNativeOps<long long int>’ 85 | using vSIMDType = typename NativeOps::vSIMDType; | ^~~~~~~~~I'll be glad for any help and guides.
-
@si1n3rd Building on Linux is currently broken with the develop branch - we don't know why, yet.
But you can use the "development" branch of my fork instead: https://github.com/davidhealey/hise
-
@David-Healey I'll give it a try. If anything goes wrong, could I ask you here for any help?
-
@si1n3rd Yes of course
-
Well, now I've got this. Anyway, my GCC/G++ is 12.2.0, if it means.
Compiling include_juce_gui_basics.cpp In file included from ../../../../JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:251, from ../../JuceLibraryCode/include_juce_gui_basics.cpp:9: ../../../../JUCE/modules/juce_gui_basics/misc/juce_DropShadower.cpp: In member function ‘void juce::DropShadower::ParentVisibilityChangedListener::updateParentHierarchy(juce::Component*)’: ../../../../JUCE/modules/juce_gui_basics/misc/juce_DropShadower.cpp:134:46: error: ‘exchange’ is not a member of ‘std’ 134 | const auto lastSeenComponents = std::exchange (observedComponents, [&] | ^~~~~~~~ ../../../../JUCE/modules/juce_gui_basics/misc/juce_DropShadower.cpp: In member function ‘virtual void juce::DropShadower::ParentVisibilityChangedListener::timerCallback()’: ../../../../JUCE/modules/juce_gui_basics/misc/juce_DropShadower.cpp:162:47: error: ‘exchange’ is not a member of ‘std’ 162 | const auto wasOnVirtualDesktop = std::exchange (isOnVirtualDesktop, | ^~~~~~~~ In file included from ../../../../JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:343: ../../../../JUCE/modules/juce_gui_basics/native/juce_linux_Windowing.cpp: In member function ‘virtual void juce::Desktop::NativeDarkModeChangeDetectorImpl::settingChanged(const juce::XWindowSystemUtilities::XSetting&)’: ../../../../JUCE/modules/juce_gui_basics/native/juce_linux_Windowing.cpp:580:50: error: ‘exchange’ is not a member of ‘std’ 580 | const auto wasDarkModeEnabled = std::exchange (darkModeEnabled, XWindowSystem::getInstance()->isDarkModeActive()); | ^~~~~~~~ At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-inconsistent-missing-override’ may have been intended to silence earlier diagnostics make: *** [Makefile:827: build/intermediate/Release/include_juce_gui_basics_e3f79785.o] Error 1 -
@si1n3rd What does
git logsay? -
commit 30e32ad612313d026e0b5260cad2810262c632be (HEAD -> master, origin/master, origin/HEAD) Merge: b85eed366 1db5d2b19 Author: dave <dave41264@hotmail.com> Date: Fri Jul 1 16:43:58 2022 +0100 Merge branch 'develop' into development -
@si1n3rd Looks like you're on the master branch there. You need to switch to the development branch. Also note that I have it set up for fftw3, if you don't have it installed you'll need to disable that.
-
@David-Healey Thanks. I've finally built it.