Forum
    • Categories
    • Register
    • Login

    Compiling HISE with Faust issue (Linux)

    Scheduled Pinned Locked Moved General Questions
    44 Posts 3 Posters 251 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.
    • David HealeyD
      David Healey @toxonic
      last edited by

      @toxonic -lfaust is the faust library. You can use find to check where it is on your system

      find /usr -name "libfaust*"

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      toxonicT 1 Reply Last reply Reply Quote 0
      • toxonicT
        toxonic @David Healey
        last edited by

        @David-Healey
        Yes, I’ve already searched for libfaust and libfaust.so and found several matches (see below). By the way, the master branch of HISE - back when there was no dedicated ReleaseWithFaust build configuration yet - can be compiled with Faust without any issues.

        Screenshot from 2026-01-13 00-45-34.png

        /usr/local/lib/libfaustmachine.so
        /usr/local/lib/libfaust.so.2
        /usr/local/lib/libfaustmachine.so.1.0.0
        /usr/local/lib/libfaust.so
        /usr/local/lib/libfaust.a
        /usr/local/lib/libfaustmachine.so.0
        /usr/local/lib/libfaust.so.2.83.5
        /usr/local/lib/libfaustmachine.a
        /usr/local/lib/libfaustwithllvm.a
        /usr/local/lib/libfaust.so.2.50.6
        /usr/local/lib/libfaust.so.2.54.9
        /usr/local/share/faust/webaudio/libfaust-glue.js
        /usr/local/share/faust/webaudio/libfaust-worklet-glue.js
        /usr/local/share/faust/webaudio/libfaust-wasm.js
        /usr/local/share/faust/webaudio/libfaust-glue.wasm
        /usr/local/share/faust/webaudio/libfaust-wasm.data
        /usr/local/share/faust/webaudio/libfaust-wasm.wasm
        /usr/local/include/faust/dsp/libfaust-box-c.h
        /usr/local/include/faust/dsp/libfaust.h
        /usr/local/include/faust/dsp/libfaust-c.h
        /usr/local/include/faust/dsp/libfaust-box.h
        /usr/local/include/faust/dsp/libfaust-signal-c.h
        /usr/local/include/faust/dsp/libfaust-signal.h
        
        
        David HealeyD 1 Reply Last reply Reply Quote 0
        • David HealeyD
          David Healey @toxonic
          last edited by

          @toxonic said in Compiling HISE with Faust issue (Linux):

          By the way, the master branch of HISE - back when there was no dedicated ReleaseWithFaust build configuration yet

          What do you have to do in Projucer to do that?

          Free HISE Bootcamp Full Course for beginners.
          YouTube Channel - Public HISE tutorials
          My Patreon - HISE tutorials

          toxonicT 1 Reply Last reply Reply Quote 0
          • toxonicT
            toxonic @David Healey
            last edited by

            @David-Healey
            If I remember correctly, I just enabled the three Faust specific configuratons in the modules section (something about Faust, Faust_JIT and Faust_LLVM_JIT) and added 'faust' to the Linker libraries.

            David HealeyD 1 Reply Last reply Reply Quote 0
            • David HealeyD
              David Healey @toxonic
              last edited by

              @toxonic Hmm I'm not sure what's going on there. Do you get any output from this command?

              cc -fuse-ld=mold -Wl,--trace -lfaust -x c /dev/null 2>&1 | grep libfaust (replace mold with gold if you're using gold).

              Free HISE Bootcamp Full Course for beginners.
              YouTube Channel - Public HISE tutorials
              My Patreon - HISE tutorials

              toxonicT 1 Reply Last reply Reply Quote 0
              • toxonicT
                toxonic @David Healey
                last edited by toxonic

                @David-Healey Nope, no output. Sorry for my ignorance, what does this command do?

                PS: I thought, maybe I would have to enable the Faust modules in the most recent HISE develop branch too, although it seems that they are already enabled in the ReleaseWithFaust configuration via the preprocessor definitions. But it didn't work, i get the same output:

                Linking HISE Standalone - App
                mold: library not found: faust
                collect2: error: ld returned 1 exit status
                make: *** [Makefile:257: build/HISE Standalone] Error 1
                
                
                David HealeyD 1 Reply Last reply Reply Quote 0
                • David HealeyD
                  David Healey @toxonic
                  last edited by

                  @toxonic That command asks the linker if it can find faust, since you got no output that explains the issue. Why it works with the master branch is probably because that branch isn't using gold/mold but is using ld or something - just guessing.

                  This is the output I see

                  dave@debian:~$ cc -fuse-ld=mold -Wl,--trace -lfaust -x c /dev/null 2>&1 | grep libfaust
                  trace: /usr/lib/x86_64-linux-gnu/libfaust.so
                  

                  It probably means the location for libfaust on your system is not in the system path. You could try adding it to the path in .bashrc and then sourcing .bashrc.

                  Free HISE Bootcamp Full Course for beginners.
                  YouTube Channel - Public HISE tutorials
                  My Patreon - HISE tutorials

                  toxonicT 1 Reply Last reply Reply Quote 0
                  • toxonicT
                    toxonic @David Healey
                    last edited by

                    @David-Healey
                    Oh wow, I guess, I will need help there. How do I do that? and I have 2 .bashrc on my system, one in my home folder and one in /etc/skel.
                    Which one should I use for that?

                    David HealeyD 1 Reply Last reply Reply Quote 0
                    • David HealeyD
                      David Healey @toxonic
                      last edited by

                      @toxonic The one in your home folder

                      To add something to the path add it at the bottom of the file. Here I'm adding the path to ccache/bin, just replace that with the path to the folder where you have libfaust

                      export PATH="/usr/lib/ccache/bin/:$PATH"

                      Then in a terminal run source ~/.bashrc

                      Free HISE Bootcamp Full Course for beginners.
                      YouTube Channel - Public HISE tutorials
                      My Patreon - HISE tutorials

                      1 Reply Last reply Reply Quote 0
                      • toxonicT
                        toxonic
                        last edited by

                        When replacing modl with gold or ld, I get no output as well...

                        David HealeyD 1 Reply Last reply Reply Quote 0
                        • David HealeyD
                          David Healey @toxonic
                          last edited by

                          @toxonic After adding the path run the command again to see if it the linker can find it.

                          Free HISE Bootcamp Full Course for beginners.
                          YouTube Channel - Public HISE tutorials
                          My Patreon - HISE tutorials

                          toxonicT 1 Reply Last reply Reply Quote 0
                          • toxonicT
                            toxonic @David Healey
                            last edited by toxonic

                            @David-Healey
                            Okay, I now see that there is obviously a problem on my system. Apart from the libfaust.so files that are in the /tools/faust/fakelib_linux folder in the HISE repository, there is no libfaust.so file on my system at all. In /usr/local/lib there is only a dead symlink to libfaust.so… which seems kind of weird to me.

                            David HealeyD 1 Reply Last reply Reply Quote 0
                            • David HealeyD
                              David Healey @toxonic
                              last edited by

                              @toxonic Weird, I wonder why it worked with the master branch then... did you test it in HISE after compiling the master?

                              Free HISE Bootcamp Full Course for beginners.
                              YouTube Channel - Public HISE tutorials
                              My Patreon - HISE tutorials

                              toxonicT 2 Replies Last reply Reply Quote 1
                              • toxonicT
                                toxonic @David Healey
                                last edited by

                                @David-Healey Nope, not yet... let me check it out

                                1 Reply Last reply Reply Quote 0
                                • toxonicT
                                  toxonic @David Healey
                                  last edited by

                                  @David-Healey
                                  So, the master branch of HISE works with Faust. I opened an existing project and added a ScriptFX, and the Faust scripts work there. I can’t tell you why the master branch was able to compile — it’s a mystery to me.

                                  What also confuses me is the fact that there apparently is no libfaust.so on my system. The symlink to the shared library libfaust.so in /usr/local/lib is, by the way, 114 MB in size… how can that be? The file cannot be traced back to an original file.
                                  Screenshot from 2026-01-13 14-20-01.png

                                  David HealeyD 1 Reply Last reply Reply Quote 0
                                  • David HealeyD
                                    David Healey @toxonic
                                    last edited by

                                    @toxonic Hmm does the master branch include its own copy of faust?

                                    Free HISE Bootcamp Full Course for beginners.
                                    YouTube Channel - Public HISE tutorials
                                    My Patreon - HISE tutorials

                                    toxonicT 2 Replies Last reply Reply Quote 0
                                    • toxonicT
                                      toxonic @David Healey
                                      last edited by

                                      @David-Healey
                                      How can I find that out? It doesn’t seem to be the case — at least no libfaust.so is included.
                                      This is, what I get, when checking libfile.so if it's a file, and what it's linking against

                                      toxonic@toxonic-Vector-GP66-12UGS:~$ file /usr/local/lib/libfaust.so
                                      /usr/local/lib/libfaust.so: symbolic link to libfaust.so.2
                                      toxonic@toxonic-Vector-GP66-12UGS:~$ ldd /usr/local/lib/libfaust.so
                                      	linux-vdso.so.1 (0x00007ffc2f5d3000)
                                      	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1b0350e000)
                                      	libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f1b034dc000)
                                      	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1b032b0000)
                                      	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1b031c9000)
                                      	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1b031a9000)
                                      	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1b02f80000)
                                      	/lib64/ld-linux-x86-64.so.2 (0x00007f1b09bda000)
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • toxonicT
                                        toxonic @David Healey
                                        last edited by

                                        @David-Healey This is the ldd output for the HISE master branch binary. It seems to link against /usr/local/lib/libfaust.so.2

                                        toxonic@toxonic-Vector-GP66-12UGS:~$ ldd '/home/toxonic/Repos/HISE/projects/standalone/Builds/LinuxMakefile/build/HISE Standalone.faust' 
                                        	linux-vdso.so.1 (0x00007ffd3b922000)
                                        	libasound.so.2 => /lib/x86_64-linux-gnu/libasound.so.2 (0x00007f6c490d5000)
                                        	libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f6c4900d000)
                                        	libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007f6c48f86000)
                                        	libfaust.so.2 => /usr/local/lib/libfaust.so.2 (0x00007f6c428fe000)
                                        	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6c426d2000)
                                        	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6c425e9000)
                                        	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6c425c9000)
                                        	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6c423a0000)
                                        	/lib64/ld-linux-x86-64.so.2 (0x00007f6c49200000)
                                        	libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f6c42365000)
                                        	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6c42349000)
                                        	libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f6c4233b000)
                                        	libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f6c42281000)
                                        	libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f6c4224d000)
                                        	libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f6c4221b000)
                                        	libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f6c421f8000)
                                        	libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f6c420b8000)
                                        	libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f6c4208c000)
                                        	libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f6c42086000)
                                        	libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f6c4207e000)
                                        	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f6c42066000)
                                        	libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007f6c42059000)
                                        
                                        
                                        David HealeyD 1 Reply Last reply Reply Quote 0
                                        • David HealeyD
                                          David Healey @toxonic
                                          last edited by

                                          @toxonic said in Compiling HISE with Faust issue (Linux):

                                          It seems to link against /usr/local/lib/libfaust.so.2

                                          And that file exists on your system?

                                          Free HISE Bootcamp Full Course for beginners.
                                          YouTube Channel - Public HISE tutorials
                                          My Patreon - HISE tutorials

                                          toxonicT 1 Reply Last reply Reply Quote 0
                                          • toxonicT
                                            toxonic @David Healey
                                            last edited by

                                            @David-Healey yep, it's in usr/local/lib

                                            David HealeyD toxonicT 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            31

                                            Online

                                            2.1k

                                            Users

                                            13.2k

                                            Topics

                                            114.7k

                                            Posts