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: Re: medm build
From: [email protected]
To: [email protected]
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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
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  <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 ·