octave-maintainers
[Top][All Lists]
Advanced

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

Compile problem of v2.0.9 on Linux


From: Carlyn Iuzzolino
Subject: Compile problem of v2.0.9 on Linux
Date: Thu, 29 Jan 1998 11:22:04 -0700

Dear Octave people,

I downloaded the source for Octave and tried to compile it. I am running
a clean, ie straight out of the box, no upgrades, RedHat Linux 4.1.

Down below I have included the Makeconf and octave-bug files.

My kernel is 2.0.27

rpm -qf `which gcc`
gcc-2.7.2.1-2

rpm -qf `which g++`
gcc-c++-2.7.2.1-2

ll /usr/lib/libg++*
-rw-r--r--   1 root     root      1257456 Aug 12  1996 /usr/lib/libg++.a
lrwxrwxrwx   1 root     root           25 Apr  1  1997 /usr/lib/libg++.so -> 
/usr/lib/libg++.so.27.1.4
lrwxrwxrwx   1 root     root           16 Apr  1  1997 /usr/lib/libg++.so.27 -> 
libg++.so.27.1.4
-r-xr-xr-x   1 root     root       953531 Aug 12  1996 /usr/lib/libg++.so.27.1.4

ll /usr/lib/libc*
-rw-r--r--   1 root     root      1197954 Dec  5  1996 /usr/lib/libc.a
lrwxrwxrwx   1 root     root           24 Apr  1  1997 /usr/lib/libc.so -> 
../../lib/libc.so.5.3.12

ll /usr/lib/libstdc*
-rw-r--r--   1 root     root      1147656 Aug 12  1996 /usr/lib/libstdc++.a
lrwxrwxrwx   1 root     root           28 Apr  1  1997 /usr/lib/libstdc++.so -> 
/usr/lib/libstdc++.so.27.1.4
lrwxrwxrwx   1 root     root           19 Apr  1  1997 /usr/lib/libstdc++.so.27 
-> libstdc++.so.27.1.4
-r-xr-xr-x   1 root     root       841780 Aug 12  1996 
/usr/lib/libstdc++.so.27.1.4


The configure appears to have worked completely. 

The compile went ok until I got to liboctave. Then it complained that
it couldn't find lots of include files. I tracked that down to the files
in /usr/include/g++. 

So I added -I/usr/include/g++ in the Makeconf file. 

Next attempt at the compilation worked better but then I got this complaint.

cd liboctave ; make all
make[2]: Entering directory `/usr4/linux/octave-2.0.9/liboctave'
c++ -c  -I. -I.. -I../liboctave -I../src -I../glob -I../libcruft/misc  
-I/usr/include/g++ -DHAVE_CONFIG_H  -fno-implicit-templates  -g -O2 -Wall 
Bounds.cc
c++ -c  -I. -I.. -I../liboctave -I../src -I../glob -I../libcruft/misc  
-I/usr/include/g++ -DHAVE_CONFIG_H  -fno-implicit-templates  -g -O2 -Wall 
CollocWt.cc
In file included from /usr/include/g++/std/bastring.h:35,
                 from /usr/include/g++/std/string.h:6,
                 from /usr/include/g++/string:5,
                 from mach-info.h:26,
                 from data-conv.h:28,
                 from dMatrix.h:35,
                 from CollocWt.h:32,
                 from CollocWt.cc:33:
/usr/include/g++/std/stddef.h:15: parse error before `::'
make[2]: *** [CollocWt.o] Error 1
make[2]: Leaving directory `/usr4/linux/octave-2.0.9/liboctave'
make[1]: *** [liboctave] Error 2
make[1]: Leaving directory `/usr4/linux/octave-2.0.9'



Here is the contents of /usr/include/g++/std/stddef.h
// The -*- C++ -*- standard definitions header.
// This file is part of the GNU ANSI C++ Library.

#ifndef __STDDEF__
#define __STDDEF__

#ifdef __GNUG__
#pragma interface "std/stddef.h"
#endif

#include <_G_config.h>
#include <std/cstddef.h>

extern "C++" {
const size_t NPOS = (size_t)(-1);        <---------- line 15
typedef void fvoid_t();

#ifndef _WINT_T
#define _WINT_T
typedef _G_wint_t wint_t;
#endif

} // extern "C++"

#endif

I don't see any '::'

At this point I gave up and downloaded the binary. Thank you SO MUCH for 
the pre-compiled binaries. That installed fine and the program is great!!

Carlyn Iuzzolino
address@hidden

----------------- Contents of Makeconf ----------------------------
search for cvi to see my addition.

# Generated automatically from Makeconf.in by configure.
#
# Common configuration rules for all of octave's Makefiles.
#
# John W. Eaton
# address@hidden
# University of Wisconsin-Madison
# Department of Chemical Engineering
 
