EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Problem building EPICS 3.14.12.3 on Cygwin
From: Mark Rivers <[email protected]>
To: "'Janet Anderson'" <[email protected]>, "'Andrew Johnson'" <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Wed, 27 Feb 2013 19:41:36 +0000
Hi Janet,

I am having problems building EPICS 3.14.12.3 on Cygwin.  

I can build 3.14.12.2 with no problems.  

All of my cygwin site-specific files in configure/os/CONFIG_SITE.*cygwin* are the same in the two versions of base.  

I am running the latest production version of Cygwin (updated today).

This is the error when building 3.14.12.3:
***************************************
g++ -o caRepeater.exe -static -L/cygdrive/h/epics/base-3.14.12.3/lib/cygwin-x86         -m32                 caRepeater.o    -lca -lCom
-lpthread   -lreadline -lm
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o): In function `cr':
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2465: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o): In function `_rl_move_cursor_relative':
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:1981: undefined reference to `_tputs'
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2010: undefined reference to `_tputs'
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2014: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o): In function `_rl_move_vert':
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2053: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o):/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2061: more undefine
d references to `_tputs' follow
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o): In function `insert_some_chars':
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2369: undefined reference to `_tgoto'
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2370: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o): In function `delete_chars':
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2419: undefined reference to `_tputs'
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2412: undefined reference to `_tgoto'
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2413: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o): In function `insert_some_chars':
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2395: undefined reference to `_tputs'
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2386: undefined reference to `_tputs'
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2379: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o): In function `rl_redisplay':
/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:1083: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(display.o):/usr/src/readline-6.1.2-3/src/readline-6.1/display.c:2345: more undefine
d references to `_tputs' follow
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `_rl_get_screen_size':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:285: undefined reference to `_tgetnum'
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:269: undefined reference to `_tgetnum'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `_rl_init_terminal_io':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:452: undefined reference to `_tgetent'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `get_term_capabilities':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:415: undefined reference to `_tgetstr'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `_rl_init_terminal_io':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:516: undefined reference to `_tgetflag'
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:531: undefined reference to `_tgetflag'
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:516: undefined reference to `_tgetflag'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `_rl_backspace':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:633: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `rl_ding':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:666: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `_rl_enable_meta_key':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:691: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `_rl_control_keypad':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:703: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o): In function `_rl_set_cursor':
/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:728: undefined reference to `_tputs'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libreadline.a(terminal.o):/usr/src/readline-6.1.2-3/src/readline-6.1/terminal.c:726: more undefin
ed references to `_tputs' follow
collect2: ld returned 1 exit status
../../../configure/RULES_BUILD:183: recipe for target `caRepeater.exe' failed
make[3]: *** [caRepeater.exe] Error 1
make[3]: Leaving directory `/cygdrive/h/epics/base-3.14.12.3/src/ca/O.cygwin-x86'
***************************************


The problem appears to be that CONFIG.Common.cygwin-x86 has changed:

**************************************
corvette:base-3.14.12.3/configure/os>diff -U2 ../../../base-3.14.12.2/configure/os/CONFIG.Common.cygwin-x86 .
--- ../../../base-3.14.12.2/configure/os/CONFIG.Common.cygwin-x86       2011-12-12 14:14:45.000000000 -0600
+++ ./CONFIG.Common.cygwin-x86  2012-12-17 14:30:17.000000000 -0600
@@ -1,5 +1,5 @@
 # CONFIG.Common.cygwin-x86
 #
-# Revision-Id: [email protected]
+# Revision-Id: [email protected]
 # This file is maintained by the build community.
 #
@@ -15,5 +15,5 @@
 
 #  Definitions used when COMMANDLINE_LIBRARY is READLINE
-LDLIBS_READLINE = -lreadline -lcurses
+LDLIBS_READLINE = -lreadline
 
 POSIX_CPPFLAGS = -D_POSIX_THREADS -D_POSIX_TIMERS
@@ -49,9 +49,10 @@
 #      in this library (may be for e.g. base/src/libCompat
 #      on some archs), don't define (and build) any library!
-SHRLIB_PREFIX=
-SHRLIB_SUFFIX=.dll
+SHRLIB_PREFIX =
+SHRLIB_SUFFIX_BASE = .dll
+SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE)
 SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX))
-LOADABLE_SHRLIB_PREFIX=
-LOADABLE_SHRLIB_SUFFIX=.dll
+LOADABLE_SHRLIB_PREFIX =
+LOADABLE_SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE)
 LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(LOADABLE_SHRLIB_SUFFIX))
**************************************

Note that in 3.14.12.3 LDLIBS_READLINE is missing "-lcurses".  If I manually add -lcurses back into that file the build succeeds.

My Cygwin libreadline installation is "libreadline7 6.1.2-3", which I believe is the most recent.

Is there a reason that -lcurses was removed from CONFIG.Common.cycwin-x86?

Thanks,
Mark




Replies:
Re: Problem building EPICS 3.14.12.3 on Cygwin Andrew Johnson

Navigate by Date:
Prev: Re: caClient with PCAS Andrew Johnson
Next: Re: caClient with PCAS pthomas
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: CPU usage of IOC too high occupied by tNet and CAS-event task 王林
Next: Re: Problem building EPICS 3.14.12.3 on Cygwin Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·