Home Forums Platform Specific Linux compiling for exported standalone/plugin instance

This topic contains 9 replies, has 3 voices, and was last updated by atom atom 2 years, 5 months ago.

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #14626
    msepsis
    msepsis
    Participant

    What is the current “proper” recommended procedure for building restricted standalone and plugin instances in linux? I have a customer who wants a build of my blofeld editor specifically for crunchbang (based on debian wheezy).

    Just install the current nightly ctrlr.sh for linux and export like I normally would for os x or windows?

    I saw you had mentioned that the linux build contains both 32 and 64 bit binaries – is this a universal binary like the os x nightly or is there a separate linux ctrlr for x86 and separate binary for x64?

    Monstrum Media | Music, Sound & Software Design, Chicago / San Francisco listen

    #14629
    atom
    atom
    Moderator

    No linux does not have universal binaries, they are seperate.

    There is no instance export for linux, i worked on it for a moment but i got into complications, for now you need just the Ctrlr binary and a panel, you need to load it like a panel. I still didn’t get to the point where i can implement an instance export, i need to get into how ELF binaries are built and somehow modify them without using extra libraries (libelf)

    #38099
    msepsis
    msepsis
    Participant

    Hey Atom,
    on this note.. I have a user who wants a binary that will work on debian jessie x64. I have not been able to compile or install either IntroJucer or Ctrlr, To be honest I feel a bit at a loss when going about this – it’s been a LONG time for me – what’s the protocal?
    –Install introJucer (how? – i downloaded the library via github but then what after extracting? I see JUCE/extras/Introjucer/Builds, JuceLibraryCode, Source and Introjucer.jucer)
    –Use introJucer to compile a binary of (ctrlr?) (my panel within ctrlr?)

    I’m stuck getting IntroJucer compiled/installed, here’s what I get:

    root@paraHP:/home/rob/JUCE/extras/Introjucer/Builds/Linux# chmod +x Makefile 
    root@paraHP:/home/rob/JUCE/extras/Introjucer/Builds/Linux# ./Makefile 
    ./Makefile: line 3: $\r: command not found
    ./Makefile: command substitution: line 6: syntax error near unexpected token )
    /Makefile: command substitution: line 6: if $(word 2, $(TARGET_ARCH)), , -MMD)
    ./Makefile: line 6: $\r: command not found
    ./Makefile: line 7: ifndef: command not found
    ./Makefile: line 9: $endif\r: command not found
    ./Makefile: line 10: $\r: command not found
    ./Makefile: line 11: syntax error near unexpected token $(CONFIG),Debug
    '/Makefile: line 11: ifeq ($(CONFIG),Debug)
    root@paraHP:/home/rob/JUCE/extras/Introjucer/Builds/Linux# 
    

    I hope all is well, I’ve been away for a while, My wife is having a kid in… well.. any day now!!

    Cheers,
    Rob

    • This reply was modified 2 years, 7 months ago by msepsis msepsis.

    Monstrum Media | Music, Sound & Software Design, Chicago / San Francisco listen

    #38104
    atom
    atom
    Moderator

    don’t execute Makefiles, run make
    root@paraHP:/home/rob/JUCE/extras/Introjucer/Builds/Linux# make

    #38181
    msepsis
    msepsis
    Participant

    of course. so tracked down all dependencies and got IntroJucer built for debian, Could you remind me – How do I use IntroJucer along with the downloaded zip of ctrlr’s source from github to compile a ctrlr standalone and vst/so

    Thanks!

    Monstrum Media | Music, Sound & Software Design, Chicago / San Francisco listen

    #38186
    atom
    atom
    Moderator

    There was a post somewhere on the forums that explains all the steps.

    But if you enter the Scripts/ directory of the ctrlr repository there is a post-commit script that should do everything for you

    # cd ctrlr
    # cd Scripts
    # ./post-commit

    #42318

    dasfaker
    Participant

    Noob alert: how to run post-commit script on winx64?

    #42320
    atom
    atom
    Moderator

    I use the git for windows installer package, it has some basic mingw utilities that enable the script to run and do stuff.

    If you want to build the entire project with the post-commit script you might need to change some paths in it to point to msbuild.exe binary.

    #42418

    dasfaker
    Participant

    After a hell of problems with VB sdks I finally could run the script (had to rename it to post-commit.sh, otherwise it didn’t run), but I get two errors, this is more or less what I get (it’s in Spanish).

    “c:\ctrlr\Builds\Ctrlr_Release.sln” (Rebuild destination) (1) ->
    “c:\ctrlr\Builds\Generated\Windows\Standalone\Ctrlr_Standalone.vcxproj”
    (Rebuild destination) (2) ->
    ..\..\..\..\Source\Native\Linux\keys.cpp(65):fatal error C1010: unexpected end of file while looking for precompiled header:Did you forget to add ‘#include “stdafx.h”‘ to your source? [c:\ctrlr\Builds\Generated\Windows\Standalone\Ctrlr_Standalone.vcxproj]

    “c:\ctrlr\Builds\Ctrlr_Release.sln” (Rebuild destination) (1) ->
    “c:\ctrlr\Builds\Generated\Windows\VST\Ctrlr_Standalone.vcxproj”
    (Rebuild destination) (3) -> LINK: fatal error LNK1123: error during conversion to COFF: file invalid or corrupt [c:\ctrlr\Builds\Generated\Windows\VST\Ctrlr_Plugin_VST.vcxproj]

    I’ve seen in this post something related to the first error, but i didn’t used yet Introjucer nor VB, just run the script, it’s the only modified file to change paths as you suggested.

    #42446
    atom
    atom
    Moderator

    On windows it’s a bit tricky the VS project that gets exported from Introjucer will not compile without some modifications. Some files need to be excluded from using precompiled headers (those are lua.c all the JUCE files, all the native files for linux). Also the file stdafx.cpp needs to be have an option to create the PCH when it’s compiled. Otherwise you will get errors like that.

    I do that sometimes and i commit this to the repo but whenever i have to use Introjucer to update the project this gets reset and i need to change everything and re-commit. Sometimes i forget and commit with the wrong settings, and sometimes I commit from a different platform (MAC/Linux) and running Introjucer on those re-generates the VS project files anyway, so that resets those settings again.

Viewing 10 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic.

Comments are closed.