Hi Matt,
thanks for reporting this bug and adding a ticket in our bug tracker. If
others are interested, for more information on the bug status please
visit bug 14108 in our bug tracker (link:
http://bugs.mitk.org/show_bug.cgi?id=14108).
Greets,
Alfred
Am 28.12.2012 14:06, schrieb Clarkson, Matt:
Hi there,
I recently updated our project by merging in the 2012.12.0 MITK
release into our github clone of MITK.
Then I had a strange problem whereby our external project plugins were
resolved, but the plugins that these plugins depended on were not.
I have attached the error in error.txt. I ended up by changing the
macro gp_resolve_item_override.txt. I have attaches a before.txt and
after.txt.
At the moment I am only testing this solution on my Mac running Snow
Leopard, but the problem exists also on Scientific Linux.
However, I still don't fully understand it, so Im not sure whether to
raise a bug??
So, as I see it:
1. We have our own plugins that get copied into the installation
folder blah.app/Contents/MacOS/plugins
2. The fixup_bundle process will determine that the plugin in
question, can be resolved within the bundle, and calculate the
embedded path as @executable_path/plugins
3. But this plugin depends on libuk_ac_ucl_cmic_gui_qt_common.dylib
which exists in the same directory, and hence otool -L reveals that it
has a relative path that is empty
4. So, in gp_resolve_item in GetPrerequisites.cmake this code:
if(NOT resolved)
set(ri "ri-NOTFOUND")
find_file(ri "${item}" ${exepath} ${dirs} NO_DEFAULT_PATH)
find_file(ri "${item}" ${exepath} ${dirs} /usr/lib)
if(ri)
#message(STATUS "info: 'find_file' in exepath/dirs (${ri})")
set(resolved 1)
set(resolved_item "${ri}")
set(ri "ri-NOTFOUND")
endif(ri)
endif(NOT resolved)
fails to resolve it, as the ${dirs} includes stuff like the
MITK-build/MITK-build/bin but not the installation folder where the
plugins are residing.
5. So I thought about adding more paths to the ${dirs} variable, but
there is a mechanism to add an addtional function called
gp_resolve_item_override.
6. However, the bit of code I removed in the "before.txt" firstly is
only defined for non Apple platforms, and secondly it only deals with
blueberry plugins, which doesn't seem suitable for plugins in general,
and certainly not for 3rd party plugins for external projects.
7. So, the function I added in after.txt tries to match the plugin
within the installation plugin folder.
8. So, I think that the provided function may be better or more
correct, although currently needs a bit of refactoring to remove
duplications.
BUT
9. I have no idea why these error messages have only just appeared,
as looking through the revision history of mitkMacroInstall.cmake, or
GetPrerequisites.cmake or BundleUtilities.cmake doesn't suggest any
relevant change between 2012.09 and 2012.12 that I can see.
10. I have no idea if the proposed change is even valid as I am not
100% sure if I understand the original intent of gp_resolve_item_override.
Please can any one help understand what the problem.
Thanks as always
Matt
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users