SHELL = /bin/sh

#### Start of system configuration section. ####

EXE = 

LEX = flex
LFLAGS = -t -I
LEXLIB = 

YACC = bison -y
YFLAGS = -dv

AR = ar
ARFLAGS = rc 

RANLIB = ranlib

LN_S = ln -s

RUNTEST = 

TEXI2DVI = $(top_srcdir)/texi2dvi

DEFAULT_PAGER = less

WITH_DL = true
WITH_SHL = false

WITH_DYNAMIC_LINKING = true

OCTAVE_LITE = false

SHARED_LIBS = false
SHLEXT = so

# Fortran to C translator and associated flags.

F2C = 
F2CFLAGS = 

# Fortran compiler flags.

FC = g77
F77 = g77
FFLAGS = -O
FPICFLAG = -fPIC
FORTRAN_MAIN_FLAG = -u MAIN__
ALL_FFLAGS = $(FFLAGS)

# cc and associated flags.

DLFCN_INCFLAGS = 

# Clean up INCFLAGS a bit if we are not compiling in a separate
# directory.
ifeq ($(srcdir),.)
  TMP_IF_1 = -I.
else
  TMP_IF_1 = -I. -I$(srcdir)
endif
ifeq ($(TOPDIR),$(top_srcdir))
  TMP_IF_2 = -I$(TOPDIR) -I$(TOPDIR)/liboctave -I$(TOPDIR)/src \
        -I$(TOPDIR)/glob -I$(TOPDIR)/libcruft/misc
else
  TMP_IF_2 = -I$(TOPDIR) -I$(TOPDIR)/liboctave -I$(TOPDIR)/src \
        -I$(TOPDIR)/glob -I$(TOPDIR)/libcruft/misc -I$(top_srcdir) \
        -I$(top_srcdir)/liboctave -I$(top_srcdir)/src \
        -I$(top_srcdir)/glob -I$(top_srcdir)/libcruft/misc
endif
#cvi added C__FLAGS
C__FLAGS= -I/usr/include/g++
INCFLAGS = $(TMP_IF_1) $(TMP_IF_2) $(DLFCN_INCFLAGS) $(C__FLAGS)

LIBFLAGS = -L$(TOPDIR)

DEFS = -DHAVE_CONFIG_H

UGLY_DEFS = -DOCTAVE_SOURCE=1 -DSEPCHAR=\':\' -DSEPCHAR_STR=\\\\\":\\\\\" 
-DUSE_GNU_INFO=1 -DUSE_READLINE=1 -DF77_APPEND_UNDERSCORE=1 -DSIZEOF_SHORT=2 
-DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 
-DNPOS=string::npos -DSTDC_HEADERS=1 -DHAVE_DIRENT_H=1 -DTIME_WITH_SYS_TIME=1 
-DHAVE_SYS_WAIT_H=1 -DHAVE_ASSERT_H=1 -DHAVE_CURSES_H=1 -DHAVE_FCNTL_H=1 
-DHAVE_FLOAT_H=1 -DHAVE_GRP_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_NAN_H=1 -DHAVE_NCURSES_H=1 -DHAVE_PWD_H=1 -DHAVE_STDLIB_H=1 
-DHAVE_STRING_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_RESOURCE_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_UTSNAME_H=1 -DHAVE_TERMCAP_H=1 
-DHAVE_TERMIO_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_VARARGS_H=1 
-DHAVE_ATEXIT=1 -DHAVE_BCOPY=1 -DHAVE_BZERO=1 -DHAVE_DUP2=1 -DHAVE_ENDGRENT=1 
-DHAVE_ENDPWENT=1 -DHAVE_EXECVP=1 -DHAVE_FCNTL=1 -DHAVE_FORK=1 -DHAVE_GETCWD=1 
-DHAVE_GETEGID=1 -DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETGRENT=1 -DH!
!
AVE_GETGRGID=1 -DHAVE_GETGRNAM=1
 -DHAVE_GETHOSTNAME=1 -DHAVE_GETPGRP=1 -DHAVE_GETPID=1 -DHAVE_GETPPID=1 
