On 10/22/2010 05:30 PM, David Cole wrote:
On Fri, Oct 22, 2010 at 11:22 AM, Marco Nolden
<m.nol...@dkfz-heidelberg.de <mailto:m.nol...@dkfz-heidelberg.de>> wrote:
On 10/19/2010 11:26 PM, David Cole wrote:
What is the exact problem here? Mac or Linux? You said it works after
"make install" but then the copied libs do not end up in the CPack
package? (By default, CPack just does a make install to construct its
install tree for packaging. Are you overriding it somehow?)
No override, minimal CPack configuration, I added just a
"include(CPack)" without any extra configuration.
Mac:
1. After "make install" the fixup_bundle copies all external libraries
(e.g. ITK in our little test project) to the install tree and all paths
are fixed correctly.
2. I added just a include(CPack) without extra configuration.
3. "cpack -G DragNDrop" shows some extra debug output from fixup_bundle
we added. The paths in these messages are referring to the install tree,
so I guess the script is working there.
But: in the binary tree there is a folder
_CPack_Packages/Darwin/DragNDrop/Project-0.1.1-Darwin which contains
just the executable and the libraries which have explicit INSTALL(TARGET
) commands, none of the external prerequisites that got pulled in by
fixup_bundle.
Linux:
CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: Project
CPack: - Install project: Project
CMake Error at /home/nolden/bundle-test-src/BundleUtilities.cmake:745
(message):
error: verify_app failed
Call Stack (most recent call first):
/home/nolden/bundle-test-src/BundleUtilities.cmake:627 (verify_app)
/home/nolden/bundle-bin/main/cmake_install.cmake:99 (fixup_bundle)
/home/nolden/bundle-bin/cmake_install.cmake:40 (INCLUDE)
CPack Error: Error when generating package: Project
Same situation here: everthing fine in the install dir, but in the
_CPack_Packages folder the external libraries are missing.
BTW, the BundleUtilities are a great tool, I think you should
advertise it more, also for Linux and Windows.
Thanks! It's really great that so many people have taken it up and
started using it. Especially thanks to Clinton Stimpson for all of his
effort to make it work well everywhere, not just on the Mac.
Where/how would you suggest we advertise it more? We pretty much count
on word-of-mouth of satisfied folks like you to spread the word for us...!
Thanks,
David Cole
We will spread the word! But it was somehow a lucky find because we
started with the information from the CPack Package Generators page
which lists a lot of OSX generators and describes start scripts and
things like that. I think a link to the BundleUtilities page would help
here. And since it is cross platform I would also vote for another name ...
Best,
Marco
Best,
Marco
On Tue, Oct 19, 2010 at 5:14 PM, Marco Nolden
<m.nol...@dkfz-heidelberg.de
<mailto:m.nol...@dkfz-heidelberg.de>
<mailto:m.nol...@dkfz-heidelberg.de
<mailto:m.nol...@dkfz-heidelberg.de>>> wrote:
On 10/19/2010 05:47 PM, David Cole wrote:
This likely means that "otool -L" on libA is reporting
"/Users/engelm/bundle-test/install/MacOS/liblibB.dylib" as a
dependent library... If that's true, then why doesn't
the library
exist?
It exists in the build tree but we did not add install
commands for
it, because we thought it would be done by the BundleUtilities
script (and in fact on linux libB does get copied to the install
tree automatically).
So is this "automatic copying" of libraries intended for
libraries
in the same project as well or is it only intended for 3rd party
libraries from other directories?
Do you build libA against a build tree including libB or
against
an install tree of libB...?
Both libraries are built within the same project.
Yes, that is basically the intended usage of
BundleUtilities. It
looks like you are using it correctly. Errors are
difficult to
diagnose, though.....
I know, we already spent some time trying to get it to work
;) Is
the test project useful? Can we help in some other way?
Best
Marco
HTH,
David
On Tue, Oct 19, 2010 at 10:34 AM, Marco Nolden
<m.nol...@dkfz-heidelberg.de
<mailto:m.nol...@dkfz-heidelberg.de>
<mailto:m.nol...@dkfz-heidelberg.de
<mailto:m.nol...@dkfz-heidelberg.de>>>
wrote:
Dear all,
we have some problems using the BundleUtilities
macro for
deployment on Mac OS X. I created a very small test
project
which is similar to our setup:
http://github.com/nolden/bundle-test
- libA is a plugin that would be loaded at runtime
by means of
dlopen (or something similar). We added an explicit
INSTALL(TARGETS libA) for this library.
- libB is a dependency of libA
- Main is an indepedent main application that would in
practice load libA with dlopen (not in the example)
Calling fixup_bundle with libA as a plugin gives
some errors
on Mac OS, because libB is not copied to the install
tree:
Install the project...
-- Install configuration: ""
-- Installing:
/Users/engelm/bundle-test/install/lib/liblibA.dylib
-- Installing:
/Users/engelm/bundle-test/install/bin/Main
GetPreReq
-- fixup_bundle
-- app='/Users/engelm/bundle-test/install/bin/Main'
--
libs='/Users/engelm/bundle-test/install/lib/liblibA.dylib'
-- dirs='/Users/engelm/bundle-test/bin/bin'
-- fixup_bundle: preparing...
-- warning: embedded item does not exist
'/Users/engelm/bundle-test/install/MacOS/liblibB.dylib'
--
******************************************************************************
warning: cannot resolve item
'@executable_path/../MacOS/liblibB.dylib'
On Linux, the copying of the dependencies works, we
have not
tested windows yet.
Is this the intended use of the BundleUtilities
script? It
looks like a very good solution for cross-platform
deployment.
Best,
Marco / Sascha
MITK, http://www.mitk.org
_______________________________________________
Powered by www.kitware.com <http://www.kitware.com>
<http://www.kitware.com>
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake
FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake