gtk-rs / gtk

DEPRECATED, use https://github.com/gtk-rs/gtk3-rs repository instead!
https://gtk-rs.org/
MIT License
1.25k stars 82 forks source link

Unable to compile rust-gnome\examples on Win: ld cannot find -limm32 #44

Closed andrewd18 closed 9 years ago

andrewd18 commented 9 years ago

OS: Win 7 64-bit in a brand new VM

Installed:

PATH order:

Steps to Reproduce

  1. Clone rust-gnome\examples
  2. cargo build
  3. ld: Cannot find -limm32

Judging by the very long error string, it looks like rust-gnome\gtk is failing because C:\win_builds\x86_64-w64-mingw32\lib32 folder (which has libimm32.a) is not included in the -L search locations.

andrewd18 commented 9 years ago
... "cargo build" plus prereqs snipped thanks to cmd.exe's max buffer ...

   Compiling cairo-sys v0.1.0 (https://github.com/rust-gnome/cairo#93cb13e5)
   Compiling gdk-sys v0.1.0 (https://github.com/rust-gnome/gdk#2b1fc225)
   Compiling glib-sys v0.1.0 (https://github.com/rust-gnome/glib#e8fc0580)
   Compiling pango-sys v0.1.0 (https://github.com/rust-gnome/pango#3ce36f5e)
   Compiling gtk-sys v0.1.0 (https://github.com/rust-gnome/gtk#8d9b0434)
   Compiling glib v0.0.1 (https://github.com/rust-gnome/glib#e8fc0580)
   Compiling cairo v0.0.1 (https://github.com/rust-gnome/cairo#93cb13e5)
   Compiling pango v0.0.1 (https://github.com/rust-gnome/pango#3ce36f5e)
   Compiling gdk v0.0.1 (https://github.com/rust-gnome/gdk#2b1fc225)
   Compiling gtk v0.0.1 (https://github.com/rust-gnome/gtk#8d9b0434)
error: linking with `gcc` failed: exit code: 1
note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin" "-Wl,--nx
compat" "-static-libgcc" "-m64" "-L" "C:\Program Files\Rust nightly 1.1\bin\rust
lib\x86_64-pc-windows-gnu\lib" "-o" "C:\Users\FTA\examples-master\target\debug\b
asic.exe" "C:\Users\FTA\examples-master\target\debug\basic.o" "-Wl,--gc-sections
" "C:\Users\FTA\examples-master\target\debug\deps\libgtk-f40b3aef662e7c36.rlib"
"C:\Users\FTA\examples-master\target\debug\deps\libgtk_sys-be42ec899093b5be.rlib
" "C:\Users\FTA\examples-master\target\debug\deps\libcairo-ab8baa69ad06bbf4.rlib
" "C:\Users\FTA\examples-master\target\debug\deps\libcairo_sys-c2232361c5858b01.
rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk-bb7cb243cab6101d.rl
ib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk_sys-582edb8a5376682b.
rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib-fcaf29643d8f5d21.r
lib" "C:\Users\FTA\examples-master\target\debug\deps\libbitflags-518ea12e21428ed
d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libc_vec-334e20b4911b1d2
c.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango-57d7fdb8e1fba22
d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango_sys-a1425b8e52d
1b1c8.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib_sys-2a96978c
68565f23.rlib" "C:\Users\FTA\examples-master\target\debug\deps\liblibc-9b7976990
ae0dbd4.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-g
nu\lib\libstd-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_
64-pc-windows-gnu\lib\libcollections-4e7c5e5c.rlib" "C:\Program Files\Rust night
ly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\librustc_unicode-4e7c5e5c.rlib" "C:
\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\librand-4e
7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gn
u\lib\liballoc-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86
_64-pc-windows-gnu\lib\liblibc-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1
\bin\rustlib\x86_64-pc-windows-gnu\lib\libcore-4e7c5e5c.rlib" "-L" "C:\Users\FTA
\examples-master\target\debug" "-L" "C:\Users\FTA\examples-master\target\debug\d
eps" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L
" "E:/gtk_3_6_4/lib" "-L" "C:\Users\FTA\examples-master\target\debug\build\gtk-s
ys-be42ec899093b5be\out" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Program Files\Rust nig
htly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib" "-L" "C:\Users\FTA\examples-mast
er\.rust\bin\x86_64-pc-windows-gnu" "-L" "C:\Users\FTA\examples-master\bin\x86_6
4-pc-windows-gnu" "-Wl,--whole-archive" "-Wl,-Bstatic" "-Wl,--no-whole-archive"
"-Wl,-Bdynamic" "-lgtk-3" "-lgdk-3" "-lgdi32" "-limm32" "-lshell32" "-lole32" "-
lpangocairo-1.0" "-lpangoft2-1.0" "-lfreetype" "-lfontconfig" "-lpangowin32-1.0"
 "-lgdi32" "-lpango-1.0" "-lm" "-latk-1.0" "-lcairo-gobject" "-lcairo" "-lgdk_pi
xbuf-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lcairo" "-lgdk-3"
"-lgdi32" "-limm32" "-lshell32" "-lole32" "-lpangocairo-1.0" "-lpangoft2-1.0" "-
lfreetype" "-lfontconfig" "-lpangowin32-1.0" "-lgdi32" "-lpango-1.0" "-lm" "-lgd
k_pixbuf-2.0" "-lcairo-gobject" "-lcairo" "-lgobject-2.0" "-lglib-2.0" "-lintl"
"-lpango-1.0" "-lm" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lgio-2.0" "-lgobject
-2.0" "-lglib-2.0" "-lintl" "-lws2_32" "-luserenv" "-lcompiler-rt"
note: ld: cannot find -limm32
ld: cannot find -limm32

error: aborting due to previous error
error: linking with `gcc` failed: exit code: 1
note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin" "-Wl,--nx
compat" "-static-libgcc" "-m64" "-L" "C:\Program Files\Rust nightly 1.1\bin\rust
lib\x86_64-pc-windows-gnu\lib" "-o" "C:\Users\FTA\examples-master\target\debug\c
airotest.exe" "C:\Users\FTA\examples-master\target\debug\cairotest.o" "-Wl,--gc-
sections" "C:\Users\FTA\examples-master\target\debug\deps\libgtk-f40b3aef662e7c3
6.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo-ab8baa69ad06bbf
4.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk-bb7cb243cab6101d.
rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgtk_sys-be42ec899093b5b
e.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib-fcaf29643d8f5d21
.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo_sys-c2232361c585
8b01.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk_sys-582edb8a53
76682b.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libc_vec-334e20b491
1b1d2c.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libbitflags-518ea12
e21428edd.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango-57d7fdb
8e1fba22d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango_sys-a14
25b8e52d1b1c8.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib_sys-
2a96978c68565f23.rlib" "C:\Users\FTA\examples-master\target\debug\deps\liblibc-9
b7976990ae0dbd4.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-w
indows-gnu\lib\libstd-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rust
lib\x86_64-pc-windows-gnu\lib\libcollections-4e7c5e5c.rlib" "C:\Program Files\Ru
st nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\librustc_unicode-4e7c5e5c.r
lib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\li
brand-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-wi
ndows-gnu\lib\liballoc-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rus
tlib\x86_64-pc-windows-gnu\lib\liblibc-4e7c5e5c.rlib" "C:\Program Files\Rust nig
htly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\libcore-4e7c5e5c.rlib" "-L" "C:\U
sers\FTA\examples-master\target\debug" "-L" "C:\Users\FTA\examples-master\target
\debug\deps" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/
lib" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Users\FTA\examples-master\target\debug\bui
ld\gtk-sys-be42ec899093b5be\out" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Program Files\
Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib" "-L" "C:\Users\FTA\examp
les-master\.rust\bin\x86_64-pc-windows-gnu" "-L" "C:\Users\FTA\examples-master\b
in\x86_64-pc-windows-gnu" "-Wl,--whole-archive" "-Wl,-Bstatic" "-Wl,--no-whole-a
rchive" "-Wl,-Bdynamic" "-lgtk-3" "-lgdk-3" "-lgdi32" "-limm32" "-lshell32" "-lo
le32" "-lpangocairo-1.0" "-lpangoft2-1.0" "-lfreetype" "-lfontconfig" "-lpangowi
n32-1.0" "-lgdi32" "-lpango-1.0" "-lm" "-latk-1.0" "-lcairo-gobject" "-lcairo" "
-lgdk_pixbuf-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lcairo" "-
lgdk-3" "-lgdi32" "-limm32" "-lshell32" "-lole32" "-lpangocairo-1.0" "-lpangoft2
-1.0" "-lfreetype" "-lfontconfig" "-lpangowin32-1.0" "-lgdi32" "-lpango-1.0" "-l
m" "-lgdk_pixbuf-2.0" "-lcairo-gobject" "-lcairo" "-lgobject-2.0" "-lglib-2.0" "
-lintl" "-lpango-1.0" "-lm" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lgio-2.0" "-
lgobject-2.0" "-lglib-2.0" "-lintl" "-lws2_32" "-luserenv" "-lcompiler-rt"
note: ld: cannot find -limm32
ld: cannot find -limm32

error: aborting due to previous error
error: linking with `gcc` failed: exit code: 1
note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin" "-Wl,--nx
compat" "-static-libgcc" "-m64" "-L" "C:\Program Files\Rust nightly 1.1\bin\rust
lib\x86_64-pc-windows-gnu\lib" "-o" "C:\Users\FTA\examples-master\target\debug\g
tktest.exe" "C:\Users\FTA\examples-master\target\debug\gtktest.o" "-Wl,--gc-sect
ions" "C:\Users\FTA\examples-master\target\debug\deps\libgtk-f40b3aef662e7c36.rl
ib" "C:\Users\FTA\examples-master\target\debug\deps\libgtk_sys-be42ec899093b5be.
rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo-ab8baa69ad06bbf4.
rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo_sys-c2232361c5858
b01.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk-bb7cb243cab6101
d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk_sys-582edb8a53766
82b.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib-fcaf29643d8f5d
21.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libbitflags-518ea12e214
28edd.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libc_vec-334e20b4911
b1d2c.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango-57d7fdb8e1f
ba22d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango_sys-a1425b8
e52d1b1c8.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib_sys-2a96
978c68565f23.rlib" "C:\Users\FTA\examples-master\target\debug\deps\liblibc-9b797
6990ae0dbd4.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windo
ws-gnu\lib\libstd-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\
x86_64-pc-windows-gnu\lib\libcollections-4e7c5e5c.rlib" "C:\Program Files\Rust n
ightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\librustc_unicode-4e7c5e5c.rlib"
 "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\libran
d-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-window
s-gnu\lib\liballoc-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib
\x86_64-pc-windows-gnu\lib\liblibc-4e7c5e5c.rlib" "C:\Program Files\Rust nightly
 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\libcore-4e7c5e5c.rlib" "-L" "C:\Users
\FTA\examples-master\target\debug" "-L" "C:\Users\FTA\examples-master\target\deb
ug\deps" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/lib"
 "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Users\FTA\examples-master\target\debug\build\g
tk-sys-be42ec899093b5be\out" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Program Files\Rust
 nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib" "-L" "C:\Users\FTA\examples-
master\.rust\bin\x86_64-pc-windows-gnu" "-L" "C:\Users\FTA\examples-master\bin\x
86_64-pc-windows-gnu" "-Wl,--whole-archive" "-Wl,-Bstatic" "-Wl,--no-whole-archi
ve" "-Wl,-Bdynamic" "-lgtk-3" "-lgdk-3" "-lgdi32" "-limm32" "-lshell32" "-lole32
" "-lpangocairo-1.0" "-lpangoft2-1.0" "-lfreetype" "-lfontconfig" "-lpangowin32-
1.0" "-lgdi32" "-lpango-1.0" "-lm" "-latk-1.0" "-lcairo-gobject" "-lcairo" "-lgd
k_pixbuf-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lcairo" "-lgdk
-3" "-lgdi32" "-limm32" "-lshell32" "-lole32" "-lpangocairo-1.0" "-lpangoft2-1.0
" "-lfreetype" "-lfontconfig" "-lpangowin32-1.0" "-lgdi32" "-lpango-1.0" "-lm" "
-lgdk_pixbuf-2.0" "-lcairo-gobject" "-lcairo" "-lgobject-2.0" "-lglib-2.0" "-lin
tl" "-lpango-1.0" "-lm" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lgio-2.0" "-lgob
ject-2.0" "-lglib-2.0" "-lintl" "-lws2_32" "-luserenv" "-lcompiler-rt"
note: ld: cannot find -limm32
ld: cannot find -limm32

error: aborting due to previous error
error: linking with `gcc` failed: exit code: 1
note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin" "-Wl,--nx
compat" "-static-libgcc" "-m64" "-L" "C:\Program Files\Rust nightly 1.1\bin\rust
lib\x86_64-pc-windows-gnu\lib" "-o" "C:\Users\FTA\examples-master\target\debug\s
ync_widgets.exe" "C:\Users\FTA\examples-master\target\debug\sync_widgets.o" "-Wl
,--gc-sections" "C:\Users\FTA\examples-master\target\debug\deps\libgtk-f40b3aef6
62e7c36.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgtk_sys-be42ec8
99093b5be.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo-ab8baa6
9ad06bbf4.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo_sys-c22
32361c5858b01.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk-bb7cb
243cab6101d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk_sys-582
edb8a5376682b.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib-fcaf
29643d8f5d21.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libbitflags-5
18ea12e21428edd.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libc_vec-3
34e20b4911b1d2c.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango-5
7d7fdb8e1fba22d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango_s
ys-a1425b8e52d1b1c8.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgli
b_sys-2a96978c68565f23.rlib" "C:\Users\FTA\examples-master\target\debug\deps\lib
libc-9b7976990ae0dbd4.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_6
4-pc-windows-gnu\lib\libstd-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bi
n\rustlib\x86_64-pc-windows-gnu\lib\libcollections-4e7c5e5c.rlib" "C:\Program Fi
les\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\librustc_unicode-4e7c
5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\
lib\librand-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64
-pc-windows-gnu\lib\liballoc-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\b
in\rustlib\x86_64-pc-windows-gnu\lib\liblibc-4e7c5e5c.rlib" "C:\Program Files\Ru
st nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\libcore-4e7c5e5c.rlib" "-L"
 "C:\Users\FTA\examples-master\target\debug" "-L" "C:\Users\FTA\examples-master\
target\debug\deps" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_
3_6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Users\FTA\examples-master\target\deb
ug\build\gtk-sys-be42ec899093b5be\out" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Program
Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib" "-L" "C:\Users\FTA
\examples-master\.rust\bin\x86_64-pc-windows-gnu" "-L" "C:\Users\FTA\examples-ma
ster\bin\x86_64-pc-windows-gnu" "-Wl,--whole-archive" "-Wl,-Bstatic" "-Wl,--no-w
hole-archive" "-Wl,-Bdynamic" "-lgtk-3" "-lgdk-3" "-lgdi32" "-limm32" "-lshell32
" "-lole32" "-lpangocairo-1.0" "-lpangoft2-1.0" "-lfreetype" "-lfontconfig" "-lp
angowin32-1.0" "-lgdi32" "-lpango-1.0" "-lm" "-latk-1.0" "-lcairo-gobject" "-lca
iro" "-lgdk_pixbuf-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lcai
ro" "-lgdk-3" "-lgdi32" "-limm32" "-lshell32" "-lole32" "-lpangocairo-1.0" "-lpa
ngoft2-1.0" "-lfreetype" "-lfontconfig" "-lpangowin32-1.0" "-lgdi32" "-lpango-1.
0" "-lm" "-lgdk_pixbuf-2.0" "-lcairo-gobject" "-lcairo" "-lgobject-2.0" "-lglib-
2.0" "-lintl" "-lpango-1.0" "-lm" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lgio-2
.0" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lws2_32" "-luserenv" "-lcompiler-rt"

note: ld: cannot find -limm32
ld: cannot find -limm32

error: aborting due to previous error
error: linking with `gcc` failed: exit code: 1
note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin" "-Wl,--nx
compat" "-static-libgcc" "-m64" "-L" "C:\Program Files\Rust nightly 1.1\bin\rust
lib\x86_64-pc-windows-gnu\lib" "-o" "C:\Users\FTA\examples-master\target\debug\t
ext_viewer.exe" "C:\Users\FTA\examples-master\target\debug\text_viewer.o" "-Wl,-
-gc-sections" "C:\Users\FTA\examples-master\target\debug\deps\libgtk-f40b3aef662
e7c36.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgtk_sys-be42ec899
093b5be.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo-ab8baa69a
d06bbf4.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo_sys-c2232
361c5858b01.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk-bb7cb24
3cab6101d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk_sys-582ed
b8a5376682b.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib-fcaf29
643d8f5d21.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libbitflags-518
ea12e21428edd.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libc_vec-334
e20b4911b1d2c.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango-57d
7fdb8e1fba22d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango_sys
-a1425b8e52d1b1c8.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib_
sys-2a96978c68565f23.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libli
bc-9b7976990ae0dbd4.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-
pc-windows-gnu\lib\libstd-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\
rustlib\x86_64-pc-windows-gnu\lib\libcollections-4e7c5e5c.rlib" "C:\Program File
s\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\librustc_unicode-4e7c5e
5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\li
b\librand-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-p
c-windows-gnu\lib\liballoc-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin
\rustlib\x86_64-pc-windows-gnu\lib\liblibc-4e7c5e5c.rlib" "C:\Program Files\Rust
 nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\libcore-4e7c5e5c.rlib" "-L" "
C:\Users\FTA\examples-master\target\debug" "-L" "C:\Users\FTA\examples-master\ta
rget\debug\deps" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_
6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Users\FTA\examples-master\target\debug
\build\gtk-sys-be42ec899093b5be\out" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Program Fi
les\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib" "-L" "C:\Users\FTA\e
xamples-master\.rust\bin\x86_64-pc-windows-gnu" "-L" "C:\Users\FTA\examples-mast
er\bin\x86_64-pc-windows-gnu" "-Wl,--whole-archive" "-Wl,-Bstatic" "-Wl,--no-who
le-archive" "-Wl,-Bdynamic" "-lgtk-3" "-lgdk-3" "-lgdi32" "-limm32" "-lshell32"
"-lole32" "-lpangocairo-1.0" "-lpangoft2-1.0" "-lfreetype" "-lfontconfig" "-lpan
gowin32-1.0" "-lgdi32" "-lpango-1.0" "-lm" "-latk-1.0" "-lcairo-gobject" "-lcair
o" "-lgdk_pixbuf-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lcairo
" "-lgdk-3" "-lgdi32" "-limm32" "-lshell32" "-lole32" "-lpangocairo-1.0" "-lpang
oft2-1.0" "-lfreetype" "-lfontconfig" "-lpangowin32-1.0" "-lgdi32" "-lpango-1.0"
 "-lm" "-lgdk_pixbuf-2.0" "-lcairo-gobject" "-lcairo" "-lgobject-2.0" "-lglib-2.
0" "-lintl" "-lpango-1.0" "-lm" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lgio-2.0
" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lws2_32" "-luserenv" "-lcompiler-rt"
note: ld: cannot find -limm32
ld: cannot find -limm32

error: aborting due to previous error
   Compiling rgtk-examples v0.0.1 (file:///C:/Users/FTA/examples-master)
Build failed, waiting for other jobs to finish...
error: linking with `gcc` failed: exit code: 1
note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin" "-Wl,--nx
compat" "-static-libgcc" "-m64" "-L" "C:\Program Files\Rust nightly 1.1\bin\rust
lib\x86_64-pc-windows-gnu\lib" "-o" "C:\Users\FTA\examples-master\target\debug\t
reeview.exe" "C:\Users\FTA\examples-master\target\debug\treeview.o" "-Wl,--gc-se
ctions" "C:\Users\FTA\examples-master\target\debug\deps\libgtk-f40b3aef662e7c36.
rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo-ab8baa69ad06bbf4.
rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgtk_sys-be42ec899093b5b
e.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk-bb7cb243cab6101d.
rlib" "C:\Users\FTA\examples-master\target\debug\deps\libgdk_sys-582edb8a5376682
b.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib-fcaf29643d8f5d21
.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libbitflags-518ea12e21428
edd.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libc_vec-334e20b4911b1
d2c.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libcairo_sys-c2232361c
5858b01.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango-57d7fdb8e
1fba22d.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libpango_sys-a1425
b8e52d1b1c8.rlib" "C:\Users\FTA\examples-master\target\debug\deps\libglib_sys-2a
96978c68565f23.rlib" "C:\Users\FTA\examples-master\target\debug\deps\liblibc-9b7
976990ae0dbd4.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-win
dows-gnu\lib\libstd-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustli
b\x86_64-pc-windows-gnu\lib\libcollections-4e7c5e5c.rlib" "C:\Program Files\Rust
 nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\librustc_unicode-4e7c5e5c.rli
b" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\libr
and-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustlib\x86_64-pc-wind
ows-gnu\lib\liballoc-4e7c5e5c.rlib" "C:\Program Files\Rust nightly 1.1\bin\rustl
ib\x86_64-pc-windows-gnu\lib\liblibc-4e7c5e5c.rlib" "C:\Program Files\Rust night
ly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib\libcore-4e7c5e5c.rlib" "-L" "C:\Use
rs\FTA\examples-master\target\debug" "-L" "C:\Users\FTA\examples-master\target\d
ebug\deps" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/lib" "-L" "E:/gtk_3_6_4/li
b" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Users\FTA\examples-master\target\debug\build
\gtk-sys-be42ec899093b5be\out" "-L" "E:/gtk_3_6_4/lib" "-L" "C:\Program Files\Ru
st nightly 1.1\bin\rustlib\x86_64-pc-windows-gnu\lib" "-L" "C:\Users\FTA\example
s-master\.rust\bin\x86_64-pc-windows-gnu" "-L" "C:\Users\FTA\examples-master\bin
\x86_64-pc-windows-gnu" "-Wl,--whole-archive" "-Wl,-Bstatic" "-Wl,--no-whole-arc
hive" "-Wl,-Bdynamic" "-lgtk-3" "-lgdk-3" "-lgdi32" "-limm32" "-lshell32" "-lole
32" "-lpangocairo-1.0" "-lpangoft2-1.0" "-lfreetype" "-lfontconfig" "-lpangowin3
2-1.0" "-lgdi32" "-lpango-1.0" "-lm" "-latk-1.0" "-lcairo-gobject" "-lcairo" "-l
gdk_pixbuf-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lgdk-3" "-lg
di32" "-limm32" "-lshell32" "-lole32" "-lpangocairo-1.0" "-lpangoft2-1.0" "-lfre
etype" "-lfontconfig" "-lpangowin32-1.0" "-lgdi32" "-lpango-1.0" "-lm" "-lgdk_pi
xbuf-2.0" "-lcairo-gobject" "-lcairo" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lc
airo" "-lpango-1.0" "-lm" "-lgobject-2.0" "-lglib-2.0" "-lintl" "-lgio-2.0" "-lg
object-2.0" "-lglib-2.0" "-lintl" "-lws2_32" "-luserenv" "-lcompiler-rt"
note: ld: cannot find -limm32
ld: cannot find -limm32

error: aborting due to previous error
Could not compile `rgtk-examples`.

To learn more, run the command again with --verbose.

C:\Users\FTA\examples-master>
gkoz commented 9 years ago

Looks like you didn't ensure that gcc from mingw instead of the rust distribution is in the part first.

andrewd18 commented 9 years ago

No, the win-builds folder is definitely higher in the path and where gcc shows it's pointing to win-builds GCC.

C:\Users\FTA>echo %PATH%
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\Wind
owsPowerShell\v1.0\;E:\win_builds\bin;E:\gtk_3_6_4\bin;C:\Program Files\Rust nig
htly 1.1\bin

C:\Users\FTA>where gcc
E:\win_builds\bin\gcc.exe
gkoz commented 9 years ago

Has this got anything to do with this library then? If gcc from win-builds can't find the libs it's bundled with, who else can?

gkoz commented 9 years ago

Your gcc path BTW suggests, that you've actually picked the wrong one... Look in C:\win_builds\x86_64-w64-mingw32\bin

andrewd18 commented 9 years ago

Your gcc path BTW suggests, that you've actually picked the wrong one... Look in C:\win_builds\x86_64-w64-mingw32\bin

The win-builds\x86_64-w64-mingw32\bin folder does not contain a gcc executable. GCC and a second copy of ld live in win-builds\bin. Removing and reinstalling the gcc package change the binary in the win-builds\bin location, so I think I've got that much right.

Has this got anything to do with this library?

You're right, this probably isn't a bug in the code for rust-gnome\gtk. I'm probably missing a configuration step (no thanks to win-builds' documentation), and the failure is probably because win-builds is not set up properly.

Can you recommend a build environment for creating rust-gnome/gtk Windows exes? I'd be happy to document whatever solution I get working as a pull request for Readme.md so future users don't hit this same problem.

gkoz commented 9 years ago

If I remember correctly, I downloaded mingw-w64 from the sourceforge link on the mingw-w64 download page.

bombless commented 9 years ago

I believe these are still valid instructions: https://github.com/rust-lang/rust-wiki-backup/blob/master/Using-Rust-on-Windows.md

GuillaumeGomez commented 9 years ago

@bombless: nice link ! I think we should add a more complete description for windows install, but since I don't use rust on windows, I can't test it myself.

gkoz commented 9 years ago

I believe these are still valid instructions: https://github.com/rust-lang/rust-wiki-backup/blob/master/Using-Rust-on-Windows.md

Installing the whole msys instead of just mingw-w64 and still having to do complicated things doesn't seem like an improvement to me.

GuillaumeGomez commented 9 years ago

If it works, it is ! =D

gkoz commented 9 years ago

Err.. the way I did it works too. I expect you can make the win-builds setup work with some symlinks or other hacks.

andrewd18 commented 9 years ago

I've tried with all the mingw standalone builds, setting cargo configs and lib paths, to no avail. Last week in /r/rust, Steve Klabnik linked to https://github.com/rust-lang/rust#building-on-windows which recommends full MSYS.

I'll give that a shot this weekend on a fresh VM image.

gkoz commented 9 years ago

Unfortunately I don't have access to fresh Windows VMs at the moment. @andrewd18 Have you followed these steps when using win-builds?

bombless commented 9 years ago

I see the point now, I'll add a note about using rgtk on Windows for main project and the examples project.

gkoz commented 9 years ago

As you can see here all it takes to build cleanly is to have good mingw and gtk sdk in PATH:

SET PATH=%MINGW%\bin;C:\Deps\gtk\bin;C:\Rust\bin
...
cargo build --features "%FEATURES%"
bombless commented 9 years ago

Yes you are right. I'd be happy to use rgtk without MSYS, cheers.

andrewd18 commented 9 years ago

Setting the path isn't enough, but I have a solution. Fresh Win 7 install, win-builds 1.5 (with dependencies from first post), gtk 3.14 sdk, today's rustc, with the following path:

C:\Users\andrew>echo %PATH%
<snip> ;E:\win_builds\bin;E:\gtk_sdk_win64\bin;E:\rust_nightly_20150511\bin

Even with the set path, Cargo uses its own gcc rather than the win-builds gcc. If I rename or delete the rust_nightly_20150511\bin\rustlib\x86_64-pc-windows-gnu\bin\gcc.exe, suddenly it works!

The best workaround is to override the [target.$triple] linker value in a Cargo config location. In my case, that looks like:

[target.x86_64-pc-windows-gnu]
ar = "E:/win_builds/bin/ar.exe"
linker = "E:/win_builds/bin/gcc.exe"

Works great, no other shenanigans required.

gkoz commented 9 years ago

Okay, I see my mistake now. So removing or not installing in the first place gcc and ld bundled with Rust was actually mandatory. Thanks for clearing that up.