OhmNomNom / thyme

A fork of mintty, for the modern world
GNU General Public License v3.0
0 stars 0 forks source link

Build failure due to conflict between UUID.DLL and libuuid #221

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. download & untar mintty-0.8.3-src.tar.bz2
2. in the source directory, launch 'make'

What is the expected output? What do you see instead?
I expect that make can build mintty.exe.
But it fails on the link step : undefined reference to `_IID_IUnknown'

What versions of mintty, Cygwin/MSYS, and Windows are you using?
version 8.3, compilation using cygwin 1.7

Please provide any additional information below.

maybe missing additional library ? (symbols _IID_IUnknown & _IID_IDropTarget 
are unresolved)

output :
$ tar xjf mintty-0.8.3-src.tar.bz2
$ cd mintty-0.8.3/
$ LANG= make
Makefile:112: charset.d: No such file or directory
Makefile:112: child.d: No such file or directory
[...]
Makefile:112: xcwidth.d: No such file or directory
Makefile:112: res.d: No such file or directory
windres --preprocessor 'gcc -E -xc-header -DRC_INVOKED -MMD -MP ' res.rc res.o
gcc xcwidth.c -c -MMD -MP  -include std.h -std=gnu99 -Wall -Wextra -Werror 
-Wundef -march=i586 -mtune=pentium-m -DNDEBUG -fomit-frame-pointer -Os
gcc wintip.c -c -MMD -MP  -include std.h -std=gnu99 -Wall -Wextra -Werror 
-Wundef -march=i586 -mtune=pentium-m -DNDEBUG -fomit-frame-pointer -Os
[...]
gcc child.c -c -MMD -MP  -include std.h -std=gnu99 -Wall -Wextra -Werror 
-Wundef -march=i586 -mtune=pentium-m -DNDEBUG -fomit-frame-pointer -Os
gcc charset.c -c -MMD -MP  -include std.h -std=gnu99 -Wall -Wextra -Werror 
-Wundef -march=i586 -mtune=pentium-m -DNDEBUG -fomit-frame-pointer -Os
gcc -o mintty.exe charset.o child.o config.o ctrls.o minibidi.o std.o term.o 
termclip.o termline.o termmouse.o termout.o winclip.o winctrls.o windialog.o 
wininput.o winmain.o winprint.o wintext.o wintip.o xcwidth.o res.o -mwindows 
-lcomctl32 -limm32 -lwinspool -lole32 -luuid  -s
winclip.o:winclip.c:(.text+0xc16): undefined reference to `_IID_IUnknown'
winclip.o:winclip.c:(.text+0xc2a): undefined reference to `_IID_IDropTarget'
collect2: ld returned 1 exit status
make: *** [mintty.exe] Error 1

Original issue reported on code.google.com by roland.c...@gmail.com on 22 Sep 2010 at 7:48

GoogleCodeExporter commented 9 years ago
Works fine for me, both with gcc-3 and gcc-4. Those two are defined in 
/usr/lib/w32api/libuuid.a apparently, and that's on the link line.

There've been no obviously relevant recent changes, and there's always a fair 
number of source downloads, without any problems having been reported so far. 
So that suggests a local issue.

Are you using an up-to-date Cygwin 1.7? Perhaps try reinstalling w32api? 
Shuffle the library order in the ld_opts line in the makefile? Add -lshell32 
(since grep finds IID_IDropTarget in that library too)?

Original comment by andy.koppe on 22 Sep 2010 at 11:49

GoogleCodeExporter commented 9 years ago
it's a conflict beetween packages w32api and libuuid-devel.
there are 2 different version of libuuid

$ find /lib/ -name \*uuid\*a
/lib/libuuid.a
/lib/libuuid.dll.a
/lib/libuuid.la
/lib/w32api/libuuid.a

there is a thread on cygwin mailinglist about this : 
http://www.mail-archive.com/cygwin@cygwin.com/msg106029.html

temporary workaround : uninstall libuuid-devel !

Original comment by roland.c...@gmail.com on 22 Sep 2010 at 3:19

GoogleCodeExporter commented 9 years ago
Thanks very much for tracking that down. Looks like the problem is not going to 
go away: http://cygwin.com/ml/cygwin/2010-06/msg00601.html. Sigh. So I better 
work around it in the makefile. r1025 on trunk.

Original comment by andy.koppe on 22 Sep 2010 at 7:05

GoogleCodeExporter commented 9 years ago

Original comment by andy.koppe on 3 Oct 2010 at 3:45