Debug vs Release
-
Well, MainController is the main controller that handles the threading so it's pretty likely that this is the problem, but it's also a BIG class :)
I think I need to reproduce this and debug it for myself.
-
@christoph-hart Yeah it's always hard when you can't reproduce the issue. I'm going to try working backwards, I have a copy of my woodwind project, I'm going to try to remove bits from it a piece at a time until it opens in Reaper without issue.
-
Well something strange is definitely happening. I dismantled the project piece by piece. I had nothing left but an empty sampler (no modulators) and the main interface script and it was still causing the issue. I deleted the sampler and now the plugin loads in Reaper. So I reverted to the version before I removed the sampler and loaded an empty sample map, plugin once again crashes Reaper.
So I went back to my working test project that had nothing but a sine wave generator interface script. I took out the sine wave generator and put in a sampler, and the plugin now triggers the issue in Reaper. So this is progress :)
One thing I noticed is as soon as I added the sampler it gave a warning
Preset:! Velocity Modulator was not found. Preset:! Velocity Modulator was not found. Preset:! Velocity Modulator was not found.
-
There was some weird old thumbnail cache code that crashed on my system. Please try again :)
You need to rebuild everything after the merge - Projucer and HISE, then clean and export again.
-
I'm hitting some problems building Projucer (I'm doing this on my Linux Mint 19 machine).
Linking Projucer - App build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::ClipboardHelpers::requestSelectionContent(_XDisplay*, juce::String&, unsigned long, unsigned long)': include_juce_gui_basics.cpp:(.text+0x5990): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x59ba): undefined reference to `XConvertSelection' include_juce_gui_basics.cpp:(.text+0x59ea): undefined reference to `XCheckTypedWindowEvent' include_juce_gui_basics.cpp:(.text+0x5a8f): undefined reference to `XGetWindowProperty' include_juce_gui_basics.cpp:(.text+0x5ac6): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text+0x5af6): undefined reference to `XDeleteProperty' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxEventLoop::CallbackFunction<juce::XWindowSystem::initialiseXDisplay()::{lambda(int)#1}>::operator()(int)': include_juce_gui_basics.cpp:(.text+0x68b0): undefined reference to `XPending' include_juce_gui_basics.cpp:(.text+0x68c6): undefined reference to `XNextEvent' include_juce_gui_basics.cpp:(.text+0x68d3): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x690f): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x691b): undefined reference to `XPending' include_juce_gui_basics.cpp:(.text+0x692c): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x697f): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::ClipboardHelpers::initSelectionAtoms(_XDisplay*) [clone .part.187]': include_juce_gui_basics.cpp:(.text+0x69a5): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x69bd): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x69d5): undefined reference to `XInternAtom' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::ClipboardHelpers::handleSelection(XSelectionRequestEvent&)': include_juce_gui_basics.cpp:(.text+0x6a7b): undefined reference to `XSendEvent' include_juce_gui_basics.cpp:(.text+0x6b2f): undefined reference to `XChangeProperty' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::sendExternalDragAndDropMessage(XClientMessageEvent&, unsigned long) [clone .isra.207]': include_juce_gui_basics.cpp:(.text+0x6c58): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x6c6e): undefined reference to `XSendEvent' include_juce_gui_basics.cpp:(.text+0x6c80): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x6c9a): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XSHMHelpers::isShmAvailable(_XDisplay*)': include_juce_gui_basics.cpp:(.text+0x78a3): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x78ba): undefined reference to `XShmQueryVersion' include_juce_gui_basics.cpp:(.text+0x78c6): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x7907): undefined reference to `XSetErrorHandler' include_juce_gui_basics.cpp:(.text+0x794c): undefined reference to `XShmCreateImage' include_juce_gui_basics.cpp:(.text+0x798b): undefined reference to `XSetErrorHandler' include_juce_gui_basics.cpp:(.text+0x79d6): undefined reference to `XSync' include_juce_gui_basics.cpp:(.text+0x79e1): undefined reference to `XShmAttach' include_juce_gui_basics.cpp:(.text+0x79ed): undefined reference to `XFlush' include_juce_gui_basics.cpp:(.text+0x7a11): undefined reference to `XSync' include_juce_gui_basics.cpp:(.text+0x7a1c): undefined reference to `XShmDetach' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::X11ErrorHandling::installXErrorHandlers()': include_juce_gui_basics.cpp:(.text+0x391ec): undefined reference to `XSetIOErrorHandler' include_juce_gui_basics.cpp:(.text+0x391ff): undefined reference to `XSetErrorHandler' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::X11ErrorHandling::removeXErrorHandlers()': include_juce_gui_basics.cpp:(.text+0x3921c): undefined reference to `XSetIOErrorHandler' include_juce_gui_basics.cpp:(.text+0x39233): undefined reference to `XSetErrorHandler' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XWindowSystem::XWindowSystem()': include_juce_gui_basics.cpp:(.text+0x3928e): undefined reference to `XSetIOErrorHandler' include_juce_gui_basics.cpp:(.text+0x392a1): undefined reference to `XSetErrorHandler' include_juce_gui_basics.cpp:(.text+0x392c9): undefined reference to `XInitThreads' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XWindowSystem::~XWindowSystem()': include_juce_gui_basics.cpp:(.text+0x39326): undefined reference to `XSetIOErrorHandler' include_juce_gui_basics.cpp:(.text+0x3933d): undefined reference to `XSetErrorHandler' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XWindowSystem::displayUnref()': include_juce_gui_basics.cpp:(.text+0x393ac): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x393bb): undefined reference to `XDestroyWindow' include_juce_gui_basics.cpp:(.text+0x393d3): undefined reference to `XSync' include_juce_gui_basics.cpp:(.text+0x393e0): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x393e8): undefined reference to `XCloseDisplay' include_juce_gui_basics.cpp:(.text+0x3942a): undefined reference to `XDestroyWindow' include_juce_gui_basics.cpp:(.text+0x39442): undefined reference to `XSync' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XWindowSystem::initialiseXDisplay()': include_juce_gui_basics.cpp:(.text+0x3949a): undefined reference to `XrmUniqueQuark' include_juce_gui_basics.cpp:(.text+0x394e6): undefined reference to `XCreateWindow' include_juce_gui_basics.cpp:(.text+0x394fb): undefined reference to `XSync' include_juce_gui_basics.cpp:(.text+0x39503): undefined reference to `XConnectionNumber' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XWindowSystem::displayRef()': include_juce_gui_basics.cpp:(.text+0x39623): undefined reference to `XOpenDisplay' include_juce_gui_basics.cpp:(.text+0x39640): undefined reference to `XOpenDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LookAndFeel::getMouseCursorFor(juce::Component&)': include_juce_gui_basics.cpp:(.text+0x39779): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x39784): undefined reference to `XFreeCursor' include_juce_gui_basics.cpp:(.text+0x3978c): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x39856): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XWindowSystem::destroyXDisplay()': include_juce_gui_basics.cpp:(.text+0x398b5): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x398c4): undefined reference to `XDestroyWindow' include_juce_gui_basics.cpp:(.text+0x398dc): undefined reference to `XSync' include_juce_gui_basics.cpp:(.text+0x39902): undefined reference to `XDestroyWindow' include_juce_gui_basics.cpp:(.text+0x3991a): undefined reference to `XSync' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::Atoms::Atoms(_XDisplay*)': include_juce_gui_basics.cpp:(.text+0x399cc): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x399e3): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x399fb): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x39a13): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x39a2b): undefined reference to `XInternAtom' build/intermediate/Release/include_juce_gui_basics_e3f79785.o:include_juce_gui_basics.cpp:(.text+0x39a43): more undefined references to `XInternAtom' follow build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::Atoms::getName(_XDisplay*, unsigned long)': include_juce_gui_basics.cpp:(.text+0x39d10): undefined reference to `XGetAtomName' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::Atoms::isMimeTypeFile(_XDisplay*, unsigned long)': include_juce_gui_basics.cpp:(.text+0x39d5f): undefined reference to `XGetAtomName' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::GetXProperty::GetXProperty(_XDisplay*, unsigned long, unsigned long, long, long, bool, unsigned long)': include_juce_gui_basics.cpp:(.text+0x39dff): undefined reference to `XGetWindowProperty' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::SystemClipboard::copyTextToClipboard(juce::String const&)': include_juce_gui_basics.cpp:(.text+0x39e88): undefined reference to `XSetSelectionOwner' include_juce_gui_basics.cpp:(.text+0x39ea0): undefined reference to `XSetSelectionOwner' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::SystemClipboard::getTextFromClipboard()': include_juce_gui_basics.cpp:(.text+0x39fe3): undefined reference to `XGetSelectionOwner' include_juce_gui_basics.cpp:(.text+0x3a04e): undefined reference to `XGetSelectionOwner' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::KeyPress::isKeyCurrentlyDown(int)': include_juce_gui_basics.cpp:(.text+0x3a266): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3a271): undefined reference to `XKeysymToKeycode' include_juce_gui_basics.cpp:(.text+0x3a2a0): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3a2de): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::PixmapHelpers::createColourPixmapFromImage(_XDisplay*, juce::Image const&)': include_juce_gui_basics.cpp:(.text+0x3a95e): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3aa38): undefined reference to `XCreateImage' include_juce_gui_basics.cpp:(.text+0x3aa69): undefined reference to `XCreatePixmap' include_juce_gui_basics.cpp:(.text+0x3aa7b): undefined reference to `XCreateGC' include_juce_gui_basics.cpp:(.text+0x3aaa0): undefined reference to `XPutImage' include_juce_gui_basics.cpp:(.text+0x3aaaf): undefined reference to `XFreeGC' include_juce_gui_basics.cpp:(.text+0x3aac9): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3ab12): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::PixmapHelpers::createMaskPixmapFromImage(_XDisplay*, juce::Image const&)': include_juce_gui_basics.cpp:(.text+0x3ab5e): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3ac6d): undefined reference to `XCreatePixmapFromBitmapData' include_juce_gui_basics.cpp:(.text+0x3ac88): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3ad41): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::ModifierKeys::getCurrentModifiersRealtime()': include_juce_gui_basics.cpp:(.text+0x3ade2): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3ae2a): undefined reference to `XQueryPointer' include_juce_gui_basics.cpp:(.text+0x3ae4e): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::MouseInputSource::getCurrentRawMousePosition()': include_juce_gui_basics.cpp:(.text+0x3af68): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3afa9): undefined reference to `XQueryPointer' include_juce_gui_basics.cpp:(.text+0x3b1f0): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3b256): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::MouseInputSource::setRawMousePosition(juce::Point<float>)': include_juce_gui_basics.cpp:(.text+0x3b33c): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3b43d): undefined reference to `XWarpPointer' include_juce_gui_basics.cpp:(.text+0x3b449): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3b4c7): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::Desktop::setScreenSaverEnabled(bool)': include_juce_gui_basics.cpp:(.text+0x3b52b): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3b54d): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3b5c3): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::juce_createKeyProxyWindow(juce::ComponentPeer*)': include_juce_gui_basics.cpp:(.text+0x3b938): undefined reference to `XCreateWindow' include_juce_gui_basics.cpp:(.text+0x3b94f): undefined reference to `XMapWindow' include_juce_gui_basics.cpp:(.text+0x3b968): undefined reference to `XSaveContext' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::juce_deleteKeyProxyWindow(juce::ComponentPeer*)': include_juce_gui_basics.cpp:(.text+0x3b9e2): undefined reference to `XFindContext' include_juce_gui_basics.cpp:(.text+0x3b9fb): undefined reference to `XDestroyWindow' include_juce_gui_basics.cpp:(.text+0x3ba09): undefined reference to `XSync' include_juce_gui_basics.cpp:(.text+0x3ba2a): undefined reference to `XCheckWindowEvent' include_juce_gui_basics.cpp:(.text+0x3ba72): undefined reference to `XDeleteContext' include_juce_gui_basics.cpp:(.text+0x3ba8d): undefined reference to `XCheckWindowEvent' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::CustomMouseCursorInfo::create() const': include_juce_gui_basics.cpp:(.text+0x3bb17): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3bc3b): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3bd74): undefined reference to `XQueryBestCursor' include_juce_gui_basics.cpp:(.text+0x3bfb7): undefined reference to `XCreatePixmapFromBitmapData' include_juce_gui_basics.cpp:(.text+0x3bfe4): undefined reference to `XCreatePixmapFromBitmapData' include_juce_gui_basics.cpp:(.text+0x3c030): undefined reference to `XCreatePixmapCursor' include_juce_gui_basics.cpp:(.text+0x3c040): undefined reference to `XFreePixmap' include_juce_gui_basics.cpp:(.text+0x3c04b): undefined reference to `XFreePixmap' include_juce_gui_basics.cpp:(.text+0x3c13d): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::MouseCursor::deleteMouseCursor(void*, bool)': include_juce_gui_basics.cpp:(.text+0x3c447): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3c452): undefined reference to `XFreeCursor' include_juce_gui_basics.cpp:(.text+0x3c45a): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3c49f): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::MouseCursor::createStandardMouseCursor(juce::MouseCursor::StandardCursorType)': include_juce_gui_basics.cpp:(.text+0x3c544): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3c54e): undefined reference to `XCreateFontCursor' include_juce_gui_basics.cpp:(.text+0x3c559): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3c75c): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::MouseCursor::showInWindow(juce::ComponentPeer*) const': include_juce_gui_basics.cpp:(.text+0x3c891): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x3c8a4): undefined reference to `XDefineCursor' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::Component::createNewPeer(int, void*)': include_juce_gui_basics.cpp:(.text+0x5d79a): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x5d8c5): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x5d8fd): undefined reference to `XShmCreateImage' include_juce_gui_basics.cpp:(.text+0x5d91e): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x5d99b): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text+0x5dbb3): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::MouseCursor::showInAllWindows() const': include_juce_gui_basics.cpp:(.text+0x5dcd1): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0x5dce7): undefined reference to `XDefineCursor' include_juce_gui_basics.cpp:(.text+0x5dcef): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x5dd72): undefined reference to `XDefineCursor' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::WindowingHelpers::windowMessageReceive(_XEvent&)': include_juce_gui_basics.cpp:(.text+0xac2e2): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text+0xac2fa): undefined reference to `XFindContext' include_juce_gui_basics.cpp:(.text+0xac324): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XWindowSystem::destroyXDisplay()': include_juce_gui_basics.cpp:(.text+0x398ef): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::ScopedXLock::ScopedXLock(_XDisplay*)': include_juce_gui_basics.cpp:(.text+0x3997c): undefined reference to `XLockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::ScopedXLock::~ScopedXLock()': include_juce_gui_basics.cpp:(.text+0x39999): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::Atoms::getIfExists(_XDisplay*, char const*)': include_juce_gui_basics.cpp:(.text+0x39ce6): undefined reference to `XInternAtom' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::Atoms::getCreating(_XDisplay*, char const*)': include_juce_gui_basics.cpp:(.text+0x39cf3): undefined reference to `XInternAtom' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::GetXProperty::~GetXProperty()': include_juce_gui_basics.cpp:(.text+0x39e2a): undefined reference to `XFree' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::MouseCursor::showInWindow(juce::ComponentPeer*) const': include_juce_gui_basics.cpp:(.text+0x3c8b0): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text+0x3c8c6): undefined reference to `XDefineCursor' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::setTitle(juce::String const&)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE[_ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE]+0x38): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE[_ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE]+0x4d): undefined reference to `XStringListToTextProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE[_ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE]+0x5e): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE[_ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE]+0x90): undefined reference to `XSetWMName' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE[_ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE]+0xa4): undefined reference to `XSetWMIconName' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE[_ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE]+0xad): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE[_ZN4juce18LinuxComponentPeer8setTitleERKNS_6StringE]+0xc7): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::setVisible(bool)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer10setVisibleEb[_ZN4juce18LinuxComponentPeer10setVisibleEb]+0x1b): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer10setVisibleEb[_ZN4juce18LinuxComponentPeer10setVisibleEb]+0x31): undefined reference to `XMapWindow' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer10setVisibleEb[_ZN4juce18LinuxComponentPeer10setVisibleEb]+0x51): undefined reference to `XUnmapWindow' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer10setVisibleEb[_ZN4juce18LinuxComponentPeer10setVisibleEb]+0x6e): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer10setVisibleEb[_ZN4juce18LinuxComponentPeer10setVisibleEb]+0x42): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::toBehind(juce::ComponentPeer*)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8toBehindEPNS_13ComponentPeerE[_ZN4juce18LinuxComponentPeer8toBehindEPNS_13ComponentPeerE]+0xa4): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8toBehindEPNS_13ComponentPeerE[_ZN4juce18LinuxComponentPeer8toBehindEPNS_13ComponentPeerE]+0xba): undefined reference to `XRestackWindows' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8toBehindEPNS_13ComponentPeerE[_ZN4juce18LinuxComponentPeer8toBehindEPNS_13ComponentPeerE]+0xc7): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer8toBehindEPNS_13ComponentPeerE[_ZN4juce18LinuxComponentPeer8toBehindEPNS_13ComponentPeerE]+0xfa): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::setMinimised(bool)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12setMinimisedEb[_ZN4juce18LinuxComponentPeer12setMinimisedEb]+0x9c): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12setMinimisedEb[_ZN4juce18LinuxComponentPeer12setMinimisedEb]+0xb5): undefined reference to `XSendEvent' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12setMinimisedEb[_ZN4juce18LinuxComponentPeer12setMinimisedEb]+0xbd): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12setMinimisedEb[_ZN4juce18LinuxComponentPeer12setMinimisedEb]+0xd5): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XBitmapImage::~XBitmapImage()': include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD2Ev[_ZN4juce12XBitmapImageD5Ev]+0x23): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD2Ev[_ZN4juce12XBitmapImageD5Ev]+0x38): undefined reference to `XFreeGC' include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD2Ev[_ZN4juce12XBitmapImageD5Ev]+0x60): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD2Ev[_ZN4juce12XBitmapImageD5Ev]+0x9f): undefined reference to `XShmDetach' include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD2Ev[_ZN4juce12XBitmapImageD5Ev]+0xab): undefined reference to `XFlush' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::Visuals::findVisualWithDepth(_XDisplay*, int)': include_juce_gui_basics.cpp:(.text._ZN4juce7VisualsL19findVisualWithDepthEP9_XDisplayi[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x21): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce7VisualsL19findVisualWithDepthEP9_XDisplayi[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x7f): undefined reference to `XGetVisualInfo' include_juce_gui_basics.cpp:(.text._ZN4juce7VisualsL19findVisualWithDepthEP9_XDisplayi[_ZN4juce18LinuxComponentPeer12createWindowEm]+0xc7): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZN4juce7VisualsL19findVisualWithDepthEP9_XDisplayi[_ZN4juce18LinuxComponentPeer12createWindowEm]+0xcf): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::externalFindDragTargetWindow(unsigned long) [clone .part.378]': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer28externalFindDragTargetWindowEm.part.378[_ZN4juce18LinuxComponentPeer30handleExternalDragMotionNotifyEv]+0x43): undefined reference to `XQueryPointer' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer28externalFindDragTargetWindowEm.part.378[_ZN4juce18LinuxComponentPeer30handleExternalDragMotionNotifyEv]+0x90): undefined reference to `XListProperties' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer28externalFindDragTargetWindowEm.part.378[_ZN4juce18LinuxComponentPeer30handleExternalDragMotionNotifyEv]+0xd8): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer28externalFindDragTargetWindowEm.part.378[_ZN4juce18LinuxComponentPeer30handleExternalDragMotionNotifyEv]+0x109): undefined reference to `XFree' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::XBitmapImage::~XBitmapImage()': include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD0Ev[_ZN4juce12XBitmapImageD5Ev]+0x23): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD0Ev[_ZN4juce12XBitmapImageD5Ev]+0x38): undefined reference to `XFreeGC' include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD0Ev[_ZN4juce12XBitmapImageD5Ev]+0x60): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD0Ev[_ZN4juce12XBitmapImageD5Ev]+0xaf): undefined reference to `XShmDetach' include_juce_gui_basics.cpp:(.text._ZN4juce12XBitmapImageD0Ev[_ZN4juce12XBitmapImageD5Ev]+0xbb): undefined reference to `XFlush' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::MouseCursor::SharedCursorHandle::release()': include_juce_gui_basics.cpp:(.text._ZN4juce11MouseCursor18SharedCursorHandle7releaseEv[_ZN4juce11MouseCursor18SharedCursorHandle7releaseEv]+0x35): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce11MouseCursor18SharedCursorHandle7releaseEv[_ZN4juce11MouseCursor18SharedCursorHandle7releaseEv]+0x40): undefined reference to `XFreeCursor' include_juce_gui_basics.cpp:(.text._ZN4juce11MouseCursor18SharedCursorHandle7releaseEv[_ZN4juce11MouseCursor18SharedCursorHandle7releaseEv]+0x48): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce11MouseCursor18SharedCursorHandle7releaseEv[_ZN4juce11MouseCursor18SharedCursorHandle7releaseEv]+0xa5): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::isMinimised() const': include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer11isMinimisedEv[_ZNK4juce18LinuxComponentPeer11isMinimisedEv]+0x2f): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer11isMinimisedEv[_ZNK4juce18LinuxComponentPeer11isMinimisedEv]+0x7e): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer11isMinimisedEv[_ZNK4juce18LinuxComponentPeer11isMinimisedEv]+0x8b): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer11isMinimisedEv[_ZNK4juce18LinuxComponentPeer11isMinimisedEv]+0xdd): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::grabFocus()': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer9grabFocusEv[_ZN4juce18LinuxComponentPeer9grabFocusEv]+0x32): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer9grabFocusEv[_ZN4juce18LinuxComponentPeer9grabFocusEv]+0x4e): undefined reference to `XGetWindowAttributes' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer9grabFocusEv[_ZN4juce18LinuxComponentPeer9grabFocusEv]+0x65): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer9grabFocusEv[_ZN4juce18LinuxComponentPeer9grabFocusEv]+0xf2): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer9grabFocusEv[_ZN4juce18LinuxComponentPeer9grabFocusEv]+0x11a): undefined reference to `XSetInputFocus' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer9grabFocusEv[_ZN4juce18LinuxComponentPeer9grabFocusEv]+0x148): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::isParentWindowOf(unsigned long) const': include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer16isParentWindowOfEm[_ZNK4juce18LinuxComponentPeer16isParentWindowOfEm]+0x78): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer16isParentWindowOfEm[_ZNK4juce18LinuxComponentPeer16isParentWindowOfEm]+0x9d): undefined reference to `XQueryTree' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer16isParentWindowOfEm[_ZNK4juce18LinuxComponentPeer16isParentWindowOfEm]+0xb0): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer16isParentWindowOfEm[_ZNK4juce18LinuxComponentPeer16isParentWindowOfEm]+0xd3): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer16isParentWindowOfEm[_ZNK4juce18LinuxComponentPeer16isParentWindowOfEm]+0xf1): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer16isParentWindowOfEm[_ZNK4juce18LinuxComponentPeer16isParentWindowOfEm]+0x11e): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::isFocused() const': include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0x40): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0x56): undefined reference to `XGetInputFocus' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0x80): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0xda): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0xfd): undefined reference to `XQueryTree' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0x110): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0x133): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0x151): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0x186): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZNK4juce18LinuxComponentPeer9isFocusedEv[_ZNK4juce18LinuxComponentPeer9isFocusedEv]+0x193): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::deleteIconPixmaps()': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv[_ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv]+0x19): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv[_ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv]+0x2a): undefined reference to `XGetWMHints' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv[_ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv]+0x51): undefined reference to `XSetWMHints' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv[_ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv]+0x59): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv[_ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv]+0x7c): undefined reference to `XFreePixmap' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv[_ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv]+0x9c): undefined reference to `XFreePixmap' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv[_ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv]+0xc4): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv[_ZN4juce18LinuxComponentPeer17deleteIconPixmapsEv]+0x6a): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::setIcon(juce::Image const&)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x113): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x128): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x154): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x16e): undefined reference to `XGetWMHints' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x1bb): undefined reference to `XSetWMHints' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x1c3): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x1d1): undefined reference to `XSync' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x1de): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x210): undefined reference to `XAllocWMHints' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE[_ZN4juce18LinuxComponentPeer7setIconERKNS_5ImageE]+0x22b): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::updateModifierMappings()': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0x14): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0x25): undefined reference to `XKeysymToKeycode' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0x38): undefined reference to `XKeysymToKeycode' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0x5a): undefined reference to `XGetModifierMapping' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0x78): undefined reference to `XKeysymToKeycode' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0x8b): undefined reference to `XKeysymToKeycode' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0xad): undefined reference to `XGetModifierMapping' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0x1f0): undefined reference to `XFreeModifiermap' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer22updateModifierMappingsEv[_ZN4juce18LinuxComponentPeer22updateModifierMappingsEv]+0x6b): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::removeWindowDecorations(unsigned long)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x38): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x72): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x98): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0xa9): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0xc1): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0xe8): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x111): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x121): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x139): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x160): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x189): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x198): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x1b0): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x1cf): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x1fb): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x20a): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x23e): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x259): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x273): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm[_ZN4juce18LinuxComponentPeer23removeWindowDecorationsEm]+0x288): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::addWindowButtons(unsigned long)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x3b): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x53): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x140): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x15a): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x1c1): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x200): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x20f): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x29d): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x2e9): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x333): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16addWindowButtonsEm[_ZN4juce18LinuxComponentPeer16addWindowButtonsEm]+0x375): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::createWindow(unsigned long)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x3c): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x100): undefined reference to `XCreateColormap' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x112): undefined reference to `XInstallColormap' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x193): undefined reference to `XCreateWindow' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x1b3): undefined reference to `XSaveContext' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x206): undefined reference to `XDestroyWindow' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x21b): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x249): undefined reference to `XAllocWMHints' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x274): undefined reference to `XSetWMHints' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x27c): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x29e): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x2d0): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x356): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x386): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x3bc): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x3f2): undefined reference to `XChangeProperty' build/intermediate/Release/include_juce_gui_basics_e3f79785.o:include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x428): more undefined references to `XChangeProperty' follow build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::createWindow(unsigned long)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x46c): undefined reference to `XGetPointerMapping' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x4d3): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x4e8): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x5fc): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x637): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x666): undefined reference to `XChangeProperty' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer12createWindowEm[_ZN4juce18LinuxComponentPeer12createWindowEm]+0x6aa): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::updateBorderSize()': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16updateBorderSizeEv[_ZN4juce18LinuxComponentPeer16updateBorderSizeEv]+0x58): undefined reference to `XLockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16updateBorderSizeEv[_ZN4juce18LinuxComponentPeer16updateBorderSizeEv]+0x70): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16updateBorderSizeEv[_ZN4juce18LinuxComponentPeer16updateBorderSizeEv]+0x82): undefined reference to `XUnlockDisplay' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16updateBorderSizeEv[_ZN4juce18LinuxComponentPeer16updateBorderSizeEv]+0x12a): undefined reference to `XFree' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer16updateBorderSizeEv[_ZN4juce18LinuxComponentPeer16updateBorderSizeEv]+0x147): undefined reference to `XUnlockDisplay' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::DragState::DragState(_XDisplay*)': include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer9DragStateC2EP9_XDisplay[_ZN4juce18LinuxComponentPeer9DragStateC5EP9_XDisplay]+0x6d): undefined reference to `XInternAtom' include_juce_gui_basics.cpp:(.text._ZN4juce18LinuxComponentPeer9DragStateC2EP9_XDisplay[_ZN4juce18LinuxComponentPeer9DragStateC5EP9_XDisplay]+0xcb): undefined reference to `XInternAtom' build/intermediate/Release/include_juce_gui_basics_e3f79785.o: In function `juce::LinuxComponentPeer::updateDraggedFileList(XClientMessageEvent const&)':
-
This post is deleted! -
Clean the build folder, this is some intermediate file bug.
-
@christoph-hart You solved it! Plugin loads fine now :D Thank you!!!
I see Headless VSTi is an export option now, what's this for?
Shall I rebuild projucer on ancient Linux or are there more changes to come?
-
Finally, I was starting to loose hair.
Headless VSTi is for a project on embedded Linux, but apart from that it serves no purpose.
You can rebuild the Projucer, I won‘t touch it soon...
-
Is there anything else that could cause those intermediate file issues I had earlier? I'm trying to build Projucer on Mint 17 and I'm hitting those same messages, I've done make clean every time and I manually deleted the build folder. Before I started I deleted my previous HISE-develop folder and downloaded it fresh from GitHub as a zip.
-
I‘ve hit those when I switched the compilation modes from Debug to Release and there were some old files lying around that were mistakenly reused, but I have no idea what else could be responsible...
-
@christoph-hart hmm I'll try on Mint 18 and see what I get
-
Well something strange is happening. I'll probably figure it out. If I open the JUCE/extras/projucer/Projucer.jucer file and resave it, then try and build the make file I get the problem. Whereas if I don't do the resaving and just use the makefile that's already there I don't get the issue. The only problem it has the webgtk stuff in that makefile so I want to resave the jucer file.
-
Well in this case make a diff between the makefiles and check what else is changing.
-
Good idea. I'm not too sure what I'm looking for, the red is the new file that doesn't work, yellow is the original.
-
It seems as there are a few dependencies being removed (
x11
,web-gtk
and so on). I think had to remove these for the headless plugin build (is actually a few months ago since I did this), but it shouldn't affect the normal stuff.In order to fix this, you can add these back to the Projucer (search for the other libs like
freetype
and add the missing ones. -
@christoph-hart I think I'm not doing this correctly. I go to the filter below the file explorer section and type in x11 for example but nothing shows up.
-
.jucer files are XML files, just load them into Sublime and Ctrl+H these bad boys back :)
-
@christoph-hart Thank you Sensei
-
I was unable to find any references to the libraries like freetype and libcurl in the jucer file so I just added the missing ones to the makefile instead and that worked. I'm going to try now on Mint 17 again.