-DHAVE_GETPWENT=1 -DHAVE_GETPWNAM=1 -DHAVE_GETPWUID=1 -DHAVE_GETUID=1 
-DHAVE_GETWD=1 -DHAVE_LSTAT=1 -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 
-DHAVE_ON_EXIT=1 -DHAVE_PIPE=1 -DHAVE_PUTENV=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1 
-DHAVE_RMDIR=1 -DHAVE_SETGRENT=1 -DHAVE_SETPWENT=1 -DHAVE_SETVBUF=1 
-DHAVE_SIGACTION=1 -DHAVE_SIGPENDING=1 -DHAVE_SIGPROCMASK=1 -DHAVE_SIGSUSPEND=1 
-DHAVE_STAT=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 
-DHAVE_STRNCASECMP=1 -DHAVE_TEMPNAM=1 -DHAVE_UMASK=1 -DHAVE_UNLINK=1 
-DHAVE_USLEEP=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1 -DHAVE_WAITPID=1 
-DHAVE_PROGRAM_INVOCATION_NAME=1 -DHAVE_LIBDL=1 -DHAVE_DLOPEN=1 -DHAVE_DLSYM=1 
-DHAVE_DLERROR=1 -DHAVE_DLCLOSE=1 -DWITH_DL=1 -DWITH_DYNAMIC_LINKING=1 
-DHAVE_LIBM=1 -DHAVE_FINITE=1 -DHAVE_ISNAN=1 -DHAVE_ISINF=1 -DHAVE_ACOSH=1 
-DHAVE_ASINH=1 -DHAVE_ATANH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_ST_BLKSIZE=1 
-DHAVE_ST_BLOCKS=1 -DHAVE_ST_RDEV=1 !
!
-DHAVE_TZNAME=1 -DHAVE_GR_PASSWD
=1 -DRETSIGTYPE=void -DSYS_SIGLIST_DECLARED=1 -DHAVE_SYS_SIGLIST=1 
-DHAVE_POSIX_SIGNALS=1 -DHAVE_GETRUSAGE=1 -DHAVE_TIMES=1

CC = gcc
CC_VERSION = 2.7.2.1
CFLAGS = -g -O2 -Wall
CPICFLAG = -fPIC
GCC_IEEE_FP_FLAG = 
ALL_CFLAGS = $(INCFLAGS) $(DEFS) $(GCC_IEEE_FP_FLAG) $(CFLAGS)
BUG_CFLAGS = $(DEFS) $(GCC_IEEE_FP_FLAG) $(CFLAGS)

CXX = c++
CXX_VERSION = 2.7.2.1
CXXCPP = c++ -E
CXXFLAGS = -g -O2 -Wall
CXXPICFLAG = -fPIC
NO_IMPLICIT_TEMPLATES = -fno-implicit-templates
HOST_CXXFLAGS = 
ALL_CXXFLAGS = $(INCFLAGS) $(DEFS) $(HOST_CXXFLAGS) \
        $(NO_IMPLICIT_TEMPLATES) $(GCC_IEEE_FP_FLAG) $(CXXFLAGS)
UGLY_ALL_CXXFLAGS = $(INCFLAGS) $(UGLY_DEFS) $(HOST_CXXFLAGS) \
        $(NO_IMPLICIT_TEMPLATES) $(GCC_IEEE_FP_FLAG) $(CXXFLAGS)
BUG_CXXFLAGS = $(DEFS) $(HOST_CXXFLAGS) $(NO_IMPLICIT_TEMPLATES) \
        $(GCC_IEEE_FP_FLAG) $(CXXFLAGS)

CPPFLAGS = 

LDFLAGS = -g
LD_STATIC_FLAG = 
ALL_LDFLAGS = $(LIBFLAGS) $(FORTRAN_MAIN_FLAG) $(GCC_IEEE_FP_FLAG) \
        $(LD_STATIC_FLAG) $(CPICFLAG) $(LDFLAGS)

SH_LD = gcc
SH_LDFLAGS = -shared

RLD_FLAG = -Xlinker -rpath -Xlinker $(libdir)

FLIBS =  -lf2c -lm -L/usr/lib/gcc-lib/i686-unknown-linux/2.7.2.1 -lm -lgcc -lc

CXXLIBS =  -lstdc++ -lm -L/usr/lib/gcc-lib/i686-unknown-linux/2.7.2.1 -lstdc++ 
-lm -lgcc -lc -lgcc

TERMLIBS =  -lncurses
LIBPLPLOT = 
LIBDLFCN = 

# The arguments passed to configure.
config_opts = 

# A shell command to extract the version number from version.h.
getversion = sed -e '/VERSION/!d' -e 's/.*"\(.*\)".*$$/\1/' -e q

# Look for version.h to get version information.
xfiles := $(TOPDIR)/src/version.h $(srcdir)/$(TOPDIR)/src/version.h
version_file := $(firstword $(foreach file, $(xfiles), $(wildcard $(file))))
version := $(shell $(getversion) $(version_file))

# ==================== Where To Install Things ====================

# The default location for installation.  Everything is placed in
# subdirectories of this directory.  The default values for many of
# the variables below are expressed in terms of this one, so you may
# not need to change them.  This defaults to /usr/local.
prefix = /usr/local

# Like `prefix', but used for architecture-specific files.
exec_prefix = ${prefix}

# Where to install Octave and other binaries that people will want to
# run directly.
bindir = ${exec_prefix}/bin

