Building PDCurses-3.2 under Cygwin

  • Platform:

    CYGWIN_NT-5.1 1.5.24(0.156/4/2) 2007-01-31 10:57 i686 Cygwin

    ./configure --prefix=$HOME/local

    Everything configures ok, and the make (make all) proceeds in
    a promising fashion until:

    gcc -c -O2 -DHAVE_CONFIG_H -DXCURSES  -I.. -I/usr/X11R6/include/X11 -I/usr/X11R6/include -DDYNAMIC -o pdcsetsc.sho ./pdcsetsc.c
    gcc -c -O2 -DHAVE_CONFIG_H -DXCURSES  -I.. -I/usr/X11R6/include/X11 -I/usr/X11R6/include -DDYNAMIC -o pdcutil.sho ./pdcutil.c
    gcc -c -O2 -DHAVE_CONFIG_H -DXCURSES  -I.. -I/usr/X11R6/include/X11 -I/usr/X11R6/include -DDYNAMIC -o pdcx11.sho ./pdcx11.c
    gcc -c -O2 -DHAVE_CONFIG_H -DXCURSES  -I.. -I/usr/X11R6/include/X11 -I/usr/X11R6/include -DDYNAMIC -o x11.sho ./x11.c
    gcc -c -O2 -DHAVE_CONFIG_H -DXCURSES  -I.. -I/usr/X11R6/include/X11 -I/usr/X11R6/include -DDYNAMIC -o sb.sho ./sb.c
    gcc -c -O2 -DHAVE_CONFIG_H -DXCURSES  -I.. -I/usr/X11R6/include/X11 -I/usr/X11R6/include -DDYNAMIC -o ScrollBox.sho ./ScrollBox.c
    dllwrap --def ./cygwin.def --target i386-cygwin32 --dllname XCurses.dll  -o XCurses.dll addch.sho addchstr.sho addstr.sho attr.sho beep.sho bkgd.sho border.sho clear.sho color.sho delch.sho deleteln.sho deprec.sho getch.sho getstr.sho getyx.sho inch.sho inchstr.sho initscr.sho inopts.sho insch.sho insstr.sho instr.sho kernel.sho keyname.sho mouse.sho move.sho outopts.sho overlay.sho pad.sho panel.sho printw.sho refresh.sho scanw.sho scr_dump.sho scroll.sho slk.sho termattr.sho terminfo.sho touch.sho util.sho window.sho debug.sho pdcclip.sho pdcdisp.sho pdcgetsc.sho pdckbd.sho pdcscrn.sho pdcsetsc.sho pdcutil.sho pdcx11.sho x11.sho sb.sho ScrollBox.sho -L/usr/X11R6/lib -lXaw -lXmu -lXt -lX11   -lXpm  -lc
    Info: resolving _XtStrings by linking to __imp__XtStrings (auto-import)
    Info: resolving __XA_UTF8_STRING by linking to __imp___XA_UTF8_STRING (auto-import)
    Info: resolving __XA_TARGETS by linking to __imp___XA_TARGETS (auto-import)
    Info: resolving _XtShellStrings by linking to __imp__XtShellStrings (auto-import)
    Info: resolving _boxWidgetClass by linking to __imp__boxWidgetClass (auto-import)
    Info: resolving _scrollbarWidgetClass by linking to __imp__scrollbarWidgetClass (auto-import)
    Info: resolving _compositeClassRec by linking to __imp__compositeClassRec (auto-import)
    Info: resolving __XtInherit by linking to __imp___XtInherit (auto-import)
    dlltool: Can't open def file: ./cygwin.def
    dllwrap: dlltool exited with status 1
    make[1]: *** [XCurses.dll] Error 1
    make[1]: Leaving directory `/home/wgay/work/jun13/PDCurses-3.2/x11'
    make: *** [all] Error 2

    Apparently is is looking for a ./cygwin.def file, which does not

    I did an exhaustive "find / -name cygwin.def", and there is no
    file like that existing here.

    Thanks, Warren.

    • There's a commented-out line in the X11 Makefile, "#cp $(srcdir)/../win32/pdcurses.def ./cygwin.def". Presumably you'd need to uncomment that manually before building.

      I have to admit, I haven't yet tested the X11 port under Cygwin -- partly due to some old CVS comments that implied that it doesn't work, partly due to Cygwin being such a pain to set up that I didn't install the X stuff, and partly because I tend to look at the Win32 console port as the target of choice for Cygwin (i.e., using win32\gccwin32.mak instead of configure, make).

      If you get it built and working, please let me know. Perhaps that will motivate me to do so here, and to clean it up a bit.

      • I'll check that out tomorrow and see where that leads.

        Thanks, Warren.

    • Ok, doing that copy did allow it to build and install ok. I had to work through some project issues, and all seems fine until the end.

      Unfortunately the show stopper for me is Open-Cobol at the moment. It is not yet able to ./configure for pdcurses (using X11 at least). The compiled application must use the same curses library as the compiler's library, since it will demand load it. This causes my pdcurses compiled code to attempt to use the one that Open-Cobol library has selected (ncurses in this case). So its not the most successful combination ;-)

      So for the moment, I'll leave the option available in my project's ./configure, but won't be revisiting pdcurses, until I get around to doing native builds (which won't be using the gnu autoconf tools obviously).

      Thanks for your help however. Perhaps you could eventually enable an automatic copy of that deps file when it is appropriate for the future.


    • Patched in CVS if you want to test it for me...