howto compile for linux x86_64

Patrice Dumas pertusus at FREE.FR
Mon Apr 23 15:38:01 EDT 2007


On Mon, Apr 23, 2007 at 01:34:09PM -0600, Warren Turkal wrote:
> On Friday 20 April 2007 01:54, Patrice Dumas wrote:
> > udunits-devel
>
> Did you make this package? It seems that the udunits I downloaded from NCAR
> doesn't like gfortran, and I was wondering if your package worked with it.

I am not the maintainer of udunits, but I had a look at the cvs. There are
2 patches in the package, I attach them. The second one is only for the
arches: x86_64 ppc64 sparc64.

During the build -fPIC is added to the CFLAGS, and there is a
export LD_MATH=-lm

Hope it helps...

--
Pat
-------------- next part --------------
--- udunits-1.12.4/src/port/cfortran/cfortran.h.BAD     2005-03-25 22:15:13.000000000 -0600
+++ udunits-1.12.4/src/port/cfortran/cfortran.h 2005-03-25 22:17:24.000000000 -0600
@@ -83,7 +83,7 @@
 #if !(defined(NAGf90Fortran)||defined(f2cFortran)||defined(hpuxFortran)||defined(apolloFortran)||defined(sunFortran)||defined(IBMR2Fortran)||defined(CRAYFortran)||defined(pgiFortran))
 #if !(defined(mipsFortran)||defined(DECFortran)||defined(vmsFortran)||defined(CONVEXFortran)||defined(PowerStationFortran)||defined(AbsoftUNIXFortran)||defined(AbsoftProFortran)||defined(SXFortran))
 /* If no Fortran compiler is given, we choose one for the machines we know.   */
-#if defined(lynx) || defined(VAXUltrix)
+#if defined(lynx) || defined(VAXUltrix) || defined(__linux__)
 #define f2cFortran    /* Lynx:      Only support f2c at the moment.
                          VAXUltrix: f77 behaves like f2c.
                            Support f2c or f77 with gcc, vcc with f2c.
--- udunits-1.12.4/src/udunits/udunits.c.BAD    2005-03-25 22:24:50.000000000 -0600
+++ udunits-1.12.4/src/udunits/udunits.c        2005-03-25 22:33:08.000000000 -0600
@@ -4,12 +4,15 @@
  * Test program for the Unidata udunits(3) library.
  */

+#define _POSIX_SOURCE 1
+
 #include <limits.h>    /* for _POSIX_MAX_INPUT */
 #include <stddef.h>    /* for size_t */
 #include <stdio.h>     /* for I/O functions, and NULL */
 #include <string.h>    /* for strlen() & memmove() */
 #include <errno.h>     /* for errno */
 #include <ctype.h>     /* for isspace() */
+#include <stdlib.h>    /* for exit */
 #include "udunits.h"

 #ifdef YYDEBUG
--- udunits-1.12.4/src/Makefile.in.BAD  2005-03-25 23:03:01.000000000 -0600
+++ udunits-1.12.4/src/Makefile.in      2005-03-25 23:03:14.000000000 -0600
@@ -68,7 +68,7 @@
 @PERL_DISTCLEAN@ dummy:        perl/Makefile

 perl/Makefile:         perl/Makefile.PL
-       -cd perl && $(PERL) Makefile.PL
+       -cd perl && $(PERL) Makefile.PL PREFIX=$(RPM_BUILD_ROOT)/usr INSTALLDIRS=vendor

 install:       whatis

--- udunits-1.12.4/src/lib/Makefile.in.BAD      2005-03-25 23:28:38.000000000 -0600
+++ udunits-1.12.4/src/lib/Makefile.in  2005-03-25 23:28:56.000000000 -0600
@@ -7,7 +7,7 @@
 LIBRARY                = udunits

 FLEX           = /usr/local/gnu/bin/flex
-cpp_path       = -DUT_DEFAULT_PATH='"$(prefix)/etc/udunits.dat"'
+cpp_path       = -DUT_DEFAULT_PATH='"/etc/udunits.dat"'
 CPPFLAGS       = -I../port/misc -I../port/cfortran $(cpp_path) @CPPFLAGS@
 CFLAGS         = @CFLAGS@

--- udunits-1.12.4/src/port/master.mk.in.BAD    2005-03-25 23:37:16.000000000 -0600
+++ udunits-1.12.4/src/port/master.mk.in        2005-03-25 23:37:25.000000000 -0600
@@ -351,7 +351,7 @@
 ############################################################################
 # `etc/' files:
 ############################################################################
-ETCDIR = $(prefix)/etc
+ETCDIR = $(RPM_BUILD_ROOT)/etc
 ETCFILE        = dummy-etcfile         # to silence GNU make(1)

 installed_etcfiles:
--- udunits-1.12.4/src/lib/Makefile.in.BAD      2005-04-11 11:45:36.000000000 -0500
+++ udunits-1.12.4/src/lib/Makefile.in  2005-04-11 11:46:17.000000000 -0500
@@ -6,7 +6,7 @@

 LIBRARY                = udunits

-FLEX           = /usr/local/gnu/bin/flex
+FLEX           = /usr/bin/flex
 cpp_path       = -DUT_DEFAULT_PATH='"/etc/udunits.dat"'
 CPPFLAGS       = -I../port/misc -I../port/cfortran $(cpp_path) @CPPFLAGS@
 CFLAGS         = @CFLAGS@
--- udunits-1.12.4/src/port/master.mk.in.BAD    2005-04-11 11:44:37.000000000 -0500
+++ udunits-1.12.4/src/port/master.mk.in        2005-04-11 11:44:55.000000000 -0500
@@ -382,7 +382,7 @@
 ############################################################################
 # Manual Pages:
 ############################################################################
-MANDIR         = $(prefix)/man
+MANDIR         = $(prefix)/share/man
 MANUAL         = dummy-manual  # to slience GNU make
 WHATIS         = @WHATIS@
 # The following macro should be empty on systems that don't
-------------- next part --------------
--- udunits-1.12.4/src/port/master.mk.in.BAD    2005-04-16 17:44:46.000000000 -0500
+++ udunits-1.12.4/src/port/master.mk.in        2005-04-16 17:47:04.000000000 -0500
@@ -144,7 +144,7 @@
 # Libraries:
 ############################################################################
 RANLIB         = @RANLIB@
-LIBDIR         = $(exec_prefix)/lib
+LIBDIR         = $(exec_prefix)/lib64
 LIB_A          = lib$(LIBRARY).a
 LIBFILE                = dummy-libfile         # to silence GNU make(1)



More information about the gradsusr mailing list