# Where to install architecture-independent data files.  ${fcnfiledir}
# and ${localfcnfiledir} are subdirectories of this.
datadir = ${prefix}/share

# Where to install and expect libraries like libcruft.a, liboctave.a,
# and libreadline.a and other architecture-dependent data.  The
# directory ${archlibdir} is a subdirectory of this.  
libdir = ${exec_prefix}/lib

# Where to install and expect executable programs to be run by Octave
# rather than directly by users.
libexecdir = ${exec_prefix}/libexec

# The prefix for Octave's include file directory.  The default is
# ${prefix}/include
includedir = ${prefix}/include

# Where to install Octave's include files.  The default is
# ${includedir}/octave-${version}
octincludedir = $(includedir)/octave-$(version)

# Where to install Octave's man pages, and what extension they should
# have.  The default is ${prefix}/man/man1
mandir = ${prefix}/man
man1dir = $(mandir)/man1
man1ext = .1

# Where to install and expect the info files describing Octave..
infodir = ${prefix}/info

# The fill path to the default info file.
infofile = $(infodir)/octave.info

# ==================== Octave-specific directories ====================

# These variables hold the values Octave will actually use.  They are
# based on the values of the standard Make variables above.

# Where to install the function file distributed with
# Octave.  This includes the Octave version, so that the
# function files for different versions of Octave will install
# themselves in separate directories.
fcnfiledir = $(datadir)/octave/$(version)/m

# Directories Octave should search for function files specific
# to this site (i.e. customizations), before consulting
# ${fcnfiledir}.  This should be a colon-separated list of
# directories.
localfcnfiledir = $(datadir)/octave/site/m
localfcnfilepath = $(localfcnfiledir)//

# Where to put executables to be run by Octave rather than
# the user.  This path usually includes the Octave version
# and configuration name, so that multiple configurations
# for multiple versions of Octave may be installed at once.
archlibdir = $(libexecdir)/octave/$(version)/exec/$(target_host_type)

# Where to put executables to be run by Octave rather than by the
# user that are specific to this site.
localarchlibdir = $(libexecdir)/octave/site/exec/$(target_host_type)

# Where to put object files that will by dynamically loaded.
# This path usually includes the Octave version and configuration
# name, so that multiple configurations for multiple versions of
# Octave may be installed at once. 
octfiledir = $(libexecdir)/octave/$(version)/oct/$(target_host_type)

# Directories Octave should search for object files that will be
# dynamically loaded and that are specific to this site
# (i.e. customizations), before consulting ${octfiledir}.  This should
# be a colon-separated list of directories.
localoctfiledir = $(libexecdir)/octave/site/oct/$(target_host_type)
localoctfilepath = $(localoctfiledir)//

# Where Octave will search to find its function files.  Before
# changing this, check to see if your purpose wouldn't
# better be served by changing localfcnfilepath.  This
# should be a colon-separated list of directories.
fcnfilepath = 
.:$(localoctfilepath):$(localfcnfilepath):$(octfiledir)//:$(fcnfiledir)//

# Where Octave will search to find image files.es.
imagedir = $(datadir)/octave/$(version)/imagelib
imagepath = .:$(imagedir)//

# The type of computer we are running on.
target_host_type = i686-pc-linux-gnu

# The following pattern rules and the substitution functions require
# GNU make.  If you don't have it, get it!

# Rules for making object files from Fortran source.
#
# If we are using f2c there will be a command for the `%.c : %.f'
# pattern and no command for the `%.o : %.f' pattern, so that make
# will not invoke the fortran compiler by mistake.
#
# If we are not using f2c, it should be ok to have an empty rule for
# the pattern `%.c : %.f', but we don't want to replace make's default
# rule for making object from Fortran source files, so there should be
# no pattern or command for that.



%.c : %.f

%.o : %.f
        $(FC) -c $(ALL_FFLAGS) $<

pic/%.o : %.f
        $(FC) -c $(FPICFLAG) $(ALL_FFLAGS) $< -o $@


# How to make .o files:

%.o : %.c
        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<

%.o : %.cc
        $(CXX) -c $(CPPFLAGS) $(ALL_CXXFLAGS) $<

pic/%.o : %.c
        $(CC) -c $(CPPFLAGS) $(CPICFLAG) $(ALL_CFLAGS) $< -o $@

pic/%.o : %.cc
        $(CXX) -c $(CPPFLAGS) $(CXXPICFLAG) $(ALL_CXXFLAGS) $< -o $@

# Here is a rule for generating dependencies for .cc files:

%.d : %.cc
        @echo making $@ from $<
        @rm -f $@
        @$(CXX) -M $(CPPFLAGS) $(ALL_CXXFLAGS) $< | \
          sed -e 's,$*\.o,pic/& & $@,g' > address@hidden
        @mv address@hidden $@

