Having had a few successful sessions with Juce on a Win7 PC, I am now playing with Linux… which is new to me (UBUNTU 11.10)
The Introjucer download seems to come in 2 versions, an .exe and a .dmg so I downloaded the exe. and it works by running under wine. But, the menus pop up all over the place and when hovering the mouse ready to click, the menu items flicker between selected/unselected, so is there a native linux version of Introjucer or am I right to be using the .exe under wine? As said already it does seem to produce builds for me so not a big deal… but just wondered?
There was no logic to it … I just saw 2 files so downloaded the .exe :o
As said… new to Linux so I need to learn how to compile from source… OK :oops:
Having been on Windows for so many years now, I am just accustomed to using ready-to-go .exes for pretty much everything, and so far on Ubuntu 10.11 I have just used the built-in “Software Centre” to install things - which also requires no work !!
Your help when I started playing with Juce a few months back was great, but perhaps using Introjucer made it too easy for me to get things working on VS, so I didn’t learn all I could have ?? Still, have managed to get at least somewhere with learning some C++ coding by fiddling with your demo files.
Now time to learn something new… will go now and find the source and see if I can figure out how to compiles.
OK, have done some reading and have had a go at using the Makefile you provide in ‘extras/Introjucer/Builds/Linux’ - it almost sounded too simple just have to type ‘make’ at the command line, but I did and it looked as if it was working as various files began to compile, but then errors arose when it started to link… loads of undefined references
So, I need help & guidance …
Is there something missing from my setup that I need to install?
Am I right to just be typing ‘make’ or should there be parameters to go with it?
You are using a new “distribution” of Linux where Shm is now inside another library than it used to be. Open the Makefile and locate the 2 lines where it reads “-ljuce” and add “-lXext” in there.
Or, fetch the branch called “modules” in the Juce repository since I think it’s fixed in there.
Thanks for trying to help me folks, but I’m still struggling with this - perhaps I should just go back to my Win7 PC ?? but I want to try a linux build of something and if I can’t even get Introjucer compiled & built properly… !?
Anyway just to recap I am trying to build Introjucer from the Makefile provided in ‘extras/Introjucer/Builds/Linux’ of the latest/current juce download, but get the errors as already told.
I can’t find any instance of ‘-ljuce’ in the Makefile (let alone 2 !) and in the juce sourceforge repository I can’t find anything that says “modules”.
I know there must be something fundamental that I don’t understand
Linking The Introjucer
build/intermediate/Debug/JuceLibraryCode4_6856d902.o: In function `isShmAvailable':
/home/mark/SoftDev/JUCE/extras/Introjucer/Builds/Linux/../../JuceLibraryCode/../../../amalgamation/../src/native/linux/juce_linux_Windowing.cpp:176: undefined reference to `XShmQueryVersion'
, nothing about what libraries might be missing… just this ‘undefined reference’
where tim has posted a suggested patch for the Makefile - but I have tried doing that (by literally copying his code) and failed…
and where X-Ry1669 says that… "Xext is required, if you enable the config option to use XSHM " … and in this thread says “Open the Makefile and locate the 2 lines where it reads “-ljuce” and add “-lXext” in there” … but I can’t find any code where it says “-ljuce”
I think I’ll just have to wait until I read of a fix for this in some future update from Jules, and try to get on for now by other means. Although I haven’t managed to get this sorted, I am learning a lot more about using linux … and I am beginning to understand why it might best be avoided too :!:
That’s not a bad approach. At some point Jules will probably end up on a distro that uses the new libraries - they probably got stripped down a bit - and those includes will appear. I can list them after the holidays too.
I guess I should probably add -lXext to the library list by default. But you know you can add whatever command flags you want to the introjucer’s project settings, and it’ll put them in the makefile for you.
[EDIT] I actually already added the Xext library - try the latest version of the introjucer.
I added -lrt months ago. Please don’t waste your time (or mine) messing about with old versions - I’m only interested in problems that you have with the very latest modules branch from GIT.
I added -lrt months ago. Please don’t waste your time (or mine) messing about with old versions - I’m only interested in problems that you have with the very latest modules branch from GIT.[/quote]
Sorry, but I’ve downloaded the latest version with git as explained here on the Downloads page and updated it with the Introjucer to version 1.54.27. To compile the jucer with Ubuntu 11.10 I had to add -lXext AND -lrt to the makefile, because otherwise, I get the error:
/…/…/juce_amalgamated.cpp:264363: undefined reference to `clock_gettime’