g+
g+ Communities
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  <2013 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
<== Date ==> <== Thread ==>

Subject: Re: medm build
From: keith.thorne@ligo.org
To: tech-talk@aps.anl.gov
Date: Thu, 10 Jan 2013 11:50:36 -0600
Dear Kate, Hinko
    I agree with Andrew here.  The solution is to edit the CONFIG_SITE
files.  I have just been through getting EPICS building on 64-bit
Ubuntu12.
I had to make the following changes (see attached small patch files)

Change X11_LIB location in configure/os/CONFIG_SITE.linux-x86_64.linux-x8_64
 (extensions_config_Ubuntu12.patch)

Correct probe1_1_7_0 Makefile to group X* libraries correctly by Motif/X11
 (probe1_1_7_0-Ubuntu12.patch)
 [ old versions of other extensions may need this as well ]

Correct Makefiles for SDDS, SDSSepics 2.11 to handle default SOA behavior
 (got these from SDDS maintainer - may be added to newer releases)
  (SDDS.2.11-Ubuntu12.patch, SDDSepics.2.11-Ubuntu12.patch)

All but the config patch should were for older Linux releases as well

   Keith Thorne
   LIGO CDS Software Engineer

> Kate, Hinko,
>
> On 2013-01-10 Hinko Kocevar wrote:
>>
>> ln -snf /usr/lib/i386-linux-gnu/libXt.a /usr/lib/libXt.a
>
> On 01/10/2013 04:18 AM, Kate Feng wrote:
>>
>> ln -f -s /usr/lib/.../libxt.a libXt.a
>
> It should /never/ be necessary to create soft-links like that, you just
> have
> to edit your extensions/configure/CONFIG_SITE file or if you're sharing a
> build tree between multiple architectures the appropriate
> extensions/configure/os/CONFIG_SITE.<arch>.<arch> files to tell the build
> system where the relevant libraries can be found.  Once you have correctly
> set
> the X11_LIB and/or MOTIF_LIB variables (and the _INC variables if
> necessary)
> for one product (say medm) it is then correct for any other products (say
> StripTool) that you build in the same extensions tree.
>
> This should be the more friendly solution that Hinko was asking for.
>
> - Andrew
> --
> There is no such thing as a free lunch.  When invited for lunch,
> it is best to check if you are there to eat, or to be eaten.
> -- Clive Robinson
>
--- configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64	2006-12-04 16:28:29.000000000 -0600
+++ /ligo/apps/ubuntu12/epics/extensions/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64	2012-10-31 10:27:12.056154637 -0500
@@ -11,3 +11,13 @@
 
 -include $(TOP)/configure/os/CONFIG_SITE.linux-x86.linux-x86
 
+# Ubuntu 12 on 64-bit has X11 at /usr/lib/x86_64-linux-gnu, Motif at /usr/lib
+X11_LIB=/usr/lib/x86_64-linux-gnu
+X11_INC=/usr/include/X11
+MOTIF_LIB=/usr/lib
+MOTIF_INC=/usr/include
+
+# Ubuntu 12 64-bit is at Python 2.6
+PYTHON_DIR=/usr/lib/python2.6
+PYTHON_INCLUDE=/usr/include/python2.6
+
--- probe1_1_7_0/Makefile	2011-04-29 10:11:29.000000000 -0500
+++ probe1_1_7_0/Makefile	2012-10-31 15:14:57.628002751 -0500
@@ -86,7 +86,7 @@
 Com_DIR = $(EPICS_BASE_LIB)
 Xm_DIR = $(MOTIF_LIB)
 Xt_DIR = $(X11_LIB)
-Xp_DIR = $(MOTIF_LIB)
+Xp_DIR = $(X11_LIB)
 Xmu_DIR = $(X11_LIB)
 X11_DIR = $(X11_LIB)
 
