Opened 6 years ago

Closed 4 years ago

#46129 closed defect (fixed)

qt5-mac is missing QtUiTools framework/library

Reported by: jpwhiting (Jeremy Whiting) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: mk-lists@…
Port: qt5-mac

Description

After installing qt5-mac on OSX Mavericks I tried to build kwidgetsaddons against it and found though it has the header files it is missing the framework in /opt/local/Libraries/Frameworks . Qt from qt-project.org mac installer has this library included.

Change History (10)

comment:1 Changed 6 years ago by mkae (Marko Käning)

Owner: changed from macports-tickets@… to mcalhoun@…

comment:2 Changed 6 years ago by mkae (Marko Käning)

A native qt5 install on my OSX/CI system has these files:

$ pwd
/opt/kde/install/darwin/mavericks/clang/kf5-qt5/qt5/inst
$ find . -name "*Qt5UiTools*"
./lib/cmake/Qt5UiTools
./lib/cmake/Qt5UiTools/Qt5UiToolsConfig.cmake
./lib/cmake/Qt5UiTools/Qt5UiToolsConfigVersion.cmake
./lib/libQt5UiTools_debug.a
./lib/libQt5UiTools_debug.la
./lib/libQt5UiTools_debug.prl
./lib/pkgconfig/Qt5UiTools.pc

while a VM having qt5-mac installed keeps them in /opt/local/lib, so obviously not as a framework:

$ port contents qt5-mac | grep Qt5UiTools
  /opt/local/lib/cmake/Qt5UiTools/Qt5UiToolsConfig.cmake
  /opt/local/lib/cmake/Qt5UiTools/Qt5UiToolsConfigVersion.cmake
  /opt/local/lib/libQt5UiTools.a
  /opt/local/lib/libQt5UiTools.prl
  /opt/local/lib/pkgconfig/Qt5UiTools.pc
}}}.

Looks like this ticket has to be treated as worksforme...

comment:3 Changed 6 years ago by jpwhiting (Jeremy Whiting)

I'd love to be proven wrong, or shown what I'm doing wrong on my end, but when I run cmake (via kdesrc-build running it for me) I'm getting this:

# kdesrc-build running: 'cmake' '/Users/jeremywhiting/devel/kde/src/frameworks/kwidgetsaddons' '-DBUILD_TESTING=FALSE' '-DCMAKE_BUILD_TYPE=Debug' '-DCMAKE_CXX_FLAGS=-stdlib=libc++' '-DCMAKE_BUILD_TYPE:STRING=debug' '-G' 'CodeBlocks - Unix Makefiles' '-DCMAKE_INSTALL_PREFIX=/usr/local' # from directory: /Users/jeremywhiting/devel/kde/build/frameworks/kwidgetsaddons -- The C compiler identification is AppleClang 6.0.0.6000056 -- The CXX compiler identification is AppleClang 6.0.0.6000056 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for GLIBC -- Looking for GLIBC - not found -- Performing Test _OFFT_IS_64BIT -- Performing Test _OFFT_IS_64BIT - Success CMake Error at /opt/local/lib/cmake/Qt5UiTools/Qt5UiToolsConfig.cmake:15 (message):

The imported target "Qt5::UiTools" references the file

"/opt/local/Library/Frameworks/libQt5UiTools.a"

but this file does not exist. Possible reasons include:

  • The file was deleted, renamed, or moved to another location.
  • An install or uninstall procedure did not complete successfully.
  • The installation package was faulty and contained

"/opt/local/lib/cmake/Qt5UiTools/Qt5UiToolsConfig.cmake"

but not all the files it references.

Call Stack (most recent call first):

/opt/local/lib/cmake/Qt5UiTools/Qt5UiToolsConfig.cmake:32 (_qt5_UiTools_check_file_exists) /opt/local/lib/cmake/Qt5UiTools/Qt5UiToolsConfig.cmake:122 (_populate_UiTools_target_properties) /opt/local/lib/cmake/Qt5/Qt5Config.cmake:26 (find_package) CMakeLists.txt:13 (find_package)

-- Configuring incomplete, errors occurred! See also "/Users/jeremywhiting/devel/kde/build/frameworks/kwidgetsaddons/CMakeFiles/CMakeOutput.log". See also "/Users/jeremywhiting/devel/kde/build/frameworks/kwidgetsaddons/CMakeFiles/CMakeError.log".

comment:4 Changed 6 years ago by pixilla (Bradley Giesbrecht)

port -q installed qt5-mac                       
  qt5-mac @5.3.2_1 (active)
port contents qt5-mac | grep libQt5UiTools.a
  /opt/local/lib/libQt5UiTools.a
tar jtf /opt/local/var/macports/software/qt5-mac/qt5-mac-5.3.2_1.darwin_13.x86_64.tbz2 */libQt5UiTools.a
./opt/local/lib/libQt5UiTools.a

If the "./opt/local/lib/libQt5UiTools.a" files exists in the tar file above but not on your file system, deactivating and reactivation the qt5-mac port should restore the /opt/local/lib/libQt5UiTools.a file.

sudo port deactivate qt5-mac
sudo port activate qt5-mac

comment:5 Changed 6 years ago by jpwhiting (Jeremy Whiting)

I do actually have /opt/local/lib/libQt5UiTools.a, the problem is that the Qt5UiToolsConfig.cmake is trying to find it in /opt/local/Library/Frameworks/libQt5UiTools.a where it is not installed. So it seems the library is there, but the cmake Config file is wrong somehow.

comment:6 in reply to:  3 Changed 6 years ago by mkae (Marko Käning)

Replying to jpwhiting@…:

I'm getting this:

Please use wiki formatting for code, to avoid the output being mangled like in comment 3. You should be able to edit this comment and simply put 3 curly brackets around the code block.

comment:7 in reply to:  5 Changed 6 years ago by pixilla (Bradley Giesbrecht)

Replying to jpwhiting@…:

I do actually have /opt/local/lib/libQt5UiTools.a, the problem is that the Qt5UiToolsConfig.cmake is trying to find it in /opt/local/Library/Frameworks/libQt5UiTools.a where it is not installed. So it seems the library is there, but the cmake Config file is wrong somehow.

Oh, perhaps this is why the qt4-mac maintainer put the extra effort into building/simlinking libs and frameworks?

comment:8 Changed 6 years ago by RJVB (René Bertin)

In fact, qt4-mac generates a normal frameworks build, and then creates shared libraries by symlinking lib/libFoo.dylib to Library/Frameworks/Foo/Foo . I'm not sure where a framework build would put a static library, though.

comment:9 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Status: newassigned

r142505 fixed some cmake problems.
Was this problem fixed as well?

comment:10 Changed 4 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: assignedclosed

Hopefully, r142505 fixed the problem.
If not, we can reopen the bug report.

Note: See TracTickets for help on using tickets.