[Gammaray-interest] Fwd: building GammaRay on OS X
Volker Krause
volker.krause at kdab.com
Thu May 28 11:14:54 CEST 2015
On Thursday 28 May 2015 11:05:34 René J.V. Bertin wrote:
> On Thursday May 28 2015 09:34:18 Volker Krause wrote:
>
> Hi, thanks for answering.
>
> >Yep, I would guess the CLI (lower-case) binary could just be dropped from
> >the bundle.
>
> For MacPorts it'd probably be of interest to be able to move the CLI binary
> to ${prefix}/bin because the bundle exec doesn't seem to accept any
> options. But it doesn't find any probes so it's useless for now.
>
> Reminds me: using MacPorts' Qt and standard build options, a certain number
> of GammaRay components that are apparently supposed to be built as
> frameworks are built as dylibs id-ed to ${prefix}/lib, which have to be
> moved there for the application to load. Not really an issue for MacPorts,
> but it does mean the app bundle isn't as standalone as it should be.
Right, the app bundle is not part of any official release yet and work in
progress (although there hasn't been much progress lately). It doesn't include
Qt yet for example, and more importantly there is still issues to address when
injecting into a target that bundles Qt itself.
> >Dirty, and usually hard to achieve with any form of packaging. With Qt5
> >this got a lot easier though.
>
> Dirty, and very much "not done" according to MacPorts dogma (but there ought
> to be exceptions that confirm the rules, eh? :)). What is QPainter analysis
> required for anyway? The introduction/documentation led me to believe that
> it was required to be able to analyse applications that don't use QML, but
> that appears not to be the case.
It's the detailed step-by-step painting introspection feature of the widget
inspector. It's very powerful, but entirely optional, you don't lose any other
features if you don't have that. And as I said, when moving to Qt5 (which you
want for newer OSX versions anyway), the problem goes away.
> >It does have lldb support as well. I don't know how it selects the right
> >one when both are found, I think we lack an explicit setting for that.
> Could you point me to the place in the code where it selects the debugger?
> Sounds like I'll want to add a little patch there.
launcher/injector/injectorfactory.cpp, defaultInjectorFor*()
Looks like it prefers gdb over lldb if both are present. I'm fine with
reversing that order in general on OSX.
> >with some experiments in that directions for MSVC). There are build options
> >to build only the probe, with the same install prefix you usually would
> >end up with something that should work with Qt4 and Qt5, but I have never
> >tested that in combination with the bundle on Mac.
>
> If they simply limit the build process to the parts related to the probes
> (easy to do with cmake if they're in their own subdirectories) the install
> procedure should work as usual, and I can always correct the "aim" in the
> MacPorts install phase. I reckon I'll recognise the options when I see
> them, now that I know I should look for them (in the toplevel CMake file, I
> hope)?
Yep, GAMMARAY_PROBE_ONLY_BUILD.
regards,
Volker
--
Volker Krause | volker.krause at kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
Tel. +49-30-521325470
KDAB - The Qt Experts
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5906 bytes
Desc: not available
URL: <http://mail.kdab.com/pipermail/gammaray-interest/attachments/20150528/51afb5d5/attachment-0001.p7s>
More information about the Gammaray-interest
mailing list