cross-compile-chroot.sh (to zesty) fails to build [cannot find -ludev] due to libudev.so being in a different directory to where libudev.pc searches for it
Bug #1674201 reported by
Daniel van Vugt
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Won't Fix
|
High
|
Daniel van Vugt | ||
mir (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
systemd (Ubuntu) |
Fix Released
|
High
|
Dimitri John Ledkov |
Bug Description
Mir fails to build on arm64 cross-compiled:
[ 11%] Linking CXX shared library ../../lib/
/usr/lib/
/usr/lib/
collect2: error: ld returned 1 exit status
Related branches
lp://staging/~vanvugt/mir/workaround-1674201
- Mir CI Bot: Needs Fixing (continuous-integration)
- Kevin DuBois (community): Approve
- Alan Griffiths: Approve
- Alexandros Frantzis (community): Approve
-
Diff: 15 lines (+4/-0)1 file modifiedCMakeLists.txt (+4/-0)
lp://staging/~vanvugt/mir/remove-test-macros
- Alexandros Frantzis (community): Approve
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 44 lines (+0/-29)2 files modifiedtests/integration-tests/CMakeLists.txt (+0/-1)
tests/integration-tests/test_macros.cpp (+0/-28)
lp://staging/mir
- PS Jenkins bot (community): Approve (continuous-integration)
- Alan Griffiths: Approve
- Kevin DuBois (community): Approve
-
Diff: 1373 lines (+579/-161)23 files modified3rd_party/android-input/android/frameworks/base/services/input/MirLog.cpp (+157/-5)
include/test/mir_test_framework/display_server_test_fixture.h (+2/-0)
include/test/mir_test_framework/stub_client_connection_configuration.h (+35/-0)
include/test/mir_test_framework/testing_client_configuration.h (+43/-0)
include/test/mir_test_framework/testing_process_manager.h (+7/-8)
src/client/mir_client_library.cpp (+39/-17)
src/server/graphics/android/hwc_common_device.cpp (+15/-13)
src/server/options/program_option.cpp (+2/-1)
tests/acceptance-tests/test_client_authorization.cpp (+7/-0)
tests/acceptance-tests/test_client_focus_notification.cpp (+2/-9)
tests/acceptance-tests/test_client_input.cpp (+8/-15)
tests/acceptance-tests/test_client_library.cpp (+30/-17)
tests/acceptance-tests/test_focus_selection.cpp (+2/-9)
tests/acceptance-tests/test_server_shutdown.cpp (+2/-9)
tests/acceptance-tests/test_shell_control_of_surface_configuration.cpp (+2/-9)
tests/acceptance-tests/test_surfaceloop.cpp (+3/-10)
tests/acceptance-tests/test_surfaces_with_output_id.cpp (+2/-9)
tests/mir_test_framework/CMakeLists.txt (+1/-0)
tests/mir_test_framework/display_server_test_fixture.cpp (+9/-6)
tests/mir_test_framework/testing_client_options.cpp (+126/-0)
tests/mir_test_framework/testing_process_manager.cpp (+41/-1)
tests/unit-tests/graphics/android/test_hwc_device.cpp (+25/-1)
tests/unit-tests/logging/test_legacy_input_report.cpp (+19/-22)
lp://staging/~vanvugt/mir/remove-workaround-1674201
- Alberto Aguirre (community): Approve
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 13 lines (+0/-3)1 file modifiedCMakeLists.txt (+0/-3)
Changed in mir: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
Changed in mir: | |
importance: | Undecided → Low |
Changed in udev (Ubuntu): | |
importance: | Medium → High |
Changed in mir: | |
status: | New → In Progress |
milestone: | none → 1.0.0 |
tags: | added: xcompile |
summary: |
- cross-compile-chroot.sh fails to build [cannot find -ludev] + cross-compile-chroot.sh (to zesty) fails to build [cannot find -ludev] |
Changed in mir: | |
status: | Fix Committed → In Progress |
affects: | udev (Ubuntu) → systemd (Ubuntu) |
summary: |
cross-compile-chroot.sh (to zesty) fails to build [cannot find -ludev] + due to libudev.so being in a different directory to where libudev.so + searches for it |
summary: |
cross-compile-chroot.sh (to zesty) fails to build [cannot find -ludev] - due to libudev.so being in a different directory to where libudev.so + due to libudev.so being in a different directory to where libudev.pc searches for it |
Changed in mir: | |
status: | In Progress → Fix Committed |
Changed in systemd (Ubuntu): | |
status: | New → Confirmed |
assignee: | nobody → Dimitri John Ledkov (xnox) |
milestone: | none → ubuntu-17.03 |
Changed in systemd (Ubuntu): | |
status: | Confirmed → Fix Committed |
To post a comment you must log in.
Looks like a udev bug. Mir is doing everything right to find libudev.so, but the pc file says the library path is: /usr/lib/ aarch64- linux-gnu
libdir=
while libudev-dev actually installs it to:
/lib/<arch>/...
Both of these conflicting facts are from the same package `libudev-dev'.
Just you wouldn't notice the bug unless you were unlucky enough to be building in an environment without searching /lib/<arch>/...