This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Perl Tk in Cygwin (using X)
Hi Gerrit,
Not quite there yet...
I went to '/usr/X11R6/bin'. There is no file 'libX11.dll.a', but there
is a 'libX11.dll', so I did 'ln -s libX11.dll libX11.a'. I closed the
window, opened a new bash session, and tried compiling. I got the same
error (below).
Did I pick the right directory? Did I pick the right file?
Charles
rm -f blib/arch/auto/Tk/Tk.dll
LD_RUN_PATH="" gcc -shared -s -L/usr/local/lib Tk.o chnGlue.o evtGlue.o
objGlue.o tixGlue.o tkGlue.o tkGlue_f.o tkWin32Dll.o -o
blib/arch/auto/Tk/Tk.dll pTk/libpTk.a
/usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/libperl.dll.a
Tk.o(.text+0x1fb0):Tk.c: undefined reference to `_XSynchronize'
Tk.o(.text+0x3314):Tk.c: undefined reference to `_XTranslateCoordinates'
Tk.o(.text+0x373c):Tk.c: undefined reference to `_XTranslateCoordinates'
Tk.o(.text+0x3cf2):Tk.c: undefined reference to `_XSendEvent'
Tk.o(.text+0x3d0f):Tk.c: undefined reference to `_XSync'
Tk.o(.text+0xb9cb):Tk.c: undefined reference to `_XSync'
Tk.o(.text+0xce07):Tk.c: undefined reference to `_XRaiseWindow'
tkGlue.o(.text+0xc0e5):tkGlue.c: undefined reference to `_XSync'
.
.
.
pTk/libpTk.a(tkUnixCursor.o)(.text+0xb99):tkUnixCursor.c: undefined
reference to `_XFreeCursor'
Info: resolving __ctype_ by linking to __imp___ctype_ (auto-import)
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/Tk/Tk.dll] Error 1
Gerrit P. Haase wrote:
Hello,
Errors at very bottom of this email.
[snip]
rm -f blib/arch/auto/Tk/Tk.dll
LD_RUN_PATH="" gcc -shared -s -L/usr/local/lib Tk.o chnGlue.o
evtGlue.o objGlue.o tixGlue.o tkGlue.o tkGlue_f.o tkWin32Dll.o -o
blib/arch/auto/Tk/Tk.dll pTk/libpTk.a
/usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/libperl.dll.a
Tk.o(.text+0x1f3d):Tk.c: undefined reference to `_XSynchronize'
It's obviously not finding (lib|cyg)X11 (it's not even on the link line).
Do you have XFree86-prog package installed? XFree86-bin?
XFree86-lib-compat?
It is this ugly problem: There is a libX11.dll.a whereas MakeMaker looks
for libX11.a and doesn't see the .dll.a.
Workaround is to create symlinks (ln -s libX11.dll.a libX11.a) until I
fixed perl.
Gerrit
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/