New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build break on Ubuntu 14.04 #6483

Closed
msliu opened this Issue Jun 26, 2015 · 18 comments

Comments

Projects
None yet
9 participants
@msliu

msliu commented Jun 26, 2015

When I tried to build servo on Ubuntu 14.04, I got build break. The error message showed below.

Compiling servo v0.0.1 (file:///media/vliu/workgroup/servo/servo/components/servo)
error: linking with `cc` failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-m64" "-L" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/media/vliu/workgroup/servo/servo/target/release/servo.o" "-o" "/media/vliu/workgroup/servo/servo/target/release/servo" "-Wl,--whole-archive" "-l" "morestack" "-Wl,--no-whole-archive" "-Wl,--gc-sections" "-pie" "-Wl,-O1" "-nodefaultlibs" "/media/vliu/workgroup/servo/servo/target/release/libservo.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/liblayout-dc449b241f1fd5ff.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libprofile-5b30cea1e4986665.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libclock_ticks-4e910fa1778932df.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libenv_logger-9877a407b506c549.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libscript-6c5679f92a150148.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libcanvas-75503b8b00d94fd8.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libjs-1b3537edd7ef8c3c.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libwebsocket-a5de7834fe8fb871.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libwebdriver_server-773332ed82851371.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libwebdriver-26582494b13cc291.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libhtml5ever-1c899fee28a7ff79.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libmac-9253dcbe1dddc564.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libbyteorder-399c175f6a7726ac.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libglutin_app-5696dc16ceb2c43d.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libcompositing-3178d2aa801b1c77.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libnet-36551dc93438c158.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libflate2-41314c0597876aa0.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libclipboard-e57e1abbe903eb91.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libglutin-da918fe8df5093ef.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/liblayout_traits-2fba9b46cb1d776f.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libregex-af3fdc791da043fa.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libregex_syntax-74cdf8e4e9018a0c.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libgfx-30d64c164ebd4bb5.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libscript_traits-f9b5108109642d62.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libnet_traits-4ad3538e4ae4b2de.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libfontconfig-98a34dc6c01f3190.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libstb_image-1f6702ea4c6749c2.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libprofile_traits-36bbb0599b45a246.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libharfbuzz-8689da4f9d543090.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libminiz_sys-9343607e1ddc701d.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libuuid-e3cfaf8f9acfc716.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libcanvas_traits-154260479d29ed02.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/liboffscreen_gl_context-c41d0deb91f407fa.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libgfx_traits-732276a4165cc6cb.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libdevtools-7ad6d724e23ca1f7.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libdevtools_traits-27533f07f1867eb2.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libmsg-ddde6fed44bd71b1.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libhyper-92eac666467560fa.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libhttparse-b6fd4407af2d76cd.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libcookie-e6818e9cbd9a23bd.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libunicase-1e872b36121cae26.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libstyle-ef96800eca29ccb8.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libutil-8b976d070614da49.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/liburl-a74304d08ea0134d.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/liblayers-847af0c24c0bb6f7.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libgleam-7cae7ac441cfe8c9.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libgl_common-2e67320e8d48721d.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libazure-f792f70de9cc89e8.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libskia-d333fdba915552af.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libeuclid-237aff296570b536.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libnum-7ad397ad0b46ae38.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/librustc_serialize-c1e8163a38ed3d54.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libtime-10c3f659b0cce9f1.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libselectors-738a99aca96b392b.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libfnv-5893ac1ec1276f44.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libquicksort-6ca40ab3529e5e7a.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libstring_cache-4cb1b0fb2e281397.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libphf-a4b37fab7c341bfa.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libdebug_builders-337a04ff86d82ad7.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libstring_cache_shared-caccf3bc5141c0c3.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libfreetype-bc804dedae87cd10.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libtypeable-3d4cacf3175a54fa.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libpng-52685ef353c025b7.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libmime-89b55e354a702f26.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/liblog-8a6aba167994951e.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libnum_cpus-16707c6acca9fe91.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libsmallvec-a0ec234d91e55db4.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/libserialize-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblog-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libcssparser-52f88f21cae7c8e6.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libmatches-68291f81832fc22d.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libencoding-a635ee1112a4a115.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libencoding_index_japanese-02d1e3db3f81af39.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libencoding_index_singlebyte-989206689effef1e.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libencoding_index_tradchinese-1ea03524459844c3.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libencoding_index_korean-e6ea16a131576deb.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libencoding_index_simpchinese-36d98fe1ee6656fc.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libphf_shared-ac2a5563029e2f49.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libbitflags-425420435a0b4460.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libx11-ed6c5bce2a89a9a8.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libtraitobject-e8fd97c9f52dc0fb.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/librand-de6cdb9e4fd93d55.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libopenssl-8dfa7204ef9d90f3.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libbitflags-dd68b8369bcd8ff0.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libopenssl_sys-9c1a0f13b3d0a12d.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/liblazy_static-0b01921545729662.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/libglx-3a94d6d02aa3bea2.rlib" "/media/vliu/workgroup/servo/servo/target/release/deps/liblibc-ef5cbad4ef5c7a1e.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcollections-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_unicode-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/librand-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-d8ace771.rlib" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-d8ace771.rlib" "-L" "/media/vliu/workgroup/servo/servo/target/release" "-L" "/media/vliu/workgroup/servo/servo/target/release/deps" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/azure-f792f70de9cc89e8/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/expat-sys-e22582e7d0e6b2e6/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/fontconfig-sys-1f38cf9d1e1a4d19/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/freetype-sys-6942b42598677f74/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/harfbuzz-8689da4f9d543090/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/js-1b3537edd7ef8c3c/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/miniz-sys-9343607e1ddc701d/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/mozjs_sys-e411d274df144795/out/dist/lib" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/openssl-sys-9c1a0f13b3d0a12d/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/png-52685ef353c025b7/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/png-sys-c0fc68e5ccc34308/out/.libs" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/skia-d333fdba915552af/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/stb_image-1f6702ea4c6749c2/out" "-L" "/media/vliu/workgroup/servo/servo/target/release/build/time-10c3f659b0cce9f1/out" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/media/vliu/workgroup/servo/servo/.servo/rust/6e7fcc44aef7b457f3be3a1971d9f026957678d5/rustc-1.2.0-dev-x86_64-unknown-linux-gnu/rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/media/vliu/workgroup/servo/servo/components/servo/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/media/vliu/workgroup/servo/servo/components/servo/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,-Bdynamic" "-l" "rt" "-l" "pthread" "-l" "stdc++" "-l" "z" "-l" "jsglue" "-l" "c" "-l" "fontconfig" "-l" "c" "-l" "glib-2.0" "-l" "stdc++" "-l" "GL" "-l" "stdc++" "-l" "freetype" "-l" "bz2" "-l" "fontconfig" "-l" "expat" "-l" "X11" "-l" "azure" "-l" "skia" "-l" "rt" "-l" "freetype" "-l" "z" "-l" "Xcursor" "-l" "Xxf86vm" "-l" "X11" "-l" "ssl" "-l" "crypto" "-l" "c" "-l" "m" "-l" "dl" "-l" "pthread" "-l" "rt" "-l" "gcc_s" "-l" "pthread" "-l" "c" "-l" "m" "-l" "compiler-rt"
note: /media/vliu/workgroup/servo/servo/target/release/deps/libclipboard-e57e1abbe903eb91.rlib(clipboard-e57e1abbe903eb91.o): In function `x11_clipboard::ClipboardContext::new::h74a404002a4ba9aaEaa':
clipboard.0.rs:(.text._ZN13x11_clipboard16ClipboardContext3new20h74a404002a4ba9aaEaaE+0xa9): undefined reference to `_XA_CLIPBOARD'
clipboard.0.rs:(.text._ZN13x11_clipboard16ClipboardContext3new20h74a404002a4ba9aaEaaE+0xb4): undefined reference to `XmuInternAtom'
clipboard.0.rs:(.text._ZN13x11_clipboard16ClipboardContext3new20h74a404002a4ba9aaEaaE+0xc7): undefined reference to `_XA_UTF8_STRING'
clipboard.0.rs:(.text._ZN13x11_clipboard16ClipboardContext3new20h74a404002a4ba9aaEaaE+0xd2): undefined reference to `XmuInternAtom'
collect2: error: ld returned 1 exit status

error: aborting due to previous error
Could not compile `servo`.
@kripken

This comment has been minimized.

Show comment
Hide comment
@kripken

kripken Jun 26, 2015

On my machine where I had the same problem, I could fix this by adding /usr/lib/x86_64-linux-gnu/libXmu.so.6 to the final link command.

kripken commented Jun 26, 2015

On my machine where I had the same problem, I could fix this by adding /usr/lib/x86_64-linux-gnu/libXmu.so.6 to the final link command.

@metajack

This comment has been minimized.

Show comment
Hide comment
@metajack

metajack Jun 26, 2015

Contributor

cc @alexcrichton There seems to be some issue with Cargo forgetting this link command I guess? I'm not quite sure what's going wrong.

x11-rs has two features (xmu and xlib), and it appears it's trying to build without the feature and use it expecting the feature?

Contributor

metajack commented Jun 26, 2015

cc @alexcrichton There seems to be some issue with Cargo forgetting this link command I guess? I'm not quite sure what's going wrong.

x11-rs has two features (xmu and xlib), and it appears it's trying to build without the feature and use it expecting the feature?

@kripken

This comment has been minimized.

Show comment
Hide comment
@kripken

kripken Jun 26, 2015

Some more notes:

  1. This does not affect debug builds, just release.
  2. There might be an Ubuntu issue here. The libxmu6 package does not provide the expected .a and .so files, instead it provides libXmu.so.6 and libXmu.so.6.2.0. However, libxmu-dev, aka "X11 miscellaneous utility library (development headers)", provides not only those headers but also... the .a and .so files. However, after installing it, the error does not go away, so the servo build command (for release) seems to still require adding "-l" "Xmu".

kripken commented Jun 26, 2015

Some more notes:

  1. This does not affect debug builds, just release.
  2. There might be an Ubuntu issue here. The libxmu6 package does not provide the expected .a and .so files, instead it provides libXmu.so.6 and libXmu.so.6.2.0. However, libxmu-dev, aka "X11 miscellaneous utility library (development headers)", provides not only those headers but also... the .a and .so files. However, after installing it, the error does not go away, so the servo build command (for release) seems to still require adding "-l" "Xmu".
@metajack

This comment has been minimized.

Show comment
Hide comment
@metajack

metajack Jun 26, 2015

Contributor

Alon: if you blow away your target/release/build/x11-* it will probably build correctly.

I think the issue was that you built before dependencies were installed, which due to a bug in x11-rs's build system meant that it failed to select the xmu feature. If you could comment if that fixes it, that would be great.

Contributor

metajack commented Jun 26, 2015

Alon: if you blow away your target/release/build/x11-* it will probably build correctly.

I think the issue was that you built before dependencies were installed, which due to a bug in x11-rs's build system meant that it failed to select the xmu feature. If you could comment if that fixes it, that would be great.

@alexcrichton

This comment has been minimized.

Show comment
Hide comment
@alexcrichton

alexcrichton Jun 26, 2015

Contributor

After some local debugging looks like this was https://github.com/Daggerbot/x11-rs/issues/20

Contributor

alexcrichton commented Jun 26, 2015

After some local debugging looks like this was https://github.com/Daggerbot/x11-rs/issues/20

@kripken

This comment has been minimized.

Show comment
Hide comment
@kripken

kripken Jun 26, 2015

@metajack: thanks, yes, you are correct, it builds ok after blowing away that temp dir. So perhaps the Ubuntu weirdness with needing the -dev package in order to link (not for headers) is a bug for them, as without that, it would have worked initially.

kripken commented Jun 26, 2015

@metajack: thanks, yes, you are correct, it builds ok after blowing away that temp dir. So perhaps the Ubuntu weirdness with needing the -dev package in order to link (not for headers) is a bug for them, as without that, it would have worked initially.

@msliu

This comment has been minimized.

Show comment
Hide comment
@msliu

msliu Jun 26, 2015

I tried to blow away target/release/build/x11-* and then I can build correctly.

msliu commented Jun 26, 2015

I tried to blow away target/release/build/x11-* and then I can build correctly.

@Daggerbot

This comment has been minimized.

Show comment
Hide comment
@Daggerbot

Daggerbot Jul 2, 2015

I changed the build system for x11-rs when it was breaking servo builds on Android and OS X. It appears that all of the crates (that I'm aware of) that depend on x11-rs have updated Cargo.toml files that specify x11 as a dependency only on targets that actually require it, rather than always compiling it. I can go back to the old build system that panics if a specified library is missing, but I wanted to confirm this first.

I changed the build system for x11-rs when it was breaking servo builds on Android and OS X. It appears that all of the crates (that I'm aware of) that depend on x11-rs have updated Cargo.toml files that specify x11 as a dependency only on targets that actually require it, rather than always compiling it. I can go back to the old build system that panics if a specified library is missing, but I wanted to confirm this first.

@mmatyas

This comment has been minimized.

Show comment
Hide comment
@mmatyas

mmatyas Jul 4, 2015

Contributor

I also have an issue related to this when I cross compile Servo to ARM, for both debug and release builds. Even when the required features are defined in glutin's Cargo.toml, the linker still misses them:

servo_arm_linkererror

Manually adding -lXxf86vm -lXmu -lXcursor fixed the problem for me.

Contributor

mmatyas commented Jul 4, 2015

I also have an issue related to this when I cross compile Servo to ARM, for both debug and release builds. Even when the required features are defined in glutin's Cargo.toml, the linker still misses them:

servo_arm_linkererror

Manually adding -lXxf86vm -lXmu -lXcursor fixed the problem for me.

@Daggerbot

This comment has been minimized.

Show comment
Hide comment
@Daggerbot

Daggerbot Jul 7, 2015

Is the problem that pkg-config is failing to find these libraries even though they are present on the target system? Maybe x11 should try to find the libraries on its own instead of using pkg-config, just like x11-dl.

Is the problem that pkg-config is failing to find these libraries even though they are present on the target system? Maybe x11 should try to find the libraries on its own instead of using pkg-config, just like x11-dl.

@boghison

This comment has been minimized.

Show comment
Hide comment
@boghison

boghison Aug 1, 2015

Contributor

For me, this affects debug builds as well, not only release builds.

Contributor

boghison commented Aug 1, 2015

For me, this affects debug builds as well, not only release builds.

@n-liam

This comment has been minimized.

Show comment
Hide comment
@n-liam

n-liam Feb 5, 2016

Contributor

Same error on mine in debug on Centos7

Contributor

n-liam commented Feb 5, 2016

Same error on mine in debug on Centos7

@jdm

This comment has been minimized.

Show comment
Hide comment
@jdm

jdm Feb 5, 2016

Member

@n-liam Which error in particular?

Member

jdm commented Feb 5, 2016

@n-liam Which error in particular?

@n-liam

This comment has been minimized.

Show comment
Hide comment
@n-liam

n-liam Feb 5, 2016

Contributor

@jdm
error: linking with cc failed: exit code: 1
I'm currently rebuilding fresh in --dev with --verbose

Here is the console output from that build attempt.
servolog.txt

Contributor

n-liam commented Feb 5, 2016

@jdm
error: linking with cc failed: exit code: 1
I'm currently rebuilding fresh in --dev with --verbose

Here is the console output from that build attempt.
servolog.txt

@jdm

This comment has been minimized.

Show comment
Hide comment
@jdm

jdm Feb 5, 2016

Member

note: /bin/ld.gold: error: cannot find -lEGL. You need to install the appropriate package; it should be mesa-libgl-devel if you're on Fedora I think.

Member

jdm commented Feb 5, 2016

note: /bin/ld.gold: error: cannot find -lEGL. You need to install the appropriate package; it should be mesa-libgl-devel if you're on Fedora I think.

@n-liam

This comment has been minimized.

Show comment
Hide comment
@n-liam

n-liam Feb 5, 2016

Contributor

Thanks for pointing that error out to me. I didn't see that it was missing a library somewhere, I should have grepped for errors first. It was solved by installing mesa-libEGL-devel, which oddly isn't in the listed dependencies (although the the library you listed mesa-libGL-devel is). I assume this is just because I am on Centos and not Fedora.

Contributor

n-liam commented Feb 5, 2016

Thanks for pointing that error out to me. I didn't see that it was missing a library somewhere, I should have grepped for errors first. It was solved by installing mesa-libEGL-devel, which oddly isn't in the listed dependencies (although the the library you listed mesa-libGL-devel is). I assume this is just because I am on Centos and not Fedora.

@jdm

This comment has been minimized.

Show comment
Hide comment
@jdm

jdm Feb 5, 2016

Member

No, it's probably necessary on Fedora as well. Would you like to make a pull request to add it to the README?

Member

jdm commented Feb 5, 2016

No, it's probably necessary on Fedora as well. Would you like to make a pull request to add it to the README?

@n-liam

This comment has been minimized.

Show comment
Hide comment
@n-liam

n-liam Feb 5, 2016

Contributor

Added the pull request.

Contributor

n-liam commented Feb 5, 2016

Added the pull request.

bors-servo added a commit that referenced this issue Feb 6, 2016

Auto merge of #9545 - n-liam:issue6483, r=Wafflespeanut
Added dependency for Fedora, mesa-libEGL-devel.

mesa-libEGL-devel was necessary on Centos 7 and likely on Fedora distos as well.

Fixes #6483

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9545)
<!-- Reviewable:end -->

bors-servo added a commit that referenced this issue Feb 6, 2016

Auto merge of #9545 - n-liam:issue6483, r=Wafflespeanut
Added dependency for Fedora, mesa-libEGL-devel.

mesa-libEGL-devel was necessary on Centos 7 and likely on Fedora distos as well.

Fixes #6483

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9545)
<!-- Reviewable:end -->

bors-servo added a commit that referenced this issue Feb 6, 2016

Auto merge of #9545 - n-liam:issue6483, r=Wafflespeanut
Added dependency for Fedora, mesa-libEGL-devel.

mesa-libEGL-devel was necessary on Centos 7 and likely on Fedora distos as well.

Fixes #6483

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9545)
<!-- Reviewable:end -->

@bors-servo bors-servo closed this in #9545 Feb 6, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment