Ok so we do exactly the same thing (except that I use qt 4.6.2 right now) Thanks for the info
-----Original Message----- From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On Behalf Of Clinton Stimpson Sent: Wednesday, March 03, 2010 4:20 PM To: Martin Guillon Cc: Michael Jackson; cmake@cmake.org; Michael Wild Subject: Re: [CMake] Qt assistant in OsX application bundle On Wednesday 03 March 2010 08:07:17 am Martin Guillon wrote: > I tried exactly your layout and I still get the error. > So a few questions: > - can you show me the qt.conf of your Assistant.app Its empty. > - where did you get the Assistant.app? I build qt myself so that I > can choose to install qt (carbon) in a directory of my choice. So the > assistant comes from there. - Which version of Qt? I got assistant.app from a Qt 4.5.2 (carbon) installation. > - how did you change the path where the executable looks for > frameworks? (I used cmake which internally changes absolute paths > written during Assistant build to "@executable_path/../Frameworks/... > ) I use BundleUtilities.cmake on Foo.app which goes in an fixes assistant.app as well. But before that, I also add a symlink Frameworks -> ../../../Frameworks for the assistant, and a libQtCLucene.4.dylib -> ../../../libQtCLucene.4.dylib As far as I know, those symlinks are only necessary because of how BundleUtilities does it. Clint > > Sorry for asking so many question, but that s the only way I can find > why it works for you :s Thanks > > Martin > > -----Original Message----- > From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On > Behalf Of Clinton Stimpson Sent: Wednesday, March 03, 2010 3:51 PM > To: Michael Wild > Cc: Michael Jackson; cmake@cmake.org; Martin Guillon > Subject: Re: [CMake] Qt assistant in OsX application bundle > > > This works for me: > > Foo.app/ > -Contents/ > --plugins/ > ---sqldrivers > --Resources/ > ---qt.conf > --MacOS/ > ---Foo > ---Assistant.app/ > ----Contents/ > -----plugins/ symlink to ../../../plugins > ----Resources > -----qt.conf > > You can change the location of plugins to your liking if you specify > it in qt.conf. That also means you can do without symlinking plugins > and tell the assistant's qt.conf to go up 3 more directories. > > Clint > > On 03/03/2010 07:20 AM, Michael Wild wrote: > > Hmm, that's strange... Looks like you're doing the things the right > > way... > > > > Have you tried making the Doc/Assistant.app/Contents/Plugins not a > > symlink, but a copy of Bundle.app/Contents/Plugins instead? Just for > > debugging... Moving the libqsqlite.dylib library into MacOS can't > > help because Qt is always searching for > > $PLUGINS_DIR/sqldrivers/libsqlite.dylib, where $PLUGINS_DIR is the > > directory where Qt looks for plugins. > > > > I understand your frustration, deploying stuff on Mac OS X is a PITA. > > > > Michael > > > > On 3. Mar, 2010, at 14:47 , Martin Guillon wrote: > >> In fact it was not solved > >> > >> It works great on my dev machine. But as soon as I copy my app on a > >> machine without qt framework I get an error "Cannot Load SQLite > >> database driver!" > >> > >> So let me first show you my layout > >> > >> Bundl.app > >> --MacOS > >> --Resources > >> --Framework > >> -----QtCore... > >> -----QGui... > >> -----QtXml... > >> -----QtHelp... > >> -----QtSql... > >> --Plugins > >> ----imageformats > >> -------- ..... > >> ----sqldrivers > >> ------libsqlite.dylib > >> --Doc > >> ----Assistant.app > >> ------Frameworks (link to ../../Frameworks) ------Plugins (link to > >> ../../Plugins) > >> ------ Exactly the same layout as the assistant from qt/bin > >> > >> > >> Now I now Assistant find the frameworks as I get another error > >> related to that if I change anything related to the frameworks. Now > >> I have spent > >> 3 days of the "Cannot Load SQLite database driver!" error and I > >> cant find the solution. I tried copying libsqlite.dylib in the > >> MacOS folder, tried creating a empty/filled qt.conf in > >> Bundle.app/Doc/Assistant.app/Resources. Nothing works! > >> > >> I really need help > >> Thanks > >> > >> Martin > >> > >> -----Original Message----- > >> From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On > >> Behalf Of Martin Guillon > >> Sent: Monday, March 01, 2010 4:18 PM > >> To: Michael Wild; Michael Jackson > >> Cc: cmake@cmake.org > >> Subject: Re: [CMake] Qt assistant in OsX application bundle > >> > >> Thanks a lot Michael, I found the solution in ParaView!!! > >> > >> Martin > >> > >> -----Original Message----- > >> From: Michael Wild [mailto:them...@gmail.com] > >> Sent: Monday, March 01, 2010 3:14 PM > >> To: Michael Jackson > >> Cc: Martin Guillon; cmake@cmake.org > >> Subject: Re: [CMake] Qt assistant in OsX application bundle > >> > >> But only the stable release, the CVS version doesn't anymore. > >> > >> Michael > >> > >> On 1. Mar, 2010, at 15:05 , Michael Jackson wrote: > >>> I would take a look at the ParaView project as ParaView uses > >>> QtAssistant for help. > >>> _________________________________________________________ > >>> Mike Jackson mike.jack...@bluequartz.net > >>> BlueQuartz Software www.bluequartz.net > >>> Principal Software Engineer Dayton, Ohio > >>> > >>> On Mar 1, 2010, at 7:52 AM, Martin Guillon wrote: > >>>> Hi, > >>>> > >>>> After successfully creating my application bundle with qt > >>>> frameworks(thanks to all of you) I am now trying to integrate the > >>>> qt assistant in my application bundle. I first tried to put the > >>>> whole Assistant.app in a folder of my app bundle. But then fixing > >>>> the bundle wouldn't work with the assistant because of the double > >>>> level of bundle app. Then I thought that should just put the > >>>> Assistant executable in the MacOS folder of my bundle. Then the > >>>> fixing worked but launching the Assistant wouldn't work. It would > >>>> just crash with a bus error during start. > >>>> > >>>> So did anyone successfully integrated the qt assistant in its app > >>>> bundle? > >>>> > >>>> Thanks a lot > >>>> > >>>> Martin > >>>> > >>>> -----Original Message----- > >>>> From: Michael Wild [mailto:them...@gmail.com] > >>>> Sent: Thursday, February 25, 2010 9:36 AM > >>>> To: Martin Guillon > >>>> Cc: Werner Smekal; cmake@cmake.org > >>>> Subject: Re: [CMake] OsX bundle including Qt framework > >>>> > >>>> I think this is because Qt by default loads some optional plugins > >>>> and finds them in your Qt installation because they do not get > >>>> copied into your application bundle automatically. Since the > >>>> prefixes do not match, Qt is complaining... You can confirm this > >>>> by setting the environment variables DYLD_PRINT_LIBRARIES or > >>>> DYLD_PRINT_LIBRARIES_POST_LAUNCH to a non-empty string and then > >>>> starting your application from the command line (i.e. > >>>> /<path-to>/<application>.app/Contents/MacOS/<executable>, where > >>>> you have to replace the parts in<>). Then watch for the library > >>>> names that get loaded. Nothing should come from your Qt installation. > >>>> > >>>> If this is the source for the error, try including an empty > >>>> qt.conf file in your bundle (or as a resource) as described here: > >>>> http://doc.trolltech.com/4.6/qt-conf.html > >>>> > >>>> HTH > >>>> > >>>> Michael > >>>> > >>>> On 25. Feb, 2010, at 9:11 , Martin Guillon wrote: > >>>>> A little feedback on what s happening. After using the fixbundle > >>>>> script, my app works great on a machine without QT installed. I > >>>>> loads the frameworks I put in the bundle perfectly. But now I > >>>>> have a problem in my dev environment. After fixing the bundle, > >>>>> if I start my app, I get qt errors saying it finds multiple > >>>>> versions of qt, and then some of my executables wont start. That > >>>>> s not that bad in my dev environment but what if the user already have > >>>>> a qt somewhere? > >>>>> > >>>>> Is there a way to make so that my app only see the qt frameworks > >>>>> in the bundle? > >>>>> > >>>>> Thanks > >>>>> > >>>>> MArtin > >>>>> > >>>>> -----Original Message----- > >>>>> From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] > >>>>> On Behalf Of Martin Guillon > >>>>> Sent: Wednesday, February 24, 2010 4:05 PM > >>>>> To: Werner Smekal; cmake@cmake.org > >>>>> Subject: Re: [CMake] OsX bundle including Qt framework > >>>>> > >>>>> Thanks a lot, it now works perfectly!!!! > >>>>> > >>>>> MArtin > >>>>> > >>>>> -----Original Message----- > >>>>> From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] > >>>>> On Behalf Of Werner Smekal > >>>>> Sent: Wednesday, February 24, 2010 3:34 PM > >>>>> To: cmake@cmake.org > >>>>> Subject: Re: [CMake] OsX bundle including Qt framework > >>>>> > >>>>> -----BEGIN PGP SIGNED MESSAGE----- > >>>>> Hash: SHA1 > >>>>> > >>>>> Hi Martin, > >>>>> > >>>>>> I use cmake to make an osx bundle of my qt application. During > >>>>>> install I copy qt framework from my qt install dir to the > >>>>>> Frameworks directory of my bundle. > >>>>> > >>>>> This will be done automagically using the BundleUtilities module. > >>>>> E.g. in my project I do: > >>>>> > >>>>> # fixup bundle, copy dynamic libraries into app bundle > >>>>> set(APPS "\${CMAKE_INSTALL_PREFIX}/${SESSA_BUNDLE_NAME}.app") > >>>>> # paths to executables set(DIRS > >>>>> "${CMAKE_SOURCE_DIR}/local/Release/lib") # directories to search > >>>>> for prerequisites > >>>>> INSTALL(CODE " > >>>>> include(BundleUtilities) > >>>>> fixup_bundle(\"${APPS}\" \"\" \"${DIRS}\") > >>>>> ") > >>>>> > >>>>> Look in the mailing list or in the net about BundleUtilities to > >>>>> get more information, or look in the module. > >>>>> > >>>>>> The problem I have now is that when using "ostool -L " I see > >>>>>> that my executable look for qt frameworks in a dir which is the > >>>>>> absolute path to my qt install dir. > >>>>> > >>>>> Reason is, that if you link to a library, the reference inside > >>>>> the > >>>>> *library* (use otool -L on that library) is used and set in the > >>>>> executable as well. You need at least to set the new reference > >>>>> (@executable_path/....) in the executable, so that it can find > >>>>> the libraries (if libraries depend on other libraries you need > >>>>> to change that as well). Use install_name_tool for that. > >>>>> > >>>>> But everything is done by the BundleUtilities macro, so you > >>>>> don't need to mess around here. > >>>>> > >>>>> HTH, > >>>>> Werner > >>>>> > >>>>>> What I want is for my executable to look in the "Frameworks" > >>>>>> directory of my bundle. > >>>>>> > >>>>>> > >>>>>> > >>>>>> Is there a way to do that directly during build using Cmake? > >>>>>> > >>>>>> > >>>>>> > >>>>>> Thanks > >>>>>> > >>>>>> > >>>>>> > >>>>>> MArtin > >>>>>> > >>>>>> > >>>>>> > >>>>>> _______________________________________________ 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 > >>>>> > >>>>> - -- > >>>>> Dr. Werner Smekal > >>>>> Institut fuer Angewandte Physik > >>>>> Technische Universitaet Wien > >>>>> Wiedner Hauptstr 8-10/134 > >>>>> A-1040 Wien > >>>>> Austria > >>>>> DVR-Nr: 0005886 > >>>>> > >>>>> email: sme...@iap.tuwien.ac.at (GPG: EDCAF4A79) > >>>>> web: http://www.iap.tuwien.ac.at/~smekal > >>>>> phone: +43-(0)1-58801-13463 (office) > >>>>> +43-(0)1-58801-13469 (laboratory) > >>>>> fax: +43-(0)1-58801-13499 > >>>>> -----BEGIN PGP SIGNATURE----- > >>>>> Version: GnuPG v1.4.10 (Darwin) > >>>>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > >>>>> > >>>>> iQEcBAEBAgAGBQJLhTjHAAoJEG1QQcXtyvSnRK0H/3NwjN7DB7IH339Szs0iqTMf > >>>>> 3ONaiP0IIjdzer2Ak4Ao3+Yl+vVksyGCaeB/goYEy5mBbLxLNHIjY71+pS2zNk4L > >>>>> 62tAolQZCJfRzxv9mQVZsX92wHw5DC1mtPnyqWl1DuQu4lrp+WVQlfareC25keI/ > >>>>> 1TBndC7A74uTz9IZJWOkUZRUgK9uHD8MRWBL4ujYJw0ocghHYjbeSxySrAGBC/oG > >>>>> DRp8l6N3UfFzTRVE+FZUnBdKcMkSTQXTdzK6oBtszKwJxkCKbcI94lAOgYqA49kU > >>>>> TWcxwQEbYXoXXFzI1Qo5evG2NgjDmicHluXnSuNNMTkVGoxnJbECZcoi3d5dlJU= > >>>>> =TUd7 > >>>>> -----END PGP SIGNATURE----- > >>>>> _______________________________________________ > >>>>> 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 > >>>>> _______________________________________________ > >>>>> 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 > >>>>> _______________________________________________ > >>>>> 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 > >>>> > >>>> _______________________________________________ > >>>> 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 > >>> > >>> _______________________________________________ > >>> 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 > >> > >> _______________________________________________ > >> 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 > > > > _______________________________________________ > > 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 > > _______________________________________________ > 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 > _______________________________________________ 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 _______________________________________________ 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