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

Re: 19990125: perl extension module won't compile



Dear Masakazu Taguchi,

> To: address@hidden
> cc: address@hidden
> From: Masakazu Taguchi <address@hidden>
> Subject: Help for installing udunits
> Organization: Kyoto University
> Keywords: 199901250940.CAA05060

In the above message, you wrote:

> I am Masakazu Taguchi, a graduate student in Kyoto, Japan.
> I tried to install your udunits-libraly with your manual INSTALL, 
> but in vain.
> 
> So, would you give me a help for for installing udunits, please ?
> 
> According to the file, I send some informations you ask.
...
> What I tried :
> % cd /u03d17/taguchi/lib/udunits/udunits-1.11.7/src/
> % setenv CC /opt/SUNWspro/bin/cc
> % ./configure | & tee configure.log
> % make | & tee make.log  
>           ERRORS OCCUR !
...
> F.
> The file make.log is :
> 
...
> making `dynamic' in directory 
> /u03d17/taguchi/lib/udunits/udunits-1.11.7/src/perl
> 
> /usr/local/bin/perl -I/usr/local/lib/perl5/sun4-solaris/5.00404 
> -I/usr/local/lib/perl5 /usr/local/lib/perl5/ExtUtils/xsubpp  -typemap 
> /usr/local/lib/perl5/ExtUtils/typemap -typemap typemap UDUNITS.xs >UDUNITS.tc 
> && mv UDUNITS.tc UDUNITS.c
> Please specify prototyping behavior for UDUNITS.xs (see perlxs manual)
> /opt/SUNWspro/bin/cc -c -I../lib -I../port/misc -I/usr/local/include -O     
> -DVERSION=\"1.11.7\"  -DXS_VERSION=\"1.11.7\"  
> -I/usr/local/lib/perl5/sun4-solaris/5.00404/CORE  UDUNITS.c
> "/usr/local/lib/perl5/sun4-solaris/5.00404/CORE/perlio.h", line 137: formal 
> parameter lacks name: param #1
> "/usr/local/lib/perl5/sun4-solaris/5.00404/CORE/perlio.h", line 137: formal 
> parameter lacks name: param #2
> "/usr/local/lib/perl5/sun4-solaris/5.00404/CORE/perlio.h", line 137: formal 
> parameter lacks name: param #3
> "/usr/local/lib/perl5/sun4-solaris/5.00404/CORE/perlio.h", line 137: syntax 
> error before or at: __attribute__
> "/usr/local/lib/perl5/sun4-solaris/5.00404/CORE/perlio.h", line 137: warning: 
> syntax error:  empty declaration
> "/usr/include/ctype.h", line 43: cannot recover from previous errors
> cc: acomp failed for UDUNITS.c
> *** Error code 2
> make: Fatal error: Command failed for target `UDUNITS.o'
> Current working directory /u03d17/taguchi/lib/udunits/udunits-1.11.7/src/perl
> *** Error code 1
> make: Fatal error: Command failed for target `perl/dynamic'

The above indicates that the C compiler "/opt/SUNWspro/bin/cc" can't
compile the Perl header-file "perlio.h".  This is probably because your
perl installation was compiled by another C compiler (e.g.
"/usr/ucb/cc").  In general, you must use the same compiler on the
UDUNITS package as was used on the Perl package if you want the
NetCDFPerl extension module.

You have 3 choices:

    1.  Skip building and installing the NetCDFPerl extension module.

or

    2.  Compile the UDUNITS package with the same compiler that was used
        to compile the perl package.

or

    3.  Rebuild and reinstall the Perl package using the C compiler
        "/opt/SUNWspro/bin/cc".

Your choice depends on whether or not you want the NetCDFPerl extension
module.

If you don't want the NetCDFPerl extension module, then do the
following:

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

    2.  Execute the command "make distclean".

    3.  Set your environment variables as before.

    4.  Set the environment variable PERL to the empty string, e.g.

            setenv PERL ''

        or

            export PERL=''

    5.  Execute the configure script.  Redirect standard output and
        standard error to the file "configure.log".  If an error message
        occurs in the output, then stop and send me the file
        "configure.log".

    6.  Execute the command "make".  Redirect standard output and
        standard error to the file "make.log".  If an error occurs, then
        stop and send me the files "make.log" and "configure.log".

    7.  Execute the command "make test".  Redirect standard output and
        standard error to the file "test.log".  If an error occurs, then
        stop and send me the files "test.log" and "make.log".

    8.  Execute the command "make install".  Redirect standard output and
        standard error to the file "install.log".  If an error occurs, then
        stop and send me the files "install.log" and "make.log".

    9.  If you intend to build the package from the same sources on
        another identical system, then execute the command "make clean";
        otherwise, execute the command "make distclean".

If you do want the NetCDFPerl extension module and don't want to
rebuild and reinstall the Perl package, then do the following:

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

    2.  Execute the command "make distclean".

    3.  Set your environment variables as before.

    4.  Set the environment variable CC to the compiler that was used to
        build the Perl package.  You can discover what C compiler this
        was by executing the command "perl -V".

    5.  Execute the configure script.  Redirect standard output and
        standard error to the file "configure.log".  If an error message
        occurs in the output, then stop and send me the file
        "configure.log".

    6.  Execute the command "make".  Redirect standard output and
        standard error to the file "make.log".  If an error occurs, then
        stop and send me the files "make.log" and "configure.log".

    7.  Execute the command "make test".  Redirect standard output and
        standard error to the file "test.log".  If an error occurs, then
        stop and send me the files "test.log" and "make.log".

    8.  Execute the command "make install".  Redirect standard output and
        standard error to the file "install.log".  If an error occurs, then
        stop and send me the files "install.log" and "make.log".

    9.  If you intend to build the package from the same sources on
        another identical system, then execute the command "make clean";
        otherwise, execute the command "make distclean".

If you do want to rebuild and reinstall the Perl package using the C
compiler "/opt/SUNWspro/bin/cc", then do the following:

    1.  Rebuild and reinstall the Perl package using the C compiler 
        "/opt/SUNWspro/bin/cc".  See it's instructions for how to do
        this.

    2.  Go to the top-level UDUNITS source directory.

    3.  Execute the command "make clean".

    4.  Execute the command "make".  Redirect standard output and
        standard error to the file "make.log".  If an error occurs, then
        stop and send me the files "make.log" and "configure.log".

    5.  Execute the command "make test".  Redirect standard output and
        standard error to the file "test.log".  If an error occurs, then
        stop and send me the files "test.log" and "make.log".

    6.  Execute the command "make install".  Redirect standard output and
        standard error to the file "install.log".  If an error occurs, then
        stop and send me the files "install.log" and "make.log".

    7.  If you intend to build the package from the same sources on
        another identical system, then execute the command "make clean";
        otherwise, execute the command "make distclean".

Please let me know if this helps.

--------
Steve Emmerson   <http://www.unidata.ucar.edu>