Experimental Physics and
| |||||||||||||||
|
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
| ||||||||||||||
ANJ, 10 Nov 2011 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |