Once more: Compiling for Linux

Home Forums Platform Specific Linux Once more: Compiling for Linux

Viewing 19 posts - 1 through 19 (of 19 total)
  • Author
    Posts
  • #5716
    romsom
    Participant
      • Topics: 3
      • Replies: 27
      • Total: 30

      Today I tried compiling Ctrlr again, so far without success.

      The Old Game: compiling Introjucer, changing the Juce Path

      I notice you now seem to use precompiled headers.
      The result is here that my compiler can’t find any of the “*.h” includes.
      Shall I point gcc to each and every directory in “Source” that has header files in it?
      Or is there a more sensible way?

      #5733
      romsom
      Participant
        • Topics: 3
        • Replies: 27
        • Total: 30

        @atom

        As I see there is a folder structure like ctrlr[/…]/Source/{Core,MIDI, … } and these folders contain various header files and the related c++ files.
        The headers are included e.g. like

        #include “CtrlrIDs.h”

        so for gcc to find it I have to specify the path like “gcc […] -I “…/ctrlr/Source/Core” “. In the same way for …/Source/MIDI, …/Source/Lua etc.
        Has this any benefit over including like e.g.

        #include “Core/CtrlrIDs.h”
        #include “MIDI/CtrlrMidiDevice.h”
        etc. etc.

        and specifying only “gcc […] -I “…/ctrlr/Source” “?
        How do you handle this with the other compilers?

        I’d like to automate the compile process so I can easily rebuild the newest version of Ctrlr. I already made a patch to change the Juce Directory from within a script, which seems to work.

        By the way, I have access to a rather powerful workstation (dual Opteron 6274).
        If this works I can build you some Linux nightlies on a semi regular base, if you want.

        Best Regards,
        Roman

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

          Those -I are set in Introjucer project in the Makefile section you can see them there, it just helpes with code readability.

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

            Im getting the nasty boost bug with the macro https://svn.boost.org/trac/boost/ticket/6631

            but that’s all for now, i worked around it somehow, just don’t remember how now

            #5739
            romsom
            Participant
              • Topics: 3
              • Replies: 27
              • Total: 30

              Well… I “solved” the include thing. I suspected deeply dark magic there, but it was actually just a few folders.

              Now I’m hitting the problem with boost and luabind.
              I tried working around by using boost 1.48, but that version doesn’t compile on my system anymore…

              So this is probably where I can stop, until you remember your workaround or find another solution to make Ctrlr work with newer versions of boost…
              I’d be glad if you did 😉

              Good Night!

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

                Try to update the source now and rebuild.

                What the Introjucer project assumes, is that the structure of all sources looks like:

                # /home/atom/devel
                Ctrlrv4 checked out from url https://ctrlrv4.svn.sourceforge.net/svnroot/ctrlrv4
                # /home/atom/devel/ctrlrv4 
                Latest JUCE from SF.net or GitHub repo
                # /home/atom/devel/juce 
                VSK SDK 2.4 needed for the plugin build
                # /home/atom/devel/vstsdk2.4 
                

                The rest of libraries (boost, Xorg, alsa, jack, freetype) are assumed to be installed in the system.

                • This reply was modified 11 years, 3 months ago by atom.
                • This reply was modified 11 years, 3 months ago by atom.
                #5778
                romsom
                Participant
                  • Topics: 3
                  • Replies: 27
                  • Total: 30

                  The source structure should be taken care of by a few patches I created.
                  (will be switching to a sed based solution probably)

                  As of today the nightly still doesn’t compile, due to errors with luabind.
                  I attached the commandline output in a textfile.

                  • This reply was modified 11 years, 3 months ago by romsom.
                  Attachments:
                  You must be logged in to view attached files.
                  #5783
                  atom
                  Keymaster
                    • Topics: 159
                    • Replies: 2945
                    • Total: 3104
                    • ★★★★★

                    Ok here is my build log, from a pure source from the latest Ctrlr checked out of SVN. Notice gcc, boost versions (i use slackware, always did)

                    Attachments:
                    You must be logged in to view attached files.
                    #5817
                    romsom
                    Participant
                      • Topics: 3
                      • Replies: 27
                      • Total: 30

                      Alright, boost 1.49 also won’t compile on my system (Arch just went for 1.52)
                      Is it likely that you will make Ctrlr compatible with boost 1.50 or 1.52 soon or should I setup a less cutting edge system if I want to use the latest ctrlr in the next few weeks?

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

                        I’ll see if later boost works on windows first if it does i’ll try to make it work on linux.

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

                          Well i pupdated my boost on both windows and linux to 1.52

                          [atom@suonko:~/devel/ctrlrv4/nightly/Builds/Generated/Linux/Standalone]$ cat /usr/include/boost/version.hpp | grep BOOST_LIB_VERSION
                          //  BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
                          #define BOOST_LIB_VERSION "1_52"
                          

                          And i can build Ctrlr. I’m at revision:

                          [atom@suonko:~/devel/ctrlrv4/nightly/Builds/Generated/Linux/Standalone]$ svn info
                          Path: .
                          Working Copy Root Path: /home/atom/devel/ctrlrv4
                          URL: https://ctrlrv4.svn.sourceforge.net/svnroot/ctrlrv4/nightly/Builds/Generated/Linux/Standalone
                          Repository Root: https://ctrlrv4.svn.sourceforge.net/svnroot/ctrlrv4
                          Repository UUID: 559736a1-76c2-41ba-91cf-453531267ba5
                          Revision: 1234
                          Node Kind: directory
                          Schedule: normal
                          Last Changed Author: ctrlr
                          Last Changed Rev: 1233
                          Last Changed Date: 2013-01-26 04:08:16 +0100 (Sat, 26 Jan 2013)
                          

                          And my juce pull command returned you can see what ID of the source i have on disk “Updating d907508..c559b33”

                          [atom@suonko:~/devel/juce]$ git pull
                          remote: Counting objects: 55134, done.
                          remote: Compressing objects: 100% (11913/11913), done.
                          remote: Total 54019 (delta 45303), reused 49545 (delta 40956)
                          Receiving objects: 100% (54019/54019), 88.94 MiB | 2.29 MiB/s, done.
                          Resolving deltas: 100% (45303/45303), completed with 790 local objects.
                          From git://juce.git.sourceforge.net/gitroot/juce/juce
                             d907508..c559b33  master     -> origin/master
                           * [new branch]      modules    -> origin/modules
                          From git://juce.git.sourceforge.net/gitroot/juce/juce
                           * [new tag]         1_52_release -> 1_52_release
                           * [new tag]         1_53_release -> 1_53_release
                           * [new tag]         V1.51      -> V1.51
                          Updating d907508..c559b33
                          Fast-forward
                           modules/juce_audio_devices/native/juce_win32_ASIO.cpp                    | 304 +++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------
                           modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm | 172 ++++++++++++++++++++++++++++++++++++---------------
                           modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp          |  46 ++++++++------
                           modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp       |   2 +-
                           modules/juce_core/text/juce_String.h                                     |   8 +--
                           modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h        |   2 +-
                           6 files changed, 306 insertions(+), 228 deletions(-)
                          
                          #5857
                          romsom
                          Participant
                            • Topics: 3
                            • Replies: 27
                            • Total: 30

                            Success! rev 1234 just compiled without a single error/warning! The problem seems to have been my fault. Introjucer changed some includes and probably other stuff and the changes consequently went into my patches. After switching to a different approach using “sed”, everything went fine. I attached the little script I will use to build a new executables in the future.

                            Btw, the offer still stands: it takes about 2 minutes to build Ctrlr here, so it won’t be a problem to supply the flourishing linux ctrlr community (still countable with one hand I guess) with the occasionally nightly build.

                            Thx for your help, where none should have been needed 😉

                            • This reply was modified 11 years, 3 months ago by romsom.
                            • This reply was modified 11 years, 3 months ago by romsom.
                            • This reply was modified 11 years, 3 months ago by romsom.
                            Attachments:
                            You must be logged in to view attached files.
                            #5888
                            Babarosa
                            Participant
                              • Topics: 1
                              • Replies: 8
                              • Total: 9

                              Hi there,

                              I would politely ask for recent nightly builds of ctrlr for Linux (I am using Xubuntu), if you don’t mind.

                              Greetings, Michael

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

                                The problem with me building Linux binaries is compatibility i’d have to build this for Fedora/Ubuntu/Arch/Gentoo i don’t really what. There are binary dependencies and i assume they’ll be hard to meet on all those distros.

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

                                  I’ll spend a few hours and try to set up some usable build systems for DEB and RPM packages and setup a repository for yum and aptitude, that much i can do.

                                  #5916
                                  Babarosa
                                  Participant
                                    • Topics: 1
                                    • Replies: 8
                                    • Total: 9

                                    Dear atom,

                                    binaries just as in the download section wold be more than sufficient (at least for me). Thank you for your efforts!

                                    Cheers, Michael

                                    #6073
                                    Babarosa
                                    Participant
                                      • Topics: 1
                                      • Replies: 8
                                      • Total: 9

                                      Dear atom,

                                      thank you very much – I saw that “Ctrlr_1261.bin” is online now.

                                      Greetings, Michael

                                      #9428
                                      lilakmonoke
                                      Participant
                                        • Topics: 5
                                        • Replies: 23
                                        • Total: 28

                                        hi … im on linux meanwhile and not going back to win foshua! i just downloaded the compiled .bin from nightly. how would i run this in ubuntu? its not running in a terminal like that. any more plans for linux ports?

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

                                          It’s not a port it’s a native build. The binary should run, give it execute bits “chmod a+rx Ctrlr.bin” and run it, it’s a self extracting archive inside it there is a Standalone and a VST binary.

                                        Viewing 19 posts - 1 through 19 (of 19 total)
                                        • The forum ‘Linux’ is closed to new topics and replies.
                                        There is currently 0 users and 94 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