# And one for .c files.too:

%.d : %.c
        @echo making $@ from $<
        @rm -f $@
        @$(CC) -M $(CPPFLAGS) $(ALL_CFLAGS) $< | \
          sed -e 's,$*\.o,pic/& & $@,g' > address@hidden
        @mv address@hidden $@

define do-subdir-for-command
echo making $@ in $d; cd $d; $(MAKE) $@; cd ..;
endef

define subdir-for-command
$(foreach d, $(SUBDIRS), $(do-subdir-for-command))
endef

define do-subst-config-vals
echo "making $@ from $<"
sed < $< \
  -e "s;%BUG_CXXFLAGS%;\"${BUG_CXXFLAGS}\";" \
  -e "s;%CC%;\"${CC}\";" \
  -e "s;%CC_VERSION%;\"${CC_VERSION}\";" \
  -e "s;%CFLAGS%;\"${BUG_CFLAGS}\";" \
  -e "s;%CPICFLAG%;\"${CPICFLAG}\";" \
  -e "s;%CPPFLAGS%;\"${CPPFLAGS}\";" \
  -e "s;%CXX%;\"${CXX}\";" \
  -e "s;%CXXFLAGS%;\"${CXXFLAGS}\";" \
  -e "s;%CXXLIBS%;\"${CXXLIBS}\";" \
  -e "s;%CXXPICFLAG%;\"${CXXPICFLAG}\";" \
  -e "s;%CXX_VERSION%;\"${CXX_VERSION}\";" \
  -e "s;%F2C%;\"${F2C}\";" \
  -e "s;%F2CFLAGS%;\"${F2CFLAGS}\";" \
  -e "s;%F77%;\"${F77}\";" \
  -e "s;%FFLAGS%;\"${FFLAGS}\";" \
  -e "s;%FLIBS%;\"${FLIBS}\";" \
  -e "s;%FPICFLAG%;\"${FPICFLAG}\";" \
  -e "s;%GCC_IEEE_FP_FLAG%;\"${GCC_IEEE_FP_FLAG}\";" \
  -e "s;%HOST_CXXFLAGS%;\"${HOST_CXXFLAGS}\";" \
  -e "s;%INCFLAGS%;\"-I${includedir} -I${octincludedir}\";" \
  -e "s;%LDFLAGS%;\"${LDFLAGS}\";" \
  -e "s;%LEXLIB%;\"${LEXLIB}\";" \
  -e "s;%LIBDLFCN%;\"${LIBDLFCN}\";" \
  -e "s;%LIBFLAGS%;\"-L${libdir}\";" \
  -e "s;%LIBPLPLOT%;\"${LIBPLPLOT}\";" \
  -e "s;%LIBS%;\"${LIBS}\";" \
  -e "s;%NO_IMPLICIT_TEMPLATES%;\"${NO_IMPLICIT_TEMPLATES}\";" \
  -e "s;%RLD_FLAG%;\"${RLD_FLAG}\";" \
  -e "s;%SH_LD%;\"${SH_LD}\";" \
  -e "s;%SH_LDFLAGS%;\"${SH_LDFLAGS}\";" \
  -e "s;%TARGET_HOST_TYPE%;\"${target_host_type}\";" \
  -e "s;%TERMLIBS%;\"${TERMLIBS}\";" \
  -e "s;%VERSION%;\"${version}\";" \
  -e "s;%config_opts%;\"${config_opts}\";" | \
  sed  -e "s;%DEFS%;\"${UGLY_DEFS}\";" > address@hidden
$(top_srcdir)/move-if-change address@hidden $@
endef

define do-subst-default-vals
echo "making $@ from $<"
sed < $< > address@hidden \
  -e "s;%DEFAULT_PAGER%;\"${DEFAULT_PAGER}\";" \
  -e "s;%OCTAVE_ARCHLIBDIR%;\"${archlibdir}\";" \
  -e "s;%OCTAVE_BINDIR%;\"${bindir}\";" \
  -e "s;%OCTAVE_DATADIR%;\"${datadir}\";" \
  -e "s;%OCTAVE_EXEC_PREFIX%;\"${exec_prefix}\";" \
  -e "s;%OCTAVE_FCNFILEDIR%;\"${fcnfiledir}\";" \
  -e "s;%OCTAVE_FCNFILEPATH%;\"${fcnfilepath}\";" \
  -e "s;%OCTAVE_IMAGEPATH%;\"${imagepath}\";" \
  -e "s;%OCTAVE_INFODIR%;\"${infodir}\";" \
  -e "s;%OCTAVE_INFOFILE%;\"${infofile}\";" \
  -e "s;%OCTAVE_LIBDIR%;\"${libdir}\";" \
  -e "s;%OCTAVE_LOCALARCHLIBDIR%;\"${localarchlibdir}\";" \
  -e "s;%OCTAVE_LOCALFCNFILEDIR%;\"${localfcnfiledir}\";" \
  -e "s;%OCTAVE_LOCALFCNFILEPATH%;\"${localfcnfilepath}\";" \
  -e "s;%OCTAVE_LOCALOCTFILEPATH%;\"${localoctfilepath}\";" \
  -e "s;%OCTAVE_OCTFILEDIR%;\"${octfiledir}\";" \
  -e "s;%OCTAVE_PREFIX%;\"${prefix}\";" \
  -e "s;%TARGET_HOST_TYPE%;\"${target_host_type}\";"
