[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Compile problem of v2.0.9 on Linux,
Carlyn Iuzzolino <=