Currently, the build scripts and source/lldb.cpp disagree on what plugins are
included for Darwin.
The build scripts don’t build the JITLoaderGDB and ProcessElfCore, yet lldb.cpp
tries to initialize and terminate those plugins, resulting in link failure.
What’s the right way to go? Should I patch to disable those plugins, or to
Cheers, Kuba Ober
You may be hitting a case where you’re caught in the crossfire of 3 different build systems that each need to be kept up to date. In the past I’ve been able to build on OS X with cmake/ninja, configure/make, and the Xcode project files. Since there was recently some motion on those, my guess would be that one or more of the build systems wasn’t kept up to date. I think on OS X the canonical build system is the Xcode setup.
Greg can confirm, but I believe those systems are supposed to be enabled on OS X.
Good to know. I’ve fixed cmakelists for OS X, will post patches shortly to -commits.
Thanks for your help,
Most plug-ins should be built on all systems all the time. The _only_ plugins that shouldn't be built are ones that can only build on the native system and only make sense to use on the native system. That means "ProcessLinux" is for linux only, and "ProcessFreeBSD" is for FreeBSD only. Right now there are a bunch of Apple plug-ins that aren't being built for everyone, but they should be and Todd Fiala and I are working on making sure they are included soon.
So the answer is "make the build work" for all plug-ins. Right now we have 3 build systems: Xcode (darwin only), make and cmake. Usually when changes get made things break so we need to fix them.
Concerning builds, I try to always check against cmake and make (Windows + Linux), but I noticed many of the LLDB build bots are not in very good shape.
Also, not sure if there is buildbots are testing automake & xcode only, or if some of them are testing cmake build as well? (even for LLVM?)
If buildbot gets fixed, I would be happy to try to setup a bot for some of the Windows builds, because they also tend to be easy to break.
However, I am not sure if it will be easy to get a stable Windows VM with licences (MSVC or MingW windows would be best, but if not possible, maybe cross compile from Linux MingW – if it works – could still be a good first step).