=== modified file SDDS/Makefile
--- SDDS/Makefile	2012-10-04 09:39:48.000000000 -0500
+++ SDDS/Makefile	2012-10-31 15:27:12.726336282 -0500
@@ -205,6 +205,8 @@ PNG = $(words $(notdir $(wildcard \
 /usr/lib/libpng.so \
 /usr/lib64/libpng.a \
 /usr/lib64/libpng.so \
+/usr/lib/x86_64-linux-gnu/libpng.a \
+/usr/lib/x86_64-linux-gnu/libpng.so \
 /lib/libpng.a \
 /lib/libpng.so \
 /lib64/libpng.a \
@@ -235,6 +237,8 @@ GD = $(words $(notdir $(wildcard \
 /usr/lib/libgd.so \
 /usr/lib64/libgd.a \
 /usr/lib64/libgd.so \
+/usr/lib/x86_64-linux-gnu/libgd.a \
+/usr/lib/x86_64-linux-gnu/libgd.so \
 /lib/libgd.a \
 /lib/libgd.so \
 /lib64/libgd.a \
@@ -271,6 +275,8 @@ TIFF = $(words $(notdir $(wildcard \
 /usr/lib/libtiff.so \
 /usr/lib64/libtiff.a \
 /usr/lib64/libtiff.so \
+/usr/lib/x86_64-linux-gnu/libtiff.a \
+/usr/lib/x86_64-linux-gnu/libtiff.so \
 /lib/libtiff.a \
 /lib/libtiff.so \
 /lib64/libtiff.a \

=== modified file SDDS/SDDSaps/Makefile.OAG
--- SDDS/SDDSaps/Makefile.OAG	2012-10-04 09:39:27.000000000 -0500
+++ SDDS/SDDSaps/Makefile.OAG	2012-11-01 13:13:34.496126390 -0500
@@ -265,7 +265,7 @@ ifeq ($(XLS), 1)
 sdds2spreadsheet_CFLAGS = -I../../xlslib -DUSE_XLS
 sdds2spreadsheet_LIBS = mdbcommon matlib fftpack rpnlib SDDS1 mdbmth mdblib xls
 ifeq ($(OS_CLASS),Darwin)
-sdds2spreadsheet_LDFLAGS += -liconv 
+sdds2spreadsheet_SYS_LIBS += iconv 
 endif
 xls_DIR = $(INSTALL_LIB)
 endif
@@ -297,7 +297,7 @@ SYSGSL = $(words $(notdir $(wildcard \
 
 ifneq ($(SYSGSL), 0)
 GSLLIB = 
-SYS_GSLLIB = -lgsl -lgslcblas
+SYS_GSLLIB = gsl gslcblas
 else
 
 #No GSL library found. Build without it.
@@ -311,8 +311,8 @@ endif
 
 sddsprocess_LIBS = mdbcommon matlib fftpack rpnlib $(GSLLIB) SDDS1c mdbmth mdblib
 sddsgenericfit_LIBS = mdbcommon matlib fftpack rpnlib $(GSLLIB) SDDS1c mdbmth mdblib
-sddsprocess_LDFLAGS += $(SYS_GSLLIB)
-sddsgenericfit_LDFLAGS += $(SYS_GSLLIB)
+sddsprocess_SYS_LIBS += $(SYS_GSLLIB)
+sddsgenericfit_SYS_LIBS += $(SYS_GSLLIB)
 
 z_DIR = $(INSTALL_LIB)
 mdbmth_DIR = $(INSTALL_LIB)
@@ -361,6 +361,8 @@ TIFFLOCATION = $(wildcard /usr/lib/libti
                           /usr/lib/libtiff.so \
                           /usr/lib64/libtiff.a \
                           /usr/lib64/libtiff.so \
+                          /usr/lib/x86_64-linux-gnu/libtiff.a \
+                          /usr/lib/x86_64-linux-gnu/libtiff.so \
                           /lib/libtiff.a \
                           /lib/libtiff.so \
                           /lib64/libtiff.a \
@@ -385,6 +387,7 @@ ifneq ($(TIFFINC), 0)
 ifeq ($(STATIC_BUILD),YES)
 ifneq ($(words $(notdir $(wildcard /usr/lib/libtiff.a \
                                    /usr/lib64/libtiff.a \
+                                   /usr/lib/x86_64-linux-gnu/libtiff.a \
                                    /lib/libtiff.a \
                                    /lib64/libtiff.a \
                                    /sw/lib/libtiff.a \
@@ -399,6 +402,7 @@ tiff2sdds_LDFLAGS_Default += -ltiff
 endif
 ifneq ($(words $(notdir $(wildcard /usr/lib/libjpeg.a \
                                    /usr/lib64/libjpeg.a \
+                                   /usr/lib/x86_64-linux-gnu/libjpeg.a \
                                    /lib/libjpeg.a \
                                    /lib64/libjpeg.a \
                                    /sw/lib/libjpeg.a \

=== modified file SDDS/SDDSaps/pseudoInverse/Makefile.OAG SDDS/SDDSaps/pseudoInverse/Makefile.OAG
--- SDDS/SDDSaps/pseudoInverse/Makefile.OAG	2012-10-04 09:39:27.000000000 -0500
+++ SDDS/SDDSaps/pseudoInverse/Makefile.OAG	2012-11-01 13:25:56.268472786 -0500
@@ -385,7 +385,7 @@ SYSGSL = $(words $(notdir $(wildcard \
 
 ifneq ($(SYSGSL), 0)
 GSLLIB = 
-SYS_GSLLIB = -lgsl -lgslcblas
+SYS_GSLLIB = gsl gslcblas
 else
 
 #No GSL library found. Build without it.
@@ -396,7 +396,7 @@ endif
 
 
 sddsmatrixop_LIBS = rpnlib $(GSLLIB)
-sddsmatrixop_LDFLAGS += $(SYS_GSLLIB)
+sddsmatrixop_SYS_LIBS += $(SYS_GSLLIB)
 
 z_DIR = $(INSTALL_LIB)
 SDDS1_DIR = $(INSTALL_LIB)
=== modified file SDDS/SDDSaps/sddscontours/Makefile.OAG SDDS/SDDSaps/sddscontours/Makefile.OAG
--- SDDS/SDDSaps/sddscontours/Makefile.OAG	2012-10-04 09:39:24.000000000 -0500
+++ SDDS/SDDSaps/sddscontours/Makefile.OAG	2012-11-01 13:27:47.036168038 -0500
@@ -101,6 +101,8 @@ GD = $(words $(notdir $(wildcard \
 /usr/lib/libgd.so \
 /usr/lib64/libgd.a \
 /usr/lib64/libgd.so \
+/usr/lib/x86_64-linux-gnu/libgd.a \
+/usr/lib/x86_64-linux-gnu/libgd.so \
 /lib/libgd.a \
 /lib/libgd.so \
 /lib64/libgd.a \
@@ -131,6 +133,7 @@ ifneq ($(GDFOUND), 0)
 ifeq ($(STATIC_BUILD),YES)
 ifneq ($(words $(notdir $(wildcard /usr/lib/libgd.a \
                                    /usr/lib64/libgd.a \
+                                   /usr/lib/x86_64-linux-gnu/libgd.a \
                                    /lib/libgd.a \
                                    /lib64/libgd.a \
                                    /sw/lib/libgd.a \
@@ -186,7 +189,7 @@ SYSGSL = $(words $(notdir $(wildcard \
 
 ifneq ($(SYSGSL), 0)
 GSLLIB = 
-SYS_GSLLIB = -lgsl -lgslcblas
+SYS_GSLLIB = gsl gslcblas
 else
 
 #No GSL library found. Build without it.
@@ -238,10 +241,10 @@ endif
 sddscontour_LIBS += mdbplt
 sddscongen_LIBS += mdbplt
 sddshist2d_LIBS += mdbplt
-sddscontour_LDFLAGS += $(SYS_GSLLIB)
-sddscongen_LDFLAGS += $(SYS_GSLLIB)
-sddshist2d_LDFLAGS += $(SYS_GSLLIB)
-sddsimageconvert_LDFLAGS += $(SYS_GSLLIB)
+sddscontour_SYS_LIBS += $(SYS_GSLLIB)
+sddscongen_SYS_LIBS += $(SYS_GSLLIB)
+sddshist2d_SYS_LIBS += $(SYS_GSLLIB)
+sddsimageconvert_SYS_LIBS += $(SYS_GSLLIB)
 
 
 
=== modified file SDDS/SDDSaps/sddsplots/Makefile.OAG
--- SDDS/SDDSaps/sddsplots/Makefile.OAG	2012-10-04 09:39:23.000000000 -0500
+++ SDDS/SDDSaps/sddsplots/Makefile.OAG	2012-10-31 15:32:39.286545603 -0500
@@ -167,6 +167,8 @@ GD = $(words $(notdir $(wildcard \
 /usr/lib/libgd.so \
 /usr/lib64/libgd.a \
 /usr/lib64/libgd.so \
+/usr/lib/x86_64-linux-gnu/libgd.a \
+/usr/lib/x86_64-linux-gnu/libgd.so \
 /lib/libgd.a \
 /lib/libgd.so \
 /lib64/libgd.a \
@@ -219,6 +221,7 @@ ifneq ($(GDFOUND), 0)
 ifeq ($(STATIC_BUILD),YES)
 ifneq ($(words $(notdir $(wildcard /usr/lib/libgd.a \
                                    /usr/lib64/libgd.a \
+				   /usr/lib/x86_64-linux-gnu/libgd.a \
                                    /lib/libgd.a \
                                    /lib64/libgd.a \
                                    /sw/lib/libgd.a \
=== modified file SDDS/SDDSaps/sddsplots/motifDriver/Makefile.OAG
--- SDDS/SDDSaps/sddsplots/motifDriver/Makefile.OAG	2012-10-04 09:39:21.000000000 -0500
+++ SDDS/SDDSaps/sddsplots/motifDriver/Makefile.OAG	2012-11-01 13:20:29.636604705 -0500
@@ -113,6 +113,8 @@ GD = $(words $(notdir $(wildcard \
 /usr/lib/libgd.so \
 /usr/lib64/libgd.a \
 /usr/lib64/libgd.so \
+/usr/lib/x86_64-linux-gnu/libgd.a \
+/usr/lib/x86_64-linux-gnu/libgd.so \
 /lib/libgd.a \
 /lib/libgd.so \
 /lib64/libgd.a \
@@ -143,6 +145,7 @@ ifneq ($(GDFOUND), 0)
 ifeq ($(STATIC_BUILD),YES)
 ifneq ($(words $(notdir $(wildcard /usr/lib/libgd.a \
                                    /usr/lib64/libgd.a \
+				   /usr/lib/x86_64-linux-gnu/libgd.a \
                                    /lib/libgd.a \
                                    /lib64/libgd.a \
                                    /sw/lib/libgd.a \
=== modified file SDDSepics/SDDSepics/Makefile.OAG
--- SDDSepics/SDDSepics/Makefile.OAG	2012-10-04 09:40:11.000000000 -0500
+++ SDDSepics/SDDSepics/Makefile.OAG	2012-11-01 15:30:47.137012024 -0500
@@ -108,7 +108,7 @@ endif
 ifdef USE_RUNCONTROL
    USR_CFLAGS += -DUSE_RUNCONTROL
    USR_CXXFLAGS += -DUSE_RUNCONTROL
-   USR_LIBS += runControl
+   PROD_LIBS := runControl $(PROD_LIBS)
    #runControl_DIR = $(OAG_APPS)/lib/$(T_A)
    sddsalarmlog_CFLAGS += -I../../runcontrol 
    sddscasr_CFLAGS += -I../../runcontrol 
@@ -194,7 +194,7 @@ SYSGSL = $(words $(notdir $(wildcard \
 
 ifneq ($(SYSGSL), 0)
 GSLLIB = 
-SYS_GSLLIB = -lgsl -lgslcblas
+SYS_GSLLIB = gsl gslcblas
 else
 
 #No GSL library found. Build without it.
@@ -204,6 +204,6 @@ endif
 endif
 
 sddsexperiment_LIBS += $(GSLLIB)
-sddsexperiment_LDFLAGS += $(SYS_GSLLIB)
+sddsexperiment_SYS_LIBS += $(SYS_GSLLIB)
 sddsvexperiment_LIBS += $(GSLLIB)
-sddsvexperiment_LDFLAGS += $(SYS_GSLLIB)
+sddsvexperiment_SYS_LIBS += $(SYS_GSLLIB)

Replies:
Re: medm build D Peter Siddons
Re: medm build Hinko Kocevar
References:
medm build D Peter Siddons
Re: medm build Kate Feng
Re: medm build Hinko Kocevar
Re: medm build Andrew Johnson

Navigate by Date:
Prev: Re: acalcOut Tim Mooney
Next: Re: routing Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
Navigate by Thread:
Prev: Re: medm build Andrew Johnson
Next: Re: medm build D Peter Siddons
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
ANJ, 10 Jan 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·