$(top_srcdir)/move-if-change address@hidden $@
endef

# Make a relative symbolic link from $includedir/octave to $octincludedir. 

# XXX FIXME XXX -- this assumes that $octincludedir is a subdirectory
# of $includedir.

define mk-includedir-link
src=`echo $(octincludedir) | sed 's|^$(includedir)/*||'` ; \
echo $$src ; \
if [ "$$src" = "octave" ] ; then \
  true ; \
else \
  cd $(includedir) ; \
  rm -f octave ; \
  $(LN_S) $$src octave ; \
fi
endef


-------------------------- End of Makeconf -------------------------------

Here is octave-bug, but notice that I added to the INCFLAGS in Makeconf
and that wouldn't show up in the octave-bug file.

-------------------------- octave-bug -------------------------------
#! /bin/sh -
#
# octave-bug - create a bug report and mail it to the bug-octave
# mailing list.
#
# Patterned after the bashbug script from bash 1.14.
#
# John W. Eaton
# address@hidden
# University of Wisconsin-Madison
# Department of Chemical Engineering

# Configuration:  these variables are filled in when running make to
# compile Octave.

config_opts=""
VERSION="2.0.9"
MACHINE="i686-pc-linux-gnu"
F77="g77"
FFLAGS="-O"
FPICFLAG="-fPIC"
FLIBS="-lf2c -lm -L/usr/lib/gcc-lib/i686-unknown-linux/2.7.2.1 -lm -lgcc -lc"
F2C=""
F2CFLAGS=""
CPPFLAGS=""
INCFLAGS="-I/usr/local/include -I/usr/local/include/octave-2.0.9"
CC="gcc"
CC_VERSION="2.7.2.1"
CFLAGS="-DHAVE_CONFIG_H  -g -O2 -Wall"
CPICFLAG="-fPIC"
CXX="c++"
CXX_VERSION="2.7.2.1"
CXXFLAGS="-DHAVE_CONFIG_H  -fno-implicit-templates  -g -O2 -Wall"
CXXPICFLAG="-fPIC"
LDFLAGS="-g"
LIBFLAGS="-L/usr/local/lib"
RLD_FLAG="-Xlinker -rpath -Xlinker /usr/local/lib"
CXXLIBS="-lstdc++ -lm -L/usr/lib/gcc-lib/i686-unknown-linux/2.7.2.1 -lstdc++ 
-lm -lgcc -lc -lgcc"
TERMLIBS="-lncurses"
LIBS=""
LEXLIB=""
LIBPLPLOT=""
LIBDLFCN=""
DEFS="-DOCTAVE_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=\":\" -DUSE_GNU_INFO=1 
-DUSE_READLINE=1 -DF77_APPEND_UNDERSCORE=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 
-DSIZEOF_LONG=4 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DNPOS=string::npos 
-DSTDC_HEADERS=1 -DHAVE_DIRENT_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_SYS_WAIT_H=1 
-DHAVE_ASSERT_H=1 -DHAVE_CURSES_H=1 -DHAVE_FCNTL_H=1 -DHAVE_FLOAT_H=1 
-DHAVE_GRP_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MEMORY_H=1 -DHAVE_NAN_H=1 
-DHAVE_NCURSES_H=1 -DHAVE_PWD_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 
-DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_RESOURCE_H=1 -DHAVE_SYS_STAT_H=1 
-DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_UTSNAME_H=1 -DHAVE_TERMCAP_H=1 -DHAVE_TERMIO_H=1 -DHAVE_TERMIOS_H=1 
-DHAVE_UNISTD_H=1 -DHAVE_VARARGS_H=1 -DHAVE_ATEXIT=1 -DHAVE_BCOPY=1 
-DHAVE_BZERO=1 -DHAVE_DUP2=1 -DHAVE_ENDGRENT=1 -DHAVE_ENDPWENT=1 
-DHAVE_EXECVP=1 -DHAVE_FCNTL=1 -DHAVE_FORK=1 -DHAVE_GETCWD=1 -DHAVE_GETEGID=1 
-DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETGRENT=1 -DHAVE_GETGRGID=1 -!
!
DHAVE_GETGRNAM=1 -DHAVE_GETHOSTN
AME=1 -DHAVE_GETPGRP=1 -DHAVE_GETPID=1 -DHAVE_GETPPID=1 -DHAVE_GETPWENT=1 
-DHAVE_GETPWNAM=1 -DHAVE_GETPWUID=1 -DHAVE_GETUID=1 -DHAVE_GETWD=1 
-DHAVE_LSTAT=1 -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_ON_EXIT=1 
-DHAVE_PIPE=1 -DHAVE_PUTENV=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1 -DHAVE_RMDIR=1 
-DHAVE_SETGRENT=1 -DHAVE_SETPWENT=1 -DHAVE_SETVBUF=1 -DHAVE_SIGACTION=1 
-DHAVE_SIGPENDING=1 -DHAVE_SIGPROCMASK=1 -DHAVE_SIGSUSPEND=1 -DHAVE_STAT=1 
-DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRNCASECMP=1 
-DHAVE_TEMPNAM=1 -DHAVE_UMASK=1 -DHAVE_UNLINK=1 -DHAVE_USLEEP=1 
-DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1 -DHAVE_WAITPID=1 
-DHAVE_PROGRAM_INVOCATION_NAME=1 -DHAVE_LIBDL=1 -DHAVE_DLOPEN=1 -DHAVE_DLSYM=1 
-DHAVE_DLERROR=1 -DHAVE_DLCLOSE=1 -DWITH_DL=1 -DWITH_DYNAMIC_LINKING=1 
-DHAVE_LIBM=1 -DHAVE_FINITE=1 -DHAVE_ISNAN=1 -DHAVE_ISINF=1 -DHAVE_ACOSH=1 
-DHAVE_ASINH=1 -DHAVE_ATANH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_ST_BLKSIZE=1 
-DHAVE_ST_BLOCKS=1 -DHAVE_ST_RDEV=1 -DHAVE_TZNAME=1 !
!
-DHAVE_GR_PASSWD=1 -DRETSIGTYPE=
void -DSYS_SIGLIST_DECLARED=1 -DHAVE_SYS_SIGLIST=1 -DHAVE_POSIX_SIGNALS=1 
-DHAVE_GETRUSAGE=1 -DHAVE_TIMES=1"

CC_AND_VERSION=
if test -n "$CC_VERSION"; then
  CC_AND_VERSION="$CC, version $CC_VERSION"
fi

CXX_AND_VERSION=
if test -n "$CXX_VERSION"; then
  CXX_AND_VERSION="$CXX, version $CXX_VERSION"
fi

PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:$PATH
export PATH

TEMP=/tmp/octave-bug.$$

: ${EDITOR=emacs}
: ${PAGER=more}

trap 'rm -f $TEMP $TEMP.x; exit 1' 1 2 3 13 15
trap 'rm -f $TEMP $TEMP.x' 0

UN=
if (uname) > /dev/null 2>&1; then
  UN=`uname -a`
fi

HAVE_FMT=false
if (fmt < /dev/null) > /dev/null 2>&1; then
  HAVE_FMT=true
fi

# Check whether to use -n or \c to keep echo from printing a newline
# character.  Stolen from autoconf, which borrowed the idea from dist 3.0.

if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
  # Stardent Vistra SVR4 grep lacks -e, says address@hidden
  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
    echo_n=
    echo_c='
'
  else
    echo_n=-n
    echo_c=
  fi
else
  echo_n=
  echo_c='\c'
fi

ss_p=`echo $VERSION | grep "^ss-"`
if test -n "$ss_p"; then
  BUGADDR="address@hidden"
else
  pretest_p=`echo $VERSION \
    | sed 's,.*\.\([0-9]*\).*,\1,' \
    | grep -v '\.' \
    | grep '[0-9]'`

  if test -n "$pretest_p" && test "$pretest_p" -ge 90; then
    BUGADDR="address@hidden"
  else
    BUGADDR="address@hidden"
  fi
fi

SUBJECT="[50 character or so descriptive subject here (for reference)]"
if test $# -gt 0; then
  case "$1" in
    -s)
      shift
      if test $# -gt 0; then
        SUBJECT="$1"
        shift
      else
        echo "usage: octave-bug [-s subject]"
        exit 1
      fi
    ;;
  esac
fi

cat > $TEMP << EOF
To: $BUGADDR
Subject: $SUBJECT
--------
Bug report for Octave $VERSION configured for $MACHINE

Description:
-----------

  * Please replace this item with a detailed description of the
    problem.  Suggestions or general comments are also welcome.

Repeat-By:
---------

  * Please replace this item with a description of the sequence of
    events that causes the problem to occur. 

Fix:
---

  * If possible, replace this item with a description of how to
    fix the problem (if you don't have a fix for the problem, don't
    include this section, but please do submit your report anyway).



Configuration (please do not edit this section):
-----------------------------------------------

uname output:     $UN
configure opts:   $config_opts
Fortran compiler: $F77
FFLAGS:           $FFLAGS
F2C:              $F2C
F2CFLAGS:         $F2CFLAGS
FLIBS:            $FLIBS
CPPFLAGS:         $CPPFLAGS
INCFLAGS:         $INCFLAGS
C compiler:       $CC_AND_VERSION
CFLAGS:           $CFLAGS
CPICFLAG:         $CPICFLAG
C++ compiler:     $CXX_AND_VERSION
CXXFLAGS:         $CXXFLAGS
CXXPICFLAG:       $CXXPICFLAG
LDFLAGS:          $LDFLAGS
LIBFLAGS:         $LIBFLAGS
RLD_FLAG:         $RLD_FLAG
CXXLIBS:          $CXXLIBS
TERMLIBS:         $TERMLIBS
LIBS:             $LIBS
LEXLIB:           $LEXLIB
LIBPLPLOT:        $LIBPLPLOT
LIBDLFCN:         $LIBDLFCN
DEFS:

EOF

if $HAVE_FMT; then
  echo $DEFS | fmt | sed 's/^/  /' >> $TEMP
else
  echo $DEFS >> $TEMP
fi

if test $# -gt 0; then
  if test -f "$1"; then
    cat >> $TEMP << EOF

User-preferences (please do not edit this section):
--------------------------------------------------

EOF
    cat $1 >> $TEMP
  fi
fi

chmod u+w $TEMP
cp $TEMP $TEMP.x

status=0

editing=true

while $editing; do
  if $EDITOR $TEMP; then
    while $editing; do
      echo $echo_n "(a)bort, (e)dit, (l)ist, (s)end? $echo_c"
      read ans
      case "$ans" in
        a* | A*)
          status=1
          editing=false
        ;;
        e* | E*)
          break;
        ;;
        l* | L*)
          $PAGER $TEMP
        ;;
        s* | S*)
          editing=false
        ;;
      esac
    done
  else
    echo "problems with edit -- no bug report submitted"
    status=1
    editing=false
  fi
done

if test $status -eq 0; then
  if cmp -s $TEMP $TEMP.x; then
    echo "file not changed -- no bug report submitted"
    status=1
  elif test `wc $TEMP | awk '{print $1}'` -eq 0; then
    echo "empty bug report file -- not submitted"
    status=1
  else

# Try to extract the recipient address, in case the To: line in the
# message template has been changed.  Also get cc: lines.

    TO_ADDR=`sed -e '/^--------[ \t]*$/q' $TEMP | sed -n -e 's/^[Tt][Oo]://p'`
    CC_ADDR=`sed -e '/^--------[ \t]*$/q' $TEMP | sed -n -e 's/^[Cc][Cc]://p'`

    if test -z "$TO_ADDR"; then
      echo "no valid \`To:' field found in header -- using $BUGADDR instead"
    else
      BUGADDR="$TO_ADDR"      
    fi

    BUGADDR="$BUGADDR $CC_ADDR"

    TMP_SUB=`sed -e '/^--------[ \t]*$/q' $TEMP | sed -n -e 's/^Subject://p'`

    if test -n "$TMP_SUB"; then
      SUBJECT="$TMP_SUB"
    fi

# Delete the `--------' separator in the message.

# Don't pretty-print this.  Odd whitespace kills Ultrix AWK!

    awk 'BEGIN{in_header=1;} /^--------[ \t]*$/ {
      if (in_header) { in_header=0; print ""; next; }
    } { print $0; }' $TEMP > $TEMP.x

# Now try to mail it.

    ( /bin/mail $BUGADDR < $TEMP.x ) > /dev/null 2>&1
    status=$?
    if test $status -ne 0; then
      ( Mail -s "$SUBJECT" $BUGADDR < $TEMP.x ) > /dev/null 2>&1
      status=$?
      if test $status -ne 0; then
        ( /usr/ucb/mail -s "$SUBJECT" $BUGADDR < $TEMP.x ) > /dev/null 2>&1
        status=$?
        if test $status -ne 0; then
          ( mailx -s "$SUBJECT" $BUGADDR < $TEMP.x ) > /dev/null 2>&1
          status=$?
        fi
      fi
    fi

    if test $status -ne 0; then
      echo "unable to send mail..."
    fi
  fi
fi

if test $status -ne 0; then
  echo "saving message in \$HOME/dead.octave-bug";
  cat $TEMP >> $HOME/dead.octave-bug;
  exit 1
else
  echo "bug report sent to: $TO_ADDR"
  echo "             cc to: $CC_ADDR"
fi

exit $status
-------------------------- End of octave-bug -------------------------------

Thanks,

Carlyn Iuzzolino
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]