On Sun, Oct 26, 2008 at 06:26:01PM +1030, Samuel Nicholas wrote:
> hay guise
> 
> cause eina has recently been added as a dependancy i was updating my 
> libs and ran into trouble... so i decided to start from scratch again.
> now i have a problem I didn't have before
> 
> when compiling evil:
> ...
> /bin/sh ../../libtool --tag=CC   --mode=link gcc  -g -O2 -no-undefined 
> -Wl,--enable-auto-import -version-info 0:1:0 -L/usr/local/lib -o 
> libevil.la -rpath /usr/local/lib libevil_la-evil_errno.lo 
> libevil_la-evil_fcntl.lo libevil_la-evil_fnmatch.lo 
> libevil_la-evil_fnmatch_list_of_states.lo libevil_la-evil_langinfo.lo 
> libevil_la-evil_mman.lo libevil_la-evil_pwd.lo libevil_la-evil_stdlib.lo 
> libevil_la-evil_stdio.lo libevil_la-evil_string.lo 
> libevil_la-evil_time.lo libevil_la-evil_unistd.lo 
> libevil_la-evil_util.lo -lole32 -luuid -lws2_32 -lsecur32 
> libtool: link: rm -fr  .libs/libevil.a .libs/libevil.la .libs/libevil.lai
> 
> *** Warning: linker path does not have real file for library -luuid.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have
> *** because I did check the linker path looking for a file starting
> *** with libuuid and none of the candidates passed a file format test
> *** using a file magic. Last file checked: /mingw/lib//libuuid.a
> *** The inter-library dependencies that have been dropped here will be
> *** automatically added whenever a program is linked with this library
> *** or is declared to -dlopen it.
> 
> *** Since this library must not contain undefined symbols,
> *** because either the platform does not support them or
> *** it was explicitly requested with -no-undefined,
> *** libtool will only create a static version of it.
> ...
> 
> which then, later on, fails completely when it goes to make the shared lib.
> 
> libuuid.a exists at c:/msys/1.0/mingw/lib/

Do you have the "file" utility installed in mingw? Having this utility
will make libtool fail in this manor, because it will detect libraries
differently, since "file" can tell the difference between a static
library and a dll. The above also happens if you try to cross compile
evil linux->mingw.

IMHO it is not a libtool problem, but the problem is that evil.dll tries
to link to at static library (uuid in this case), which is generally
considered bad.

I currently use the attached patch to get around this problem.

Regards
Lars Munch
Index: src/lib/evil_uuid.c
===================================================================
--- src/lib/evil_uuid.c	(revision 0)
+++ src/lib/evil_uuid.c	(revision 0)
@@ -0,0 +1,12 @@
+/*
+ * This file defines all the windows UUID used in evil. This is here
+ * since uuid.lib is a static only library and libtool does not allow
+ * you to link a DLL against a static library.
+ */
+#ifndef __CEGCC__
+
+#define INITGUID
+#include <basetyps.h>
+DEFINE_OLEGUID(IID_IPersistFile, 0x0000010BL, 0, 0);
+
+#endif
Index: src/lib/Makefile.am
===================================================================
--- src/lib/Makefile.am	(revision 37141)
+++ src/lib/Makefile.am	(working copy)
@@ -36,7 +36,8 @@
 evil_string.c \
 evil_time.c \
 evil_unistd.c \
-evil_util.c
+evil_util.c \
+evil_uuid.c
 
 libevil_la_CPPFLAGS = @win32_cppflags@
 libevil_la_CFLAGS = @win32_cflags@
Index: configure.ac
===================================================================
--- configure.ac	(revision 37141)
+++ configure.ac	(working copy)
@@ -35,7 +35,7 @@
 win32_libs=""
 case "$host_os" in
   mingw | mingw32 | mingw32msvc)
-    win32_libs="-lole32 -luuid -lws2_32 -lsecur32"
+    win32_libs="-lole32 -lws2_32 -lsecur32"
     ;;
   cegcc*)
     win32_libs="-lws2"
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to