Menu

#5 Compile error "o: command not found"

open
lbayuk
None
5
2012-09-03
2011-12-13
No

I tried to compile without the mingw.mak file in the following way on win7, mingw, tcl 8.6, svn trunk:

autoconf
./configure ...
make

config.log is attached
Then I got the error during linking:

gcc -pipe -DPACKAGE_NAME=\"pgtcl\" -DPACKAGE_TARNAME=\"pgtcl\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"pgtcl\ 2.0
.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB
_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DBU
ILD_sample=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_LSEEK64=1 -DUSE_TCL_STUBS=1 -DHAVE_LO_TRUNCATE=1 -DHAVE_PQENCRYPTPASS
WORD=1 -DHAVE_PQESCAPESTRINGCONN=1 -DHAVE_PQESCAPEBYTEACONN=1 -DHAVE_PQDESCRIBEPREPARED=1 -Id:/Programs/Postgres/includ
e -I"/d/tcltk86/debug/include" -g -Wall -Wno-implicit-int -c echo pgtclId.c -o pgtclId.o
rm -f pgtcl2.0.0
o pgtcl2.0.0 pgtcl.o pgtclCmds.o pgtclId.o "/d/tcltk86/debug/lib/libtclstub86g.a" -Ld:/Programs/Postgres/lib -lpq -lneta
pi32 -lkernel32 -luser32 -ladvapi32 -lws2_32
/bin/sh: o: command not found
make: [pgtcl2.0.0] Error 127 (ignored)

thx

Discussion

  • Thomas Perschak

    Thomas Perschak - 2011-12-13
     
  • Thomas Perschak

    Thomas Perschak - 2011-12-13

    SHLIB_LD is empty ... ???

     
  • lbayuk

    lbayuk - 2011-12-13

    From your config.log: Platform: MINGW32_NT-6.1

    Yes, I never tried or expected the autoconfig stuff to work on Windows/MinGW. I'm surprised it got that far. The autoconfig code I use comes from an older version of Tcl Extension Architecture (TEA), and I don't really understand how it works but I believe it has to have separate instructions on building shareable libraries for every platform. As far as I know, "configure" only works on Linux, since I only use it on Linux. I think there is a good chance it would also work on other Unix/BSD-like platforms. You are correct, it looks to me like it has no idea how to make shared libraries on MinGW, and I'm not sure how to tell it.

    I know the Windows build works with MinGW using the separate Makefile "mingw.mak", after changing a few macros for paths. That's how I build it. I only have the minimal MinGW build system (gcc, make) installed, enough for autoconfig.

     
  • Thomas Perschak

    Thomas Perschak - 2011-12-14

    The found crash in tcl at the moment has priority for me ... but If I find time I try to get it working - altough I'am not an expert at this too.

     
  • lbayuk

    lbayuk - 2011-12-15

    Agreed, crash is more important. But just to document this (and not suggesting you or anyone else needs to work on it):

    I know what needs to be done, it just has always been a low priority - since I can already build on Windows without the autoconfig support. The distribution includes the original TEA build system file as tclconfig/tcl.m4 and the modified one as aclocal.m4. The modified one adds the PostgreSQL shared library and its path to the command to build the pgtclng loadable module. This was coded and tested for Linux, and coded but untested for several other platforms. The section for Windows with MinGW is missing from aclocal.m4 so I guess I never copied it over. This is all in the TEA_CONFIG_CFLAGS macro. So to get this working on Windows with MinGW probably involves copying the M4 code for the "windows" case from tclconfig/tcl.m4 into aclocal.m4, modifying it to include the PostgreSQL library, and testing it.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.