Charles S. Wilson writes:
 > Are you sure that you're using the correct -Ddefine's to link
 > dynamically/statically? check /usr/doc/Cygwin/readline-4.1.README.
 > 
 > Also, using a freshly updated box (with the since-deprecated
 > gcc-2.95.2-7), and using the readline-4.1-2-src.tar.gz package, fileman
 > builds cleanly ("CC='gcc -mwin32' ./configure --prefix=/usr
 > --with-ncurses")  Using gcc-2.95.2-6 (current official version) you
 > don't need to specify CC.

Ok, after fiddling around the problem looks a bit different.

If I build fileman.exe with the supplied Makefile, it works as advertised.
But by default the Makefile lets gcc use the headers in the source
directory, not the installed headers. This is not what happens if I
build other apps using the readline library.

So I try building fileman.exe using the system headers. The following
commands do just this (I put a copy of config.h into the examples
directory, so -I. will find this, but no other headers. I leave out
-DREADLINE_LIBRARY as this would force using the source directory headers):

markus@WUTZ ~/prog/cygnus-b20/readline-4.1/examples
$ gcc -DHAVE_CONFIG_H -g -O -I. -c fileman.c -o fileman.so

markus@WUTZ ~/prog/cygnus-b20/readline-4.1/examples
$ gcc -o fileman.exe fileman.so -lreadline -ltermcap
fileman.so(.text+0x399): undefined reference to `rl_readline_name'
fileman.so(.text+0x3a3): undefined reference to
`rl_attempted_completion_functio
n'
collect2: ld returned 1 exit status

So this doesn't work, apparently because gcc can't find the library
headers.

But if I run:
markus@WUTZ ~/prog/cygnus-b20/readline-4.1/examples
$ gcc -DHAVE_CONFIG_H -g -O -I. -I/usr/include -c fileman.c -o fileman.so

markus@WUTZ ~/prog/cygnus-b20/readline-4.1/examples
$ gcc -o fileman.exe fileman.so -lreadline -ltermcap

all is fine again. I may just be waking up from a dream, but I can't
remember that I ever had to explicitly specify -I/usr/include to find
standard headers. Maybe one of those things that everyone knows but
me.

regards,
Markus
-- 
Markus Hoenicka, PhD
UT Houston Medical School
Dept. of Integrative Biology and Pharmacology
6431 Fannin MSB4.114
Houston, TX 77030
(713) 500-6313, -7477
(713) 500-7444 (fax)
[EMAIL PROTECTED]
http://ourworld.compuserve.com/homepages/hoenicka_markus/


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

Reply via email to