From help-octave-request at che dot utexas dot edu Fri Aug 19 09:30:57 1994 Subject: Re: Fatal make error From: John Eaton To: hinde at lanl dot gov (R. Chip Hinde) cc: help-octave Date: Fri, 19 Aug 94 09:30:53 EDT hinde at lanl dot gov (R. Chip Hinde) wrote: : 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 : message: : : 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 Octave. 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 and libg++-2.5.3. 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 details. * 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 file. -- 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 function file null -- XXX FIXME XXX -- need short descriptions for these orth compan conv deconv roots poly polyderiv polyinteg polyreduce polyval polyvalm residue fft2 ifft2 filter sinc freqz complement intersection create_set union * New image processing functions. * If given a second argument, svd() now returns an economy-sized decomposition, eliminating the unecessary rows or columns of U or V. * 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 as [a, b, c] = f () produces: a = 1 b = [](0x0) c = 2 * Text-style functions (ls, type, etc.) can now also be called as normal functions. For example, ls -l and ls ("-l") 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], the statement [m (1)] will be parsed as [m, (1)] 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 [m (1)] 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. Thanks, jwe