Subject: Building a DLL with libtool on cygwin
From: Tom Epperly <[email-masked]>
To: [email-masked]
Date: Mon, 13 Jan 2003 13:46:23 -0800

I work on a package called Babel, and someone else ported it to cygwin a 
while ago. I am in the process of trying to make a new release of Babel. 
When I tried out the new release on cygwin, I a link error I don't know 
what to do about. I tried searching for relevant information using 
google, but I can't find anything. The error message appears below.

If you can offer any advice, I would appreciate whatever you can offer.

Thanks,

Tom

/bin/bash ../libtool --mode=link gcc  -g -O2   -o libsidl.la -rpath 
/tmp/cygwin/
=inst/lib -no-undefined -release 0.8.0 SIDLfortran.lo SIDLfortarray.lo 
SIDL_Java
.lo  SIDL_String.lo SIDL_bool_IOR.lo SIDL_char_IOR.lo SIDL_int_IOR.lo 
SIDL_long_
IOR.lo SIDL_float_IOR.lo SIDL_double_IOR.lo SIDL_fcomplex_IOR.lo 
SIDL_dcomplex_I
OR.lo SIDL_opaque_IOR.lo SIDL_string_IOR.lo SIDL_interface_IOR.lo 
ltdl.lo SIDL_B
aseClass_IOR.lo SIDL_BaseClass_Skel.lo SIDL_BaseClass_Stub.lo 
SIDL_BaseException
_IOR.lo SIDL_BaseException_Skel.lo SIDL_BaseException_Stub.lo 
SIDL_BaseInterface
_IOR.lo SIDL_BaseInterface_Stub.lo SIDL_DLL_IOR.lo SIDL_DLL_Skel.lo 
SIDL_DLL_Stu
b.lo SIDL_Loader_IOR.lo SIDL_Loader_Skel.lo SIDL_Loader_Stub.lo 
SIDL_ClassInfo_I
OR.lo SIDL_ClassInfo_Stub.lo SIDL_ClassInfoI_IOR.lo 
SIDL_ClassInfoI_Stub.lo SIDL
_ClassInfoI_Skel.lo SIDL_BaseClass_Impl.lo SIDL_BaseException_Impl.lo 
SIDL_DLL_I
mpl.lo SIDL_Loader_Impl.lo SIDL_ClassInfoI_Impl.lo
rm -fr .libs/libsidl.la .libs/libsidl.* .libs/libsidl-0.8.0.*
generating symbol list for `libsidl.la'
 dlltool --export-all --exclude-symbols 
DllMain@12,_cygwin_dll_entry@12,_cygwin_
noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 
--output-def .libs/
cygsidl-0-8-0.dll-def  SIDLfortran.lo SIDLfortarray.lo SIDL_Java.lo 
SIDL_String.
lo SIDL_bool_IOR.lo SIDL_char_IOR.lo SIDL_int_IOR.lo SIDL_long_IOR.lo 
SIDL_float
_IOR.lo SIDL_double_IOR.lo SIDL_fcomplex_IOR.lo SIDL_dcomplex_IOR.lo 
SIDL_opaque
_IOR.lo SIDL_string_IOR.lo SIDL_interface_IOR.lo ltdl.lo 
SIDL_BaseClass_IOR.lo S
IDL_BaseClass_Skel.lo SIDL_BaseClass_Stub.lo SIDL_BaseException_IOR.lo 
SIDL_Base
Exception_Skel.lo SIDL_BaseException_Stub.lo SIDL_BaseInterface_IOR.lo 
SIDL_Base
Interface_Stub.lo SIDL_DLL_IOR.lo SIDL_DLL_Skel.lo SIDL_DLL_Stub.lo 
SIDL_Loader_
IOR.lo SIDL_Loader_Skel.lo SIDL_Loader_Stub.lo SIDL_ClassInfo_IOR.lo 
SIDL_ClassI
nfo_Stub.lo SIDL_ClassInfoI_IOR.lo SIDL_ClassInfoI_Stub.lo 
SIDL_ClassInfoI_Skel.
lo SIDL_BaseClass_Impl.lo SIDL_BaseException_Impl.lo SIDL_DLL_Impl.lo 
SIDL_Loade
r_Impl.lo SIDL_ClassInfoI_Impl.lo
 sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < 
.libs/cygsidl-0-8-0.
dll-def > .libs/libsidl.exp
if test "x`sed 1q .libs/libsidl.exp`" = xEXPORTS; then cp 
.libs/libsidl.exp .lib
s/cygsidl-0-8-0.dll-def; else echo EXPORTS > 
.libs/cygsidl-0-8-0.dll-def; _lt_hi
nt=1; cat .libs/libsidl.exp | while read symbol; do set dummy $symbol; 
case $# i
n 2) echo " $2 @ $_lt_hint ; " >> .libs/cygsidl-0-8-0.dll-def;; 4) echo 
" $2 $3
$4 ; " >> .libs/cygsidl-0-8-0.dll-def; _lt_hint=`expr $_lt_hint - 1`;; 
*) echo "
 $2 @ $_lt_hint $3 ; " >> .libs/cygsidl-0-8-0.dll-def;; esac; 
_lt_hint=`expr 1 +
 $_lt_hint`; done; fi
 gcc -Wl,--base-file,.libs/cygsidl-0-8-0.dll-base 
-Wl,-e,__cygwin_dll_entry@12 -
o .libs/cygsidl-0-8-0.dll  SIDLfortran.lo SIDLfortarray.lo SIDL_Java.lo 
SIDL_Str
ing.lo SIDL_bool_IOR.lo SIDL_char_IOR.lo SIDL_int_IOR.lo 
SIDL_long_IOR.lo SIDL_f
loat_IOR.lo SIDL_double_IOR.lo SIDL_fcomplex_IOR.lo SIDL_dcomplex_IOR.lo 
SIDL_op
aque_IOR.lo SIDL_string_IOR.lo SIDL_interface_IOR.lo ltdl.lo 
SIDL_BaseClass_IOR.
lo SIDL_BaseClass_Skel.lo SIDL_BaseClass_Stub.lo 
SIDL_BaseException_IOR.lo SIDL_
BaseException_Skel.lo SIDL_BaseException_Stub.lo 
SIDL_BaseInterface_IOR.lo SIDL_
BaseInterface_Stub.lo SIDL_DLL_IOR.lo SIDL_DLL_Skel.lo SIDL_DLL_Stub.lo 
SIDL_Loa
der_IOR.lo SIDL_Loader_Skel.lo SIDL_Loader_Stub.lo SIDL_ClassInfo_IOR.lo 
SIDL_Cl
assInfo_Stub.lo SIDL_ClassInfoI_IOR.lo SIDL_ClassInfoI_Stub.lo 
SIDL_ClassInfoI_S
kel.lo SIDL_BaseClass_Impl.lo SIDL_BaseException_Impl.lo 
SIDL_DLL_Impl.lo SIDL_L
oader_Impl.lo SIDL_ClassInfoI_Impl.lo
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../libcygwin.a(libcmain.o)(.text+0x7c)
: undefined reference to `_WinMain@16'
collect2: ld returned 1 exit status
make[2]: *** [libsidl.la] Error 1
make[2]: Leaving directory `/tmp/cygwin/runtime/sidl'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/cygwin/runtime'
make: *** [check-recursive] Error 1

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/