Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com To: cygwin AT cygwin DOT com From: CV Subject: FileRunner under cygwin - simple compilation fails. Date: Tue, 18 Jan 2005 13:33:41 +0000 (UTC) Lines: 125 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet AT sea DOT gmane DOT org X-Gmane-NNTP-Posting-Host: main.gmane.org User-Agent: Loom/3.14 (http://gmane.org/) X-Loom-IP: 82.158.81.106 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)) X-IsSubscribed: yes Hello, FileRunner is a nifty little file manager that I have been using for years under Linux and I would like to have it under cygwin as well. But I am stuck with installation on cygwin because I can't get the included, very simple c-program to compile, probably due to my own cluelessness about where the various libraries live etc. (haven't really compiled anything under cygwin yet) The c-program basically defines a few entry points into TclTk. The rest of FileRunner is written in TclTk. Below is detailed info, including the very simple makefile, what changes I made to it and the output from the compilation attempt. My own ideas about what might be wrong: 1. TclTk libraries not found (?) I would have expected to find them at /usr/lib/Tcl8.4 and .../Tk8.4, but only the Tk one is there and it appears to be almost empty. It only has one file: pkgIndex.tcl I tried pointing the makefile at that directory, and also at /usr/lib directly but the results were the same. Couldn't find these libs anywhere else either. 2. I am not sure if it is enough to just change ext.so to ext.dll in the makefile, as I did, or if any other switches or libraries possibly come into play for compiling dll's. 3. Possibly TclTk8.4 is too new (?) The current version of FileRunner was designed for 8.0. (?) I am probably missing something obvious. Any pointers would be appreciated. And also nice to hear if anyone has got FileRunner working under cygwin. (I tried googling around for any experiences with this but turned up nothing.) My cygwin installation is up to date (done recently) and fairly complete, certainly including everyting to do with TclTk and its associated libraries. TIA CV Here is the detailed info: ------------------------------------------------------------------------------- The makefile, based on the one provided for Linux and modified as follows: - Changed the include directories, see below - Also tried with plain /usr/lib as inc-directories, with similar results - Changed ext.so to ext.dll and also symlinked X11 to X11R6 under /usr ------------------------------------------------------------------------------- # Change this if you have this stuff somewhere else. # TCLINC = /usr/lib/tcl8.0 # TKINC = /usr/lib/tk8.0 TCLINC = /usr/lib/tk8.4 TKINC = /usr/lib/tk8.4 X11INC = /usr/X11/include CFLAGS = -Wall -fPIC -O3 -I$(TCLINC) -I$(TKINC) -I$(X11INC) CC = gcc all: ext.dll ext.dll: ext.o gcc -shared -Wl,-soname,ext.dll -o ext.dll ext.o ------------------------------------------------------------------------------- The output from compilation/linking: ------------------------------------------------------------------------------- gcc -Wall -fPIC -O3 -I/usr/lib/tk8.4 -I/usr/lib/tk8.4 -I/usr/X11/include -c -o ext.o ext.c cc1: warning: -fPIC ignored for target (all code is position independent) ext.c: In function `Ext_Init': ext.c:95: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:96: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:97: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:98: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:99: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:100: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:101: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:102: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:103: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:104: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:105: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:106: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:107: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:108: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c:109: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible pointer type ext.c: In function `GetEuid': ext.c:567: warning: int format, uid_t arg (arg 3) gcc -shared -Wl,-soname,ext.so -o ext.so ext.o ext.o(.text+0xcac):ext.c: undefined reference to `_Tcl_CreateCommand' ext.o(.text+0xcd2):ext.c: undefined reference to `_Tcl_CreateCommand' ext.o(.text+0xcf8):ext.c: undefined reference to `_Tcl_CreateCommand' ext.o(.text+0xd1e):ext.c: undefined reference to `_Tcl_CreateCommand' ext.o(.text+0xd44):ext.c: undefined reference to `_Tcl_CreateCommand' ext.o(.text+0xd6a):ext.c: more undefined references to `_Tcl_CreateCommand' follow /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../libcygwin.a(pseudo-reloc.o) (.text+0x52): undefined reference to `___RUNTIME_PSEUDO_RELOC_LIST_END__' /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../libcygwin.a(pseudo-reloc.o) (.text+0x59): undefined reference to `___RUNTIME_PSEUDO_RELOC_LIST__' num_of_bfd=65 num_of_left_bfd=0 whole_size= 2608 whole_reduced_size= 11448 collect2: ld returned 1 exit status make: *** [ext.so] Error 1 -- 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/