[kde-freebsd] [Bug 194870] x11-toolkits/qt5-quick: c++: error: linker command failed with exit code 1 [../../bin/qmltestrunner]

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Nov 12 11:35:17 UTC 2014


--- Comment #7 from commit-hook at freebsd.org ---
A commit references this bug:

Author: rakuco
Date: Wed Nov 12 11:34:39 UTC 2014
New revision: 372491
URL: https://svnweb.freebsd.org/changeset/ports/372491

  Use a smarter strategy to avoid building src/qml and src/qmldevtools.

  Simply patching src/src.pro to remove those directories from the build does
  not work in all cases. If an older version of qt5-quick is installed, their
  .pri files in mkspecs/modules will be picked up, and in the end when linking
  programs such as tools/qmltestrunner something like this happens:

    c++ [...] -Wl,-rpath-link,/usr/local/lib -o ../../bin/qmltestrunner
              -L${WRKSRC}/lib -lQt5QuickTest [...]

  The -rpath-link linker option will make ${LOCALBASE}/lib take precedence in
  directory lookups, so when the newly-built libQt5QuickTest.so asks for
  libQt5Quick.so in its DT_NEEDED section the older version installed in
  ${LOCALBASE}/lib will be used instead of the one that has just been built.
  If the new version has symbols the older one does not (Qt releases are
  backwards, not forwards, compatible), the build will fail.

  So instead of patching src/src.pro, we let the configuration process proceed
  without any patching so that the local .pri files are created in
  ${WRKSRC}/mkspecs and the Makefiles are created in a way that -rpath-link is
  not passed to the linker anymore. We only need to symlink the existing
  libraries built by lang/qt5-qml (this is similar to what we do with qtbase
  ports to avoid rebuilding tools such as qmake and moc), and then change the
  Makefiles in src/qml and src/qmldevtools so that nothing gets built.

  This might even be a solution for other ports that got .pro patches in
  r372179, since depending on which parts depend on which the same thing could
  happen in the future.

  I'm not bumping PORTREVISION because the resulting binaries will not change
  and this only fixes the build where it was broken before.

  PR:        194870


You are receiving this mail because:
You are the assignee for the bug.

More information about the kde-freebsd mailing list