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.
    • 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
                                      • David HealeyD
                                        David Healey @toxonic
                                        last edited by David Healey

                                        @toxonic Does your symlink of libfaust.so point to libfaust.so.2?

                                        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 @toxonic
                                          last edited by

                                          @toxonic yeah:

                                          ls -l /usr/local/lib/libfaust.so
                                          lrwxrwxrwx 1 root root 28 Jan 13 15:02 /usr/local/lib/libfaust.so -> /usr/local/lib/libfaust.so.2
                                          
                                          
                                          David HealeyD 1 Reply Last reply Reply Quote 0
                                          • David HealeyD
                                            David Healey @toxonic
                                            last edited by

                                            @toxonic Hmmm, what about adding a symlink here /usr/lib/x86_64-linux-gnu/libfaust.so to point to it as well?

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

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

                                            32

                                            Online

                                            2.1k

                                            Users

                                            13.2k

                                            Topics

                                            114.7k

                                            Posts