[rrd-users] RRDTool 1.0.40 configure problem

Russell Van Tassell russell at loosenut.com
Wed Dec 11 02:26:33 MET 2002




Weird problem with compiling the new RRDTool (1.0.40) on Solaris 7 out
of the box (RRDTool, not Solaris).  I've seen the discussion on the list
already but the "just comment out the exit" doesn't leave me with a very
warm and happy feeling... HeHe

  Solaris 7
  GCC 2.95.3
  Perl 5.005_03

(And these are hand-compiled)

What appears to happen is that the Perl code is returning:

     "gcc -B/usr/ccs/bin/"      (without the quotes, of course)

This, in-turn, blows the you-know-what out of the test condition that
follows (tests it) in the script (because of the space).  Putting quotes
around the test condition fixes part of the problem...

The second piece of the problem would appear to be that the "-x" test
for "gcc -B" would fail where a "-x" for gcc works fine.  To remedy that,
setting up a temp variable for CC and testing against that appears to
work fine.

PATCH (one that works for me, anyhow) is at the end.


-- begin
% sh configure
loading cache ./config.cache
checking host system type... sparc-sun-solaris2.7
checking target system type... sparc-sun-solaris2.7
checking build system type... sparc-sun-solaris2.7
checking for a BSD compatible install... config/install-sh -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... missing
checking for working autoconf... missing
checking for working automake... missing
checking for working autoheader... missing
checking for working makeinfo... missing
checking for perl... /usr/local/bin/perl
checking for shared library extension... so
checking for the C compiler perl wants to use to build its modules...
configure: test: unknown operator -B/usr/ccs/bin/
-- end

...and for completeness, here's what the configure script's failing on...


-- begin
  [...]
+ test -z /usr/local/bin/perl 
PERL=/usr/local/bin/perl
+ test -n /usr/local/bin/perl 
+ echo /usr/local/bin/perl 
/usr/local/bin/perl
+ test x/usr/local/bin/perl = xno 
COMP_PERL=perl_piped perl_shared
+ echo checking for shared library extension... \c 
checking for shared library extension... + echo configure:947: checking for shared library extension 
+ /usr/local/bin/perl -e use Config; if (defined $Config{so} and $Config{so} ne a) {print "$Config{so}\n"} else {print "so\n"}; 
SO_EXT=so
+ echo so 
so
+ echo checking for the C compiler perl wants to use to build its modules... \c 
checking for the C compiler perl wants to use to build its modules... + echo configure:951: checking for the C compiler perl wants to use to build its modules 
+ /usr/local/bin/perl -e use Config; exit 0 if -x $Config{cc}; map {if (-x "$_/$Config{cc}"){exit 0}} split /:/, $ENV{PATH};print $Config{cc} 
PROBLEMCC=gcc -B/usr/ccs/bin/
+ test xgcc -B/usr/ccs/bin/ != x 
configure: test: unknown operator -B/usr/ccs/bin/
-- end


Here's a patch that seems to fix it for me...

-- begin (diff -c configure configure.old)
*** configure   Tue Dec 10 17:23:09 2002
--- configure.old       Fri Oct 11 11:39:32 2002
***************
*** 948,955 ****
        echo "$ac_t""$SO_EXT" 1>&6
          echo $ac_n "checking for the C compiler perl wants to use to build its modules""... $ac_c" 1>&6
  echo "configure:951: checking for the C compiler perl wants to use to build its modules" >&5
!         PROBLEMCC=`$PERL -e 'use Config; ($cc = $Config{cc}) =~ s/\s.*//; exit 0 if -x "$cc"; map {if (-x "$_/$cc"){exit 0}} split /:/, $ENV{PATH};print $Config{cc}'`
!         if test "x$PROBLEMCC" != "x"; then
                  echo "$ac_t""no" 1>&6
                  echo Could not find the Compiler: '"'$PROBLEMCC'"'
                  echo which has been used to build perl. You may have to compile
--- 948,955 ----
        echo "$ac_t""$SO_EXT" 1>&6
          echo $ac_n "checking for the C compiler perl wants to use to build its modules""... $ac_c" 1>&6
  echo "configure:951: checking for the C compiler perl wants to use to build its modules" >&5
!         PROBLEMCC=`$PERL -e 'use Config; exit 0 if -x $Config{cc}; map {if (-x "$_/$Config{cc}"){exit 0}} split /:/, $ENV{PATH};print $Config{cc}'`
!         if test x$PROBLEMCC != x; then
                  echo "$ac_t""no" 1>&6
                  echo Could not find the Compiler: '"'$PROBLEMCC'"'
                  echo which has been used to build perl. You may have to compile
-- end


-- 
Russell M. Van Tassell
russell at loosenut.com

 //GO.SYSIN DD *, DOODAH, DOODAH

--
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/rrd-users
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi



More information about the rrd-users mailing list