[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[UDUNITS #KKZ-398054]: Compiling udunits on Intel MacBook


> This worked up to a point. When it tries to make the perl module
> (which is actually what I need; I can get the fortran library from
> fink but not the perl module), I get this:
> making `dynamic' in directory /Users/mattnewman/udunits-1.12.4/src/perl
> /sw/bin/perl /sw/lib/perl5-core/5.8.8/ExtUtils/xsubpp  -typemap /sw/
> lib/perl5-core/5.8.8/ExtUtils/typemap
> -typemap typemap  UDUNITS.xs > UDUNITS.xsc && mv UDUNITS.xsc UDUNITS.c
> Please specify prototyping behavior for UDUNITS.xs (see perlxs manual)
> c89 -c  -I../lib -I../port/misc -I/sw/include -fno-common -
> DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasi
> ng -pipe -Wdeclaration-after-statement -I/usr/local/include -I/opt/
> local/include -O3   -DVERSION=\"1.12.4\
> " -DXS_VERSION=\"1.12.4\"  "-I/sw/lib/perl5-core/5.8.8/darwin-thread-
> multi-2level/CORE"  -Df2cFortran UDUN
> ITS.c
> c89: illegal option -- f
> usage: c89 [-cEgs] [-D name[=value]] [-I directory] ... [-L
> directory] ...
> [-o outfile] [-O optlevel] [-U name]... operand ...
> make[1]: *** [UDUNITS.o] Error 1
> make: *** [perl/dynamic] Error 1

Making Perl extension modules is tricky because the perl-based
build procedure insists on using the same compiler options 
that was used to build the perl interpreter.  This can cause
problems if the same compiler isn't used.

Discover what compiler was used to build your "perl" utility
with the command "perl -V".  Then

    1.  Go to the top-level of the source-directory.

    2.  Execute the command "make distclean".

    3.  Set any environment variables as before.

    4.  Set the environment variable CC to the pathname of
        the compiler that was used to build the "perl"

    5.  Execute the "configure" script.

    6.  Execute the command "make".

    7.  Execute the command "make install".

Let me know how it goes.

Steve Emmerson

Ticket Details
Ticket ID: KKZ-398054
Department: Support UDUNITS
Priority: Normal
Status: On Hold