Linux VST build fail Fedora 19 x86_64

Home Forums Platform Specific Linux Linux VST build fail Fedora 19 x86_64

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #33398
    davephillips
    Participant
      • Topics: 2
      • Replies: 7
      • Total: 9

      Greetings,

      I’m able to compile the latest git pull as a standalone, but the build fails for the plugin. I receive a run of these messages:

      Compiling juce_audio_processors.cpp

      In file included from ../../../../Juce/modules/juce_audio_processors/juce_audio_processors.cpp:56:0:
      /usr/include/X11/Xlib.h:3807:5: error: ‘Drawable’ has not been declared
      Drawable /* d */,
      ^
      /usr/include/X11/Xlib.h:3818:5: error: reference to ‘Drawable’ is ambiguous
      Drawable /* d */,
      ^
      In file included from /usr/include/X11/Xlib.h:44:0,
      from ../../../../Juce/modules/juce_audio_processors/juce_audio_processors.cpp:56:
      /usr/include/X11/X.h:97:13: note: candidates are: typedef XID Drawable
      typedef XID Drawable;
      ^
      In file included from ../../../VST/JuceLibraryCode/modules/juce_audio_plugin_client/../../../../../Juce/modules/juce_audio_plugin_client/../juce_gui_basics/juce_gui_basics.h:185:0,
      from ../../../VST/JuceLibraryCode/modules/juce_audio_plugin_client/../../../../../Juce/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:28,
      from ../../../VST/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:4,
      from ../../../VST/JuceLibraryCode/JuceHeader.h:20,
      from ../../../../Source/Core/stdafx.h:86,
      from ../../../../Juce/modules/juce_audio_processors/juce_audio_processors.cpp:36:
      ../../../VST/JuceLibraryCode/modules/juce_audio_plugin_client/../../../../../Juce/modules/juce_audio_plugin_client/../juce_gui_basics/drawables/juce_Drawable.h:35:7: note: class juce::Drawable
      class JUCE_API Drawable : public Component
      ^
      In file included from ../../../../Juce/modules/juce_audio_processors/juce_audio_processors.cpp:56:0:
      /usr/include/X11/Xlib.h:3818:5: error: ‘Drawable’ has not been declared
      Drawable /* d */,
      ^
      /usr/include/X11/Xlib.h:3829:5: error: reference to ‘Drawable’ is ambiguous
      Drawable /* d */,
      ^
      In file included from /usr/include/X11/Xlib.h:44:0,
      from ../../../../Juce/modules/juce_audio_processors/juce_audio_processors.cpp:56:
      /usr/include/X11/X.h:97:13: note: candidates are: typedef XID Drawable
      typedef XID Drawable;
      ^
      In file included from ../../../VST/JuceLibraryCode/modules/juce_audio_plugin_client/../../../../../Juce/modules/juce_audio_plugin_client/../juce_gui_basics/juce_gui_basics.h:185:0,
      from ../../../VST/JuceLibraryCode/modules/juce_audio_plugin_client/../../../../../Juce/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:28,
      from ../../../VST/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:4,
      from ../../../VST/JuceLibraryCode/JuceHeader.h:20,
      from ../../../../Source/Core/stdafx.h:86,
      from ../../../../Juce/modules/juce_audio_processors/juce_audio_processors.cpp:36:
      ../../../VST/JuceLibraryCode/modules/juce_audio_plugin_client/../../../../../Juce/modules/juce_audio_plugin_client/../juce_gui_basics/drawables/juce_Drawable.h:35:7: note: class juce::Drawable
      class JUCE_API Drawable : public Component
      ^
      In file included from ../../../../Juce/modules/juce_audio_processors/juce_audio_processors.cpp:56:0:
      /usr/include/X11/Xlib.h:3829:5: error: ‘Drawable’ has not been declared
      Drawable /* d */,
      ^
      In file included from ../../../../Juce/modules/juce_audio_processors/juce_audio_processors.cpp:154:0:
      ../../../../Juce/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp: In member function ‘void juce::VSTPluginWindow::prepareXEvent(XEvent&, const juce::MouseEvent&) const’:
      ../../../../Juce/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp:2421:22: error: ‘struct XCrossingEvent’ has no member named ‘time’
      ev.xcrossing.time = CurrentTime;
      ^
      make: *** [../build/x86_64/juce_audio_processors_bd1ca294.o] Error 1

      I’m so close, but what am I missing now ?

      Best,

      dp

      • This topic was modified 9 years, 3 months ago by davephillips.
      #33511
      atom
      Keymaster
        • Topics: 159
        • Replies: 2945
        • Total: 3104
        • ★★★★★

        I just pushed a change that should fix the build problem on Linux.

        #33538
        davephillips
        Participant
          • Topics: 2
          • Replies: 7
          • Total: 9

          Thanks for the new code, but:

          [dlphilp@localhost Standalone]$ ./build.sh
          CTRLR[linux]: Building for x86_64
          CTRLR[linux]: PCH not rebuilt, use -f to force
          CTRLR[linux]: Remove the shared source, for main() compatibility
          CTRLR[linux]: Build now

          Compiling CtrlrUtilitiesGUI.cpp
          In file included from ../../../../Source/Lua/CtrlrLuaManager.h:8:0,
          from ../../../../Source/Lua/JuceClasses/LMemoryBlock.h:4,
          from ../../../../Source/Core/CtrlrUtilitiesGUI.cpp:7:
          ../../../../Source/Lua/CtrlrLuaUtils.h:8:27: fatal error: CtrlrRevision.h: No such file or directory
          #include “CtrlrRevision.h”
          ^
          compilation terminated.

          Did I miss getting something ?

          Best,

          dp

          #33539
          atom
          Keymaster
            • Topics: 159
            • Replies: 2945
            • Total: 3104
            • ★★★★★

            You need to run the Scripts/post-commit script once to generate the file, i removed it from the repository because it was causing problems.

            #33545
            davephillips
            Participant
              • Topics: 2
              • Replies: 7
              • Total: 9

              Thanks again, I’m getting much further along, but this happens at the linking :

              Linking Ctrlr_Standalone
              ../build/x86_64/juce_gui_extra_c674b41a.o:(.data.rel.ro._ZTVN4juce19CodeEditorComponentE[_ZTVN4juce19CodeEditorComponentE]+0x1c8): undefined reference to `juce::CodeEditorComponent::markedLinesChanged(int, bool)’
              collect2: error: ld returned 1 exit status
              make: *** [../../../../Bin/Ctrlr-x86_64] Error 1
              CTRLR[linux]: build failed

              Any suggestions ?

              Best,

              dp

              #33546
              atom
              Keymaster
                • Topics: 159
                • Replies: 2945
                • Total: 3104
                • ★★★★★

                Missed some stuff when merging new JUCE. Should be good now, pull the repo again and try it.

                #33634
                davephillips
                Participant
                  • Topics: 2
                  • Replies: 7
                  • Total: 9

                  Greetings,

                  Thanks again for the code fix, I was finally able to build and run the latest Ctrlr. However, in Bitwig Studio the VST crashes if I try to open its GUI, which limits its utility there. Attempting the open its GUI in Ardour3 crashes the program completely.

                  The standalone works perfectly so far, I’m able to load and operate panels. Unfortunately I don’t own any supported synths, though I’m looking for an inexpensive TX81z. It was the first synth I owned. 🙂

                  Any advice towards resolving the plugin GUI problem ? In both DAWs the generic controls seemed stable, only the GUI appears to cause a problem.

                  Best,

                  dp

                  #33691
                  atom
                  Keymaster
                    • Topics: 159
                    • Replies: 2945
                    • Total: 3104
                    • ★★★★★

                    VST on Linux is something that causes a lot of problems, this is not my code. You need to speak to someone at JUCE forums to fix that, the Linux code inside JUCE is old and is not often updated, the hosts you mentioned were not tested (i don’t know if ANY have been tested). I have GUI issues with plugins in Qtractor too (the windows does not resize) but it loads and works (no crash). I imagine this might depend on the host itself.

                  Viewing 8 posts - 1 through 8 (of 8 total)
                  • The forum ‘Linux’ is closed to new topics and replies.
                  There is currently 0 users and 67 guests online
                  No users are currently active
                  Forum Statistics
                  Threads: 2,495, Posts: 17,374, Members: 77,605
                  Most users ever online was 12 on January 22, 2019 3:47 pm
                  Ctrlr