EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: base-3.14.9 on solaris-sparc64 (with matlab)
From: Till Straumann <[email protected]>
To: TECHTALK tech-talk <[email protected]>
Date: Fri, 25 May 2007 12:58:49 -0700
I built base-3.14.9 on solaris 10 / sparc64
(EPICS_HOST_ARCH=solaris-sparc64)
with the goal to use the CA client library
(BTW: a make target to just build the
necessary pieces to get a CA client would
be great) in combination with MATLAB
and experienced the following problem:

MATLAB 2007a (a 64-bit executable)
apparently uses the 'stlport' library
which is incompatible with Cstd that
is used by EPICS.

(more information can be found here

http://developers.sun.com/sunstudio/articles/cmp_stlport_libCstd.html
)

IMO, it would be desirable to make
the choice of C++ std library configurable.

I obtained this by modifying os/CONFIG.Common.solaris-sparc (diff attached)

REMOVE: addition of -lCrun -lc -lCstd from OP_SYS_LDLIBS
(compiler seems to know what run-time libs to use)

ADDED: optionally add -library=stlport4 to OP_SYS_CFLAGS and OP_SYS_LDFLAGS

FWIW
-- Till

PS: I still get quite a few warnings, some of them
'Conversion of 64 bit type to "unsigned" causes truncation'
some of the code seems to be not yet 100% 64b-clean.

strauman@flora02 $ diff -c base-3.14.9.orig/configure/os/CONFIG.Common.solaris-sparc base-3.14.9/configure/os/CONFIG.Common.solaris-sparc
*** base-3.14.9.orig/configure/os/CONFIG.Common.solaris-sparc Mon Dec 4 13:15:10 2006
--- base-3.14.9/configure/os/CONFIG.Common.solaris-sparc Fri May 25 12:54:15 2007
***************
*** 37,47 ****


GNU_TARGET=sparc-sun-solaris2

 OP_SYS_LDLIBS += -lsocket -lnsl
 OP_SYS_LDLIBS_8 += -lCrun -lc -lCstd
 OP_SYS_LDLIBS_9 += -lCrun -lc -lCstd
 OP_SYS_LDLIBS_10 += -lCrun -lc -lCstd
! OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))

 #  Definitions used when COMMANDLINE_LIBRARY is READLINE
 INCLUDES_READLINE = -I$(GNU_DIR)/include
--- 37,56 ----

GNU_TARGET=sparc-sun-solaris2

+ STLPORT_CFLAGS_YES=-library=stlport4
+ STLPORT_CFLAGS_NO=
+
+ # can be overridden from ...SITE
+ USE_STLPORT=NO
+
+ OP_SYS_CFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
+ OP_SYS_LDFLAGS+=$(STLPORT_CFLAGS_$(USE_STLPORT))
+
 OP_SYS_LDLIBS += -lsocket -lnsl
 OP_SYS_LDLIBS_8 += -lCrun -lc -lCstd
 OP_SYS_LDLIBS_9 += -lCrun -lc -lCstd
 OP_SYS_LDLIBS_10 += -lCrun -lc -lCstd
! #OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(SOLARIS_VERSION))

 #  Definitions used when COMMANDLINE_LIBRARY is READLINE
 INCLUDES_READLINE = -I$(GNU_DIR)/include



Navigate by Date:
Prev: job opening at Argonne in Scientific Software Pete Jemian
Next: drvIpac testers wanted Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: job opening at Argonne in Scientific Software Pete Jemian
Next: drvIpac testers wanted Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·