EXPORTING to VSTi ERROR : recompile with -fPIC

  • In function ‘__poll_alias’,
        inlined from ‘sleepUntilEvent.constprop’ at /home/djrecycle/HISE-2.1.0/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:130:78,
        inlined from ‘dispatchNextMessageOnSystemQueue’ at /home/djrecycle/HISE-2.1.0/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:244:42:
    /usr/include/x86_64-linux-gnu/bits/poll2.h:41:60: warning: call to ‘__poll_chk_warn’ declared with attribute warning: poll called with fds buffer too small file nfds entries
      return __poll_chk (__fds, __nfds, __timeout, __bos (__fds));
    /usr/bin/ld: build/DJR.a(BinaryData_ce4232d4.o): relocation R_X86_64_PC32 against symbol `_ZN10BinaryData13infoError_pngE' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: final link failed: Bad value
    collect2: error: ld returned 1 exit status
    Makefile:132: recipe for target 'build/DJR.so' failed
    make: *** [build/DJR.so] Error 1
    Compiling finished. Cleaning up...

    how fix this?

  • I have tried this advice:
    "Seems like an intermediate files issue. Try a full clean & rebuild."
    Im rebulid my projucer.

  • @djrecycle You don't have to rebuild projucer. Just open the build directory, where the makefile is, and run make clean

  • root@djrecycle-X453SA:/home/djrecycle/DJRECYCLE95/Binaries/Builds/LinuxMakefile# make clean
    Cleaning DJR
    root@djrecycle-X453SA:/home/djrecycle/DJRECYCLE95/Binaries/Builds/LinuxMakefile# make
    Compiling include_juce_audio_plugin_client_VST2.cpp
    Compiling CopyProtection.cpp
    Compiling Plugin.cpp
    Compiling PresetData.cpp
    Compiling BinaryData.cpp
    Compiling include_hi_components.cpp
    Compiling include_hi_core.cpp
    Compiling include_hi_dsp.cpp
    Compiling include_hi_dsp_library.cpp
    Compiling include_hi_frontend.cpp
    Compiling include_hi_lac.cpp
    Compiling include_hi_modules.cpp
    Compiling include_hi_sampler.cpp
    Compiling include_hi_scripting_01.cpp
    Compiling include_hi_scripting_02.cpp
    Compiling include_hi_streaming.cpp
    Compiling include_hi_tools.cpp
    Compiling include_hi_zstd_1.cpp
    Compiling include_hi_zstd_2.cpp
    Compiling include_hi_zstd_3.cpp
    Compiling include_juce_audio_basics.cpp
    Compiling include_juce_audio_devices.cpp
    Compiling include_juce_audio_formats.cpp
    Compiling include_juce_audio_plugin_client_utils.cpp
    Compiling include_juce_audio_processors.cpp
    Compiling include_juce_audio_utils.cpp
    Compiling include_juce_core.cpp
    Compiling include_juce_cryptography.cpp
    Compiling include_juce_data_structures.cpp
    Compiling include_juce_dsp.cpp
    Compiling include_juce_events.cpp
    Compiling include_juce_graphics.cpp
    Compiling include_juce_gui_basics.cpp
    Compiling include_juce_gui_extra.cpp
    Compiling include_juce_opengl.cpp
    Compiling include_juce_product_unlocking.cpp
    Linking DJR - Shared Code
    Linking DJR - VST

  • after I make clean, I remake again and the results are like that


    then I open the build folder and find files with the formats DJR.a and DJR.so, have I managed to extract them?

  • The .so is your VST. Try make CONFIG=release otherwise you'll build the debug version. Are you using the scriptnode branch?

  • root@djrecycle-X453SA:/home/djrecycle/DJRECYCLE95/Binaries/Builds/LinuxMakefile# make CONFIG=release
    Makefile:141: warning: overriding recipe for target '/'
    Makefile:132: warning: ignoring old recipe for target '/'
    mkdir: missing operand
    Try 'mkdir --help' for more information.
    Makefile:160: recipe for target '/Plugin_124bbd3c.o' failed
    make: [/Plugin_124bbd3c.o] Error 1 (ignored)
    Compiling Plugin.cpp
    ../../Source/Plugin.cpp:2:24: fatal error: JuceHeader.h: No such file or directory
     #include "JuceHeader.h"
    compilation terminated.
    Makefile:160: recipe for target '/Plugin_124bbd3c.o' failed
    make: *** [/Plugin_124bbd3c.o] Error 1

  • Sorry, my mistake.

    make CONFIG=Release

    Are you using scriptnode branch?

  • yes I think use scriptnode branch

  • When you did make clean did it delete the intermediate folder?

  • yes intermediate folder deleted

  • Does DJR.so load in your DAW?

  • DAW like a Reaper and Ardour?

  • @djrecycle Yeah

  • but like this


  • It's a VST. You have to add it to Reaper's VST search path or put it in your usual VST plugin location, just like any other plugin.

  • yes my VST plugin success now,, but my samples .wav can't include

Log in to reply