help-octave
[Top][All Lists]
Advanced

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

Re: Compiling 3.0.1 for Solaris 10


From: Ole Tange
Subject: Re: Compiling 3.0.1 for Solaris 10
Date: Mon, 4 Aug 2008 11:48:43 +0200

On 8/1/08, John W. Eaton <address@hidden> wrote:
> On  1-Aug-2008, Ole Tange wrote:
>
>  | I am trying to compile Octave 3.0.1 for Solaris 10 and I am stuck.
[ I am first trying to compile 3.0.0 by following this spec by hand]
>  | 
> http://blastwave.informatik.uni-erlangen.de/csw/users/michael/sources/specs/octave
>  |
>  | The spec has a few dependencies:

[gcc3 + gnuplot]

>  | ./configure tells me I have no C-compiler. So:
>  |
>  |   /opt/csw/bin/pkg-get -i gcc3g77
>  |   /opt/csw/bin/pkg-get -i gcc3core
>  |   /opt/csw/bin/pkg-get -i gcc3g++
>  |
>  | (I tried gcc4, but found no g77 compiler at blastwave).
>
>
> GCC 4.x should include gfortran, which should work fine to compile the
>  bits of Octave that are written in Fortran.

Apparently the blastwave does not have gfortran and I have been unable
to find gfortran for Solaris 10/x86 anywhere.

>  | Also gmake is needed as make fails:
>  |
>  |   /opt/csw/bin/pkg-get -i gmake
>
>
> Yes, that's because Octave's Makefiles are intentionally written to be
>  dependent on GNU Make's features because it provides a lot of useful
>  features.  This is not a bug or something that we think needs to be
>  fixed.

If the unsuspecting user runs ./configure and make, then it would
probably be useful to the user if he got an error showed that gmake
must be run instead.

In any case I do not consider this a bug. I simply included the step
to show that the compile did not fail because of a missing gmake and
to show what steps needs to be taken on a completely freshly installed
Solaris 10.

>  | ./configure makes non-working Makefiles if not gsed is installed so:
>  |
>  |   /opt/csw/bin/pkg-get -i gsed
>
>
> There are checks in the configure script that attempt to find a
>  working sed.  If that's not working, then it might be a bug.  If you
>  want to help fix this problem, then submit a complete bug report about
>  the failure to the address@hidden list.  Without more information, I
>  don't think it is likely that this problem will be fixed.

Will do.

>  | install.info needs texinfo, so:
>  |
>  |   /opt/csw/bin/pkg-get -i texinfo
>
>
> Why do you bother to mention this?  Clearly, you have to have the
>  tools to do the job.

I mention this because:

* it is not mention in the requirements
(http://www.gnu.org/software/octave/FAQ.html#Installation)
* configure does not complain with an error if it is missing
* the compile itself fails if it is missing (after compiling for a long time)
* The fundamental principle of reporting bugs usefully is this: report
all the facts.

I can see several fixes to this:

* Mention it in the requrements
* Let configure fail if it is missing
* Let the compile just warn the the makeinfo is not done (it seems to
be documentation and not anything needed for running Octave)

>  | Then:
>  |   ./configure --prefix=/opt/csw --mandir=/opt/csw/share/man
>  | --infodir=/opt/csw/share/info --with-hdf5
>  |   gmake
>  |   gmake install
>  |
>  | Then:
>  |
>  | # gmake check
>  | gmake -f octMakefile check
>  | gmake[1]: Entering directory `/octave/octave-3.0.0'
>  | gmake -C test check
>  | gmake[2]: Entering directory `/octave/octave-3.0.0/test'
>  | ./build_sparse_tests.sh
>  | ../run-octave --norc --silent --no-history ./fntests.m .
>  | gmake[2]: *** [check] Segmentation Fault (core dumped)
>  | gmake[2]: Leaving directory `/octave/octave-3.0.0/test'
>  | gmake[1]: *** [check] Error 2
>  | gmake[1]: Leaving directory `/octave/octave-3.0.0'
>  | gmake: *** [check] Error 2
>  |
>  | The core file is http://ange.dk/~tange/core.gz
>  | The output from configure is at: http://ange.dk/~tange/configure.log
>  | The output during compile is at: http://ange.dk/~tange/gmake.log
>  | The whole octave-3.0.0 directory after compile is at:
>  | http://ange.dk/~tange/octave-3.0.0.compiled.tar.bz2
>
>
> Try installing gdb and running
>
>   ./run-octave -g
>
>  to see where it crashes.

# ./run-octave -g
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.8"...
(no debugging symbols found)
(gdb) run
Starting program: /octave/octave-3.0.0/src/octave --no-initial-path
--path=\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}:\{\}
--image-path=/octave/octave-3.0.0/scripts/image
--info-file=/octave/octave-3.0.0/doc/interperter/octave.info
(no debugging symbols found)
warning: Temporarily disabling breakpoints for unloaded shared library
"/usr/lib/ld.so.1"

Program received signal SIGSEGV, Segmentation fault.
0xfd5a5c01 in std::string::find () from /opt/csw/lib/libstdc++.so.6
(gdb) bt
#0  0xfd5a5c01 in std::string::find () from /opt/csw/lib/libstdc++.so.6
#1  0xfd905c7d in file_ops::is_dir_sep (c=47 '/') at file-ops.cc:857
#2  0xfd90affe in file_ops::concat (address@hidden, address@hidden)
    at 
/opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.5/../../../../include/c++/3.4.5/bits/basic_string.h:541
#3  0xfe4b54c6 in __static_initialization_and_destruction_0
(__initialize_p=1, __priority=0)
    at 
/opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.5/../../../../include/c++/3.4.5/ext/new_allocator.h:62
#4  0xfe82fbb1 in __do_global_ctors_aux ()
    at 
/opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.5/../../../../include/c++/3.4.5/bits/list.tcc:69
#5  0xfe82fbc6 in _init () at
/opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.5/../../../../include/c++/3.4.5/bits/list.tcc:69
#6  0xfefd58fc in call_init () from /lib/ld.so.1
#7  0xfefd5681 in is_dep_init () from /lib/ld.so.1
#8  0xfefdf7c5 in elf_bndr () from /lib/ld.so.1
#9  0xfefcc1d4 in elf_rtbndr () from /lib/ld.so.1
#10 0xfefb0458 in ?? ()
#11 0x00000d88 in ?? ()
#12 0xfd92f590 in __static_initialization_and_destruction_0
(__initialize_p=-17103784, __priority=1) at DiagArray2.h:115
#13 0xfdc6007d in __do_global_ctors_aux ()
    at 
/opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.5/../../../../include/c++/3.4.5/bits/stl_construct.h:106
#14 0xfdc60092 in _init () at
/opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.5/../../../../include/c++/3.4.5/bits/stl_construct.h:106
#15 0xfefd58fc in call_init () from /lib/ld.so.1
#16 0xfefd4fcc in setup () from /lib/ld.so.1
#17 0xfefe0734 in _setup () from /lib/ld.so.1
#18 0xfefcc0b8 in _rt_boot () from /lib/ld.so.1
#19 0x08047bf8 in ?? ()
#20 0xfeffab18 in _GLOBAL_OFFSET_TABLE_ () from /lib/ld.so.1
#21 0x00000003 in ?? ()
#22 0x08047c3c in ?? ()
#23 0x00000004 in ?? ()
#24 0x08047c54 in ?? ()
#25 0x00000005 in ?? ()
#26 0x08047c9c in ?? ()
#27 0x00000000 in ?? ()

/Ole


reply via email to

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