| Summary: | kdeconnect-kde failed with "/usr/bin/ld: cannot open output file ../bin/kdeconnect: Is a directory" | ||
|---|---|---|---|
| Product: | [Applications] kdeconnect | Reporter: | farseerfc |
| Component: | common | Assignee: | Philip C <cliabhach> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | albertvaka, arojas, cliabhach, matthijstijink |
| Priority: | NOR | ||
| Version First Reported In: | 1.3.5 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
farseerfc
2019-09-04 06:50:28 UTC
I cannot reproduce this, even with the same PKGBUILD and installed software versions. Do you have any uncommon configurations (gcc, etc.)? > I cannot reproduce this, even with the same PKGBUILD and installed software versions. Do you have any uncommon configurations (gcc, etc.)? No, I use extra-x86_64-build command from extra/devtools package, which makes a clean chroot environment every time to build the package. It is documented here https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_clean_chroot#Convenience_way and used by Arch Linux packagers for official packages. I can reproduce this both on my own desktop PC as well as a build server running Arch Linux. This is only reproducible if you compile *without* krunner. Here's what's going on:
- If you *don't* have krunner: cmake calls find_package(ECM 5.48.0), from kdeconnect's CMakelists. Since 5.48.0>5.38.0, ECM sets CMAKE_LIBRARY_OUTPUT_DIRECTORY
to ${CMAKE_BINARY_DIR}/bin (see KDECmakeSettings), and all binaries are installed there - which causes this conflict between the kdeconnect dir used by plugins and the kdeconnect binary.
- If you *do* have krunner: after all of the above, krunner calls plasma, which in turn calls kpackage, which in turn calls find_package(ECM 1.6.0). Since 1.6.0<5.38.0, ECM *unsets* the CMAKE_LIBRARY_OUTPUT_DIRECTORY that was previously set - so now each binary is installed to its own dir and they don't conflict.
So this is a real bug, which is only masked by krunner pulling an import of an old version of ECM.
This should be fixed with c451d7064e86df055d80e7d2cb078e2966ef3cce (In reply to Antonio Rojas from comment #4) > This should be fixed with c451d7064e86df055d80e7d2cb078e2966ef3cce Thanks! I can confirm that this is fixed on my machines after c451d7064e86df055d80e7d2cb078e2966ef3cce. Might be worth fixing the underlying bug. |