I followed the very basic installation procedures without any special
swithces (Let me warn you, I'm a unix and Sun novice). When installing the
gcc-2.6, I created the stage2 and stage3 compilers, compared them and found
no difference. According to the gnu installation documentation, I took
this to mean that there was no error in the gcc instalation.
When I unzipped and untarred octave-1.0, configure seemed to find
everything it was looking for. However, when I ran make, I got this
make: Fatal error in reader: Makeconf, line 48: Unexpected end of line seen
I looked at the line, but not being familiar with the language octave is
written in, I could not make heads nor tails of the error message.
Would you please either reply or call to give me some clue of what I did
wrong? Thank you.
R. Chip Hinde
ESA-9, MS G789
Los Alamos National Laboratory
Los Alamos, NM 87545
[hidden email] (505) 667-7733
(505) 665-7404 (fax)
: I just spent a day ftp'ing, building, and installing the folloing on a Sun
: Sparc Station 2 running SunOS 4.1.3_U1:
: bison-1.22/ flex-2.4.7/ gcc-2.6.0/ libg++-2.6/ make-3.71/
: I followed the very basic installation procedures without any special
: swithces (Let me warn you, I'm a unix and Sun novice). When installing the
: gcc-2.6, I created the stage2 and stage3 compilers, compared them and found
: no difference. According to the gnu installation documentation, I took
: this to mean that there was no error in the gcc instalation.
It's not a guarantee, but it is a good sign if the compiler built from
gcc can compile itself and produce the same code as the compiler built
from the native cc.
: When I unzipped and untarred octave-1.0, configure seemed to find
: everything it was looking for. However, when I ran make, I got this
: make: Fatal error in reader: Makeconf, line 48: Unexpected end of line seen
: I looked at the line, but not being familiar with the language octave is
: written in, I could not make heads nor tails of the error message.
This is an error from Sun's make. You need to use GNU make to build
Even if you fix this problem, you will not be able to build Octave 1.0
using gcc 2.6.0, because of bugs in Octave that are now detected by
the newer compiler that did not show up with previous versions.
All of these problems have been fixed in my development sources, so
Octave 1.1 will work with gcc 2.6.x. Unfortunately, there have been
too many changes to make it possible for me to easily generate a set
of patches to make it possible to compile 1.0 with gcc 2.6.0.
If you want to build Octave 1.0, I would recommend getting gcc-2.5.8
If you just want to try it out, but are not all that interested in
spending a lot of time compiling it, you can get SPARCstation binaries
from ftp.che.utexas.edu in the directory /pub/octave/BINARIES.
I don't know when 1.1 will be ready for a release, but I am working on
it and making a fair amount of progress. Here are some things to look
forward to, taken from the current version of the NEWS file:
* The `&&' and `||' logical operators are now evaluated in a
short-circuit fashion and work differently than the element by
element operators `&' and `|'. See the Octave manual for more
* Expressions like 1./m are now parsed as 1 ./ m, not 1. / m.
* The replot command now takes the same arguments as gplot or
gsplot (except ranges, which cannot be respecified with replot
(yet)) so you can add additional lines to existing plots.
* The hold command has been implemented.
* Improved load and save commands:
-- The save and load commands can now read and write a new binary
file format. Conversion to and from IEEE big and little endian
formats is handled automatically. Conversion for other formats
has not yet been implemented.
-- The load command can now read Matlab .mat files, though it is
not yet able to read sparse matrices or handle conversion for
all data formats.
-- The load command automatically determines the save format
(binary, ascii, or Matlab binary).
-- The default format for the save command is taken from the
builtin variable `default_save_format'.
-- The save and load commands now both accept a list of globbing
patterns so you can easily load a list of variables from a
-- The load command now accepts the option -list, for listing the
variable names without actually loading the data. With
-verbose, it prints a long listing.
* New functions:
feof -- check EOF condition for a specified file
ferror -- check error state for a specified file
fread -- read binary data from a file
fwrite -- write binary data to a file
kbhit -- get a single character from the terminal
axis -- change plot ranges
diary -- save commands and output to a file
type -- show the definition of a function or variable
which -- print the type of an identifier or the location of a
null -- XXX FIXME XXX -- need short descriptions for these
* If given a second argument, svd() now returns an economy-sized
decomposition, eliminating the unecessary rows or columns of U or
* The find function now handles 2 and 3 output arguments.
* The qr function now allows computation of QR with pivoting.
* The output from the history command now goes through the pager.
* If a function is called without assigning the result, nargout is
now correctly set to 0.
* It is now possible to write functions that only set some return
values. For example, calling the function
function [x, y, z] = f () x = 1; z = 2; endfunction
[a, b, c] = f ()
a = 1
b = (0x0)
c = 2
* Text-style functions (ls, type, etc.) can now also be called as
normal functions. For example,
are now equivalent.
* New builtin variable `commas_in_literal_matrix' to allow some
control over how Octave decides to convert spaces to commas in
matrix expressions like `[m (1)]'.
If the value is "required", Octave will never insert a comma in a
literal matrix list. For example, the statement [1 2] will result
in an error instead of being treated the same as [1, 2].
If the value is "traditional", Octave will convert spaces to a
comma between identifiers and `('. For example, given m = [3 2],
will be parsed as
and will result in
[3 2 1]
This is apparently how Matlab behaves.
Any other value for commas_in_literal_matrix results in behavior
that is the same as traditional, except that Octave does not
convert spaces to a comma between identifiers and `('. For
example, the statement
will produce `3'. This is the way Octave has always behaved.
* Lots of bug fixes.
If you made it this far and are interested in helping to test new
prerelease versions of Octave, please send me a note.