HISE Logo Forum
    • Categories
    • Register
    • Login

    Compiling Faust based ScriptNodes on MacOS:Problem

    Scheduled Pinned Locked Moved General Questions
    38 Posts 5 Posters 1.5k 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.
    • AxiomCruxA
      AxiomCrux @Lindon
      last edited by

      @Lindon i noticed that after re-reading your steps. I guess I thought it would still work as the infrastructure for faust seems to be in scriptnode in the release version 4.0.0

      i do wonder about compatibility issues and possible dev branch bugs so maybe ill finish off what im doing in 4.0.0 and then compile the dev build with faust after.

      i am very excited about the possibilities of bringing some of the cool things ive made in faust/rnbo/gen dsp to be useful for others.

      i am also keen on the scriptnode, i got a pretty unique synth in my first test

      http://www.axiom-crux.net

      LindonL 1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @AxiomCrux
        last edited by

        @AxiomCrux vgreat - I look forward to seeing what you build.

        But first I think I need @Christoph-Hart to take a look at this one when he gets back.

        HISE Development for hire.
        www.channelrobot.com

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

          @Lindon Just checked it and it compiles here fine.

          So the error message says that the compiler can't find the C++ class FaustDistTestFile generated by the Faust compiler when trying to compile the scriptnode wrapper network FaustDistTest. Can you post the content of the include file found in Binaries/Source/includes.h?

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

            This is how my include file looks:

            
            // [...]
            
            #pragma clang diagnostic ignored "-Wunused-variable"
            #endif
            
            // Include third party header files ----------------
            
            #include "FaustDistTestFile.h" 
            
            // Include compiled network files ------------------
            
            #include "BitRed01.h"
            #include "ChorusTest.h"
            #include "DirtModule.h"
            #include "FaustDistTest.h"
            #include "LoHiFilter.h"
            #include "PassThru.h"
            
            // [...]
            
            

            If I comment out #include "FaustDistTestFile.h" , then the compilation fails with the exact message that you posted, so it's definitely failing to find the faust file.

            LindonL 1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @Christoph Hart
              last edited by

              @Christoph-Hart well yes mine looks very differnt to yours:

              /* Autogenerated include file. */
              #if (defined (_WIN32) || defined (_WIN64))
              #pragma warning( push )
              #pragma warning( disable : 4189 4373)
              #else
              #pragma clang diagnostic push
              #pragma clang diagnostic ignored "-Wunused-variable"
              #endif
              
              // Include compiled network files ------------------
              
              #include "BitRed01.h"
              #include "ChorusTest.h"
              #include "DirtModule.h"
              #include "FaustDistTest.h"
              #include "LoHiFilter.h"
              #include "PassThru.h"
              #include "Phasertest1.h"
              #include "pingpong.h"
              #include "StereoDelay.h"
              #include "TapeDelay.h"
              
              #if (defined (_WIN32) || defined (_WIN64))
              #pragma warning( pop )
              #else
              #pragma clang diagnostic pop
              #endif
              

              HISE Development for hire.
              www.channelrobot.com

              LindonL 1 Reply Last reply Reply Quote 0
              • LindonL
                Lindon @Lindon
                last edited by Lindon

                @Lindon and its definitely there:
                Screenshot 2024-09-10 at 13.40.12.png

                HISE Development for hire.
                www.channelrobot.com

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

                  @Lindon no idea then, it literally does this:

                  auto fileList = getFilesFromThirdPartyFolder()
                  
                  if(fileList.isNotEmpty())
                     printComment("Include third party header files ----------------");
                  
                  for(auto file in fileList)
                     printIncludeStatement();
                  

                  So the question is why doesn't it pick up this file? What if you rename it? Or delete it, as it should be recreated by the faust exporter.

                  LindonL 1 Reply Last reply Reply Quote 0
                  • LindonL
                    Lindon @Christoph Hart
                    last edited by

                    @Christoph-Hart said in Compiling Faust based ScriptNodes on MacOS:Problem:

                    getFilesFromThirdPartyFolder()

                    well I'd suggest the problem is in here:

                    getFilesFromThirdPartyFolder()
                    

                    as its returning an empty list...

                    HISE Development for hire.
                    www.channelrobot.com

                    LindonL 1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @Lindon
                      last edited by

                      If I delete it and run the compile again I get the same problem - and as you say, it rebuilds the .h file...

                      HISE Development for hire.
                      www.channelrobot.com

                      LindonL 1 Reply Last reply Reply Quote 0
                      • LindonL
                        Lindon @Lindon
                        last edited by Lindon

                        if I remove the Faust node and create a new one and add a new file (called FaustTestTwo) I get the same problem , and now FaustTestTwo.h is in the ThirdPartyFolder

                        HISE Development for hire.
                        www.channelrobot.com

                        LindonL 1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @Lindon
                          last edited by

                          @Lindon however when I delete the file and let it get rejenerated my includes.h file looks like this:

                          /* Autogenerated include file. */
                          #if (defined (_WIN32) || defined (_WIN64))
                          #pragma warning( push )
                          #pragma warning( disable : 4189 4373)
                          #else
                          #pragma clang diagnostic push
                          #pragma clang diagnostic ignored "-Wunused-variable"
                          #endif
                          
                          // Include third party header files ----------------
                          
                          #include "FaustDistTestFile.h"
                          
                          // Include compiled network files ------------------
                          
                          #include "BitRed01.h"
                          #include "ChorusTest.h"
                          #include "DirtModule.h"
                          #include "FaustDistTest.h"
                          #include "LoHiFilter.h"
                          #include "PassThru.h"
                          #include "Phasertest1.h"
                          #include "pingpong.h"
                          #include "StereoDelay.h"
                          #include "TapeDelay.h"
                          
                          #if (defined (_WIN32) || defined (_WIN64))
                          #pragma warning( pop )
                          #else
                          #pragma clang diagnostic pop
                          #endif
                          

                          So this should work now no?

                          But of course it doesn't....

                          HISE Development for hire.
                          www.channelrobot.com

                          LindonL 1 Reply Last reply Reply Quote 0
                          • LindonL
                            Lindon @Lindon
                            last edited by

                            @Lindon aaaaaand, now its back to this again:

                            /* Autogenerated include file. */
                            #if (defined (_WIN32) || defined (_WIN64))
                            #pragma warning( push )
                            #pragma warning( disable : 4189 4373)
                            #else
                            #pragma clang diagnostic push
                            #pragma clang diagnostic ignored "-Wunused-variable"
                            #endif
                            
                            // Include compiled network files ------------------
                            
                            #include "BitRed01.h"
                            #include "ChorusTest.h"
                            #include "DirtModule.h"
                            #include "FaustDistTest.h"
                            #include "LoHiFilter.h"
                            #include "PassThru.h"
                            #include "Phasertest1.h"
                            #include "pingpong.h"
                            #include "StereoDelay.h"
                            #include "TapeDelay.h"
                            
                            #if (defined (_WIN32) || defined (_WIN64))
                            #pragma warning( pop )
                            #else
                            #pragma clang diagnostic pop
                            #endif
                            

                            HISE Development for hire.
                            www.channelrobot.com

                            LindonL 1 Reply Last reply Reply Quote 0
                            • LindonL
                              Lindon @Lindon
                              last edited by

                              @Lindon adding the line to the includes.h file and then running from projuicer gives me no relief:

                              Screenshot 2024-09-10 at 16.05.51.png

                              HISE Development for hire.
                              www.channelrobot.com

                              DanHD 1 Reply Last reply Reply Quote 0
                              • DanHD
                                DanH @Lindon
                                last edited by

                                @Lindon did you try building it from the autogen project etc?

                                DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                https://dhplugins.com/ | https://dcbreaks.com/
                                London, UK

                                LindonL 1 Reply Last reply Reply Quote 0
                                • LindonL
                                  Lindon @DanH
                                  last edited by

                                  @DanH said in Compiling Faust based ScriptNodes on MacOS:Problem:

                                  @Lindon did you try building it from the autogen project etc?

                                  The autogen project?/What do you mean?I ran it from here:

                                  Screenshot 2024-09-10 at 16.27.11.png

                                  HISE Development for hire.
                                  www.channelrobot.com

                                  DanHD 1 Reply Last reply Reply Quote 0
                                  • DanHD
                                    DanH @Lindon
                                    last edited by

                                    @Lindon I mean build the dynlib from the AutoGenerated Projucer project rather than building it from Hise...

                                    DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                    https://dhplugins.com/ | https://dcbreaks.com/
                                    London, UK

                                    LindonL 1 Reply Last reply Reply Quote 0
                                    • LindonL
                                      Lindon @DanH
                                      last edited by

                                      @DanH isnt that what I just did?

                                      HISE Development for hire.
                                      www.channelrobot.com

                                      LindonL 1 Reply Last reply Reply Quote 0
                                      • LindonL
                                        Lindon @Lindon
                                        last edited by

                                        @Lindon So I copied out every network into a brand new (empty) project - and after each one ran a compile - and they all worked in turn, so its something in my project that's screwing this up but I cant work out what it could be.....

                                        HISE Development for hire.
                                        www.channelrobot.com

                                        LindonL 1 Reply Last reply Reply Quote 0
                                        • LindonL
                                          Lindon @Lindon
                                          last edited by

                                          @Lindon OK so.....

                                          I went back to first principles.

                                          I deleted everything to do with HISE.....
                                          I deleted everything to do with Faust....

                                          I downloaded and unzipped the HISE version from 10th Sept (the latest and greatest)
                                          I downloaded the latest Faust 2.74.6
                                          I meticulously followed the install steps......
                                          I moved my project to a fixed drive location.....and unplugged the external drive (no sneaking back there now..)

                                          ...and it built the dylib correctly, and then compiled correctly, and passes pluginval and auval

                                          So fingers crossed this is the end of this one....

                                          HISE Development for hire.
                                          www.channelrobot.com

                                          LindonL 1 Reply Last reply Reply Quote 3
                                          • LindonL
                                            Lindon @Lindon
                                            last edited by

                                            @Lindon aaaaand: NO.

                                            But I've found at least one of the culprits....

                                            HISE_USE_EXTENDED_TEMPO_VALUES=1

                                            crashes DLL builds every time... raising a seperate bug post.

                                            HISE Development for hire.
                                            www.channelrobot.com

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

                                            8

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.3k

                                            Posts