octave-maintainers
[Top][All Lists]
Advanced

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

Re: Unreliable OSX Builds


From: John Swensen
Subject: Re: Unreliable OSX Builds
Date: Tue, 25 Aug 2009 12:07:43 -0400


On Aug 24, 2009, at 11:08 AM, Joel LeBlanc wrote:

I have been building (or trying to build) octave on OSX for some time now. It didn't work, then I fixed a few things and it did for a couple of weeks, now it won't build again. Surely I am doing something wrong. I can't understand how the build process can be so fragile. There also don't seem to be clear instructions on how to build, and from what I've read in the archives its far from autogen- >configure->make.

For example here is what I'm doing:
__________________________________________________________
#! /bin/sh -ev

./autogen.sh

# Apple's vecLib:
export blas='--with-lapack=-Wl,-framework,Accelerate,-dylib_file,/ System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/ vecLib.framework/Versions/A/libLAPACK.dylib:/System/Library/ Frameworks/Accelerate.framework/Versions/A/Frameworks/ vecLib.framework/Versions/A/libLAPACK.dylib --with-blas=-Wl,- framework,Accelerate,-dylib_file,/System/Library/Frameworks/ Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/ A/libBLAS.dylib:/System/Library/Frameworks/Accelerate.framework/ Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib'


# Similar to Fink's configure
./configure --prefix=/sw FLIBS=/sw/lib/gcc4.4/lib/libgfortran.dylib F77=/sw/bin/gfortran FC=/sw/bin/gfortran CC=gcc-4 CPP=cpp-4 CXX=g+ +-4 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' --libexecdir='${prefix}/lib' -enable-shared -enable-dl --disable- static --without-mpi --with-hdf5 --with-fftw CPPFLAGS="-g -I/sw/ include -I/sw/include/freetype2 -I/sw/lib/flex/include" FFLAGS="-g - ff2c" LDFLAGS="-L/sw/lib/fltk-aqua/lib -L/sw/lib/flex/lib -L/sw/lib - lfltk_gl -lfltk -lpthread" $blas

make clean
make all
__________________________________________________________

And the results:

g++-4 -dynamiclib -single_module -L/sw/lib/fltk-aqua/lib -L/sw/lib/ flex/lib -L/sw/lib -lfltk_gl -lfltk -lpthread -L/sw/lib/fltk-aqua/ lib -L/sw/lib/flex/lib -L/sw/lib -lfltk_gl -lfltk -lpthread - install_name /sw/lib/octave-3.1.55/liboctinterp.dylib -o liboctinterp.dylib pic/Cell.o pic/bitfcns.o pic/c-file-ptr-stream.o pic/comment-list.o pic/cutils.o pic/data.o pic/debug.o pic/ defaults.o pic/defun.o pic/dirfns.o pic/display.o pic/dynamic-ld.o pic/error.o pic/file-io.o pic/gl-render.o pic/graphics.o pic/ gripes.o pic/help.o pic/input.o pic/lex.o pic/load-path.o pic/load- save.o pic/ls-hdf5.o pic/ls-mat-ascii.o pic/ls-mat4.o pic/ls-mat5.o pic/ls-oct-ascii.o pic/ls-ascii-helper.o pic/ls-oct-binary.o pic/ls- utils.o pic/main.o pic/mappers.o pic/matherr.o pic/mex.o pic/oct- fstrm.o pic/oct-hist.o pic/oct-iostrm.o pic/oct-map.o pic/oct-obj.o pic/oct-prcstrm.o pic/oct-procbuf.o pic/oct-stream.o pic/octave.o pic/zfstream.o pic/oct-strstrm.o pic/oct-lvalue.o pic/pager.o pic/ parse.o pic/pr-output.o pic/procstream.o pic/sighandlers.o pic/ siglist.o pic/sparse-xdiv.o pic/sparse-xpow.o pic/strfns.o pic/ syscalls.o pic/symtab.o pic/sysdep.o pic/token.o pic/toplev.o pic/ txt-eng-ft.o pic/unwind-prot.o pic/utils.o pic/variables.o pic/ xdiv.o pic/xnorm.o pic/xpow.o pic/ov-base.o pic/ov-ch-mat.o pic/ov- cs-list.o pic/ov-list.o pic/ov-re-mat.o pic/ov-cx-mat.o pic/ov- range.o pic/ov-scalar.o pic/ov-complex.o pic/ov-str-mat.o pic/ov- struct.o pic/ov-colon.o pic/ov-bool-mat.o pic/ov-bool.o pic/ov-null- mat.o pic/ov-cell.o pic/ov.o pic/ov-fcn.o pic/ov-builtin.o pic/ov- dld-fcn.o pic/ov-mex-fcn.o pic/ov-usr-fcn.o pic/ov-fcn-handle.o pic/ ov-fcn-inline.o pic/ov-class.o pic/ov-typeinfo.o pic/ov-flt-re-mat.o pic/ov-flt-cx-mat.o pic/ov-float.o pic/ov-flt-complex.o pic/ov-re- diag.o pic/ov-flt-re-diag.o pic/ov-cx-diag.o pic/ov-flt-cx-diag.o pic/ov-perm.o pic/ov-int8.o pic/ov-int16.o pic/ov-int32.o pic/ov- int64.o pic/ov-uint8.o pic/ov-uint16.o pic/ov-uint32.o pic/ov- uint64.o pic/ov-base-sparse.o pic/ov-bool-sparse.o pic/ov-cx- sparse.o pic/ov-re-sparse.o pic/pt.o pic/pt-arg-list.o pic/pt- assign.o pic/pt-bp.o pic/pt-binop.o pic/pt-cbinop.o pic/pt-cell.o pic/pt-check.o pic/pt-cmd.o pic/pt-colon.o pic/pt-const.o pic/pt- decl.o pic/pt-eval.o pic/pt-except.o pic/pt-exp.o pic/pt-fcn- handle.o pic/pt-id.o pic/pt-idx.o pic/pt-jump.o pic/pt-loop.o pic/pt- mat.o pic/pt-misc.o pic/pt-pr-code.o pic/pt-select.o pic/pt-stmt.o pic/pt-unop.o pic/op-b-b.o pic/op-b-bm.o pic/op-bm-b.o pic/op-bm- bm.o pic/op-cell.o pic/op-chm.o pic/op-class.o pic/op-list.o pic/op- range.o pic/op-str-m.o pic/op-str-s.o pic/op-str-str.o pic/op- struct.o pic/op-double-conv.o pic/op-cm-cm.o pic/op-cm-cs.o pic/op- cm-m.o pic/op-cm-s.o pic/op-cs-cm.o pic/op-cs-cs.o pic/op-cs-m.o pic/ op-cs-s.o pic/op-m-cm.o pic/op-m-cs.o pic/op-m-m.o pic/op-m-s.o pic/ op-s-cm.o pic/op-s-cs.o pic/op-s-m.o pic/op-s-s.o pic/op-float- conv.o pic/op-fcm-fcm.o pic/op-fcm-fcs.o pic/op-fcm-fm.o pic/op-fcm- fs.o pic/op-fcs-fcm.o pic/op-fcs-fcs.o pic/op-fcs-fm.o pic/op-fcs- fs.o pic/op-fm-fcm.o pic/op-fm-fcs.o pic/op-fm-fm.o pic/op-fm-fs.o pic/op-fs-fcm.o pic/op-fs-fcs.o pic/op-fs-fm.o pic/op-fs-fs.o pic/op- int-concat.o pic/op-int-conv.o pic/op-i8-i8.o pic/op-i16-i16.o pic/ op-i32-i32.o pic/op-i64-i64.o pic/op-ui8-ui8.o pic/op-ui16-ui16.o pic/op-ui32-ui32.o pic/op-ui64-ui64.o pic/op-bm-sbm.o pic/op-b-sbm.o pic/op-cm-scm.o pic/op-cm-sm.o pic/op-cs-scm.o pic/op-cs-sm.o pic/op- m-scm.o pic/op-m-sm.o pic/op-sbm-b.o pic/op-sbm-bm.o pic/op-sbm- sbm.o pic/op-scm-cm.o pic/op-scm-cs.o pic/op-scm-m.o pic/op-scm-s.o pic/op-scm-scm.o pic/op-scm-sm.o pic/op-sm-cm.o pic/op-sm-cs.o pic/ op-sm-m.o pic/op-sm-s.o pic/op-sm-scm.o pic/op-sm-sm.o pic/op-s- scm.o pic/op-s-sm.o pic/op-cdm-cdm.o pic/op-cdm-cm.o pic/op-cdm-cs.o pic/op-cdm-dm.o pic/op-cdm-m.o pic/op-cdm-s.o pic/op-cm-cdm.o pic/op- cm-dm.o pic/op-dm-cdm.o pic/op-dm-cm.o pic/op-dm-cs.o pic/op-dm-dm.o pic/op-dm-m.o pic/op-dm-s.o pic/op-m-cdm.o pic/op-m-dm.o pic/op-dm- sm.o pic/op-dm-scm.o pic/op-fcdm-fcdm.o pic/op-fcdm-fcm.o pic/op- fcdm-fcs.o pic/op-fcdm-fdm.o pic/op-fcdm-fm.o pic/op-fcdm-fs.o pic/ op-fcm-fcdm.o pic/op-fcm-fdm.o pic/op-fdm-fcdm.o pic/op-fdm-fcm.o pic/op-fdm-fcs.o pic/op-fdm-fdm.o pic/op-fdm-fm.o pic/op-fdm-fs.o pic/op-fm-fcdm.o pic/op-fm-fdm.o pic/op-cm-pm.o pic/op-fcm-pm.o pic/ op-fm-pm.o pic/op-pm-fcm.o pic/op-pm-fm.o pic/op-m-pm.o pic/op-pm- cm.o pic/op-pm-m.o pic/op-pm-pm.o pic/op-pm-sm.o pic/op-pm-scm.o pic/ Array-os.o pic/Array-tc.o pic/oct-errno.o pic/builtins.o pic/ ops.o ../libcruft/blas-xtra/pic/xerbla.o -L../liboctave -loctave - L../libcruft -lcruft -lfftw3 -lfftw3f -lhdf5 -lz -L/usr/X11/lib - lfontconfig -lftgl -L/sw/lib -lfreetype -lz -Wl,- framework,CoreServices -Wl,-framework,ApplicationServices -Wl,- framework -Wl,OpenGL -L/usr/X11/lib -lX11 -Wl,-framework -Wl,Carbon - lreadline -lm
Undefined symbols:
"__gfortran_st_write", referenced from:
    _xerbla_ in xerbla.o
"__gfortran_st_write_done", referenced from:
    _xerbla_ in xerbla.o
"__gfortran_transfer_character", referenced from:
    _xerbla_ in xerbla.o
"__gfortran_transfer_integer", referenced from:
    _xerbla_ in xerbla.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [liboctinterp.dylib] Error 1
make[1]: *** [src] Error 2
make: *** [all] Error 2
miys02-leblanpb2:octave leblanc$


Is there a reliable way to get things built? Do any of the developers work on OSX, or is there a procedure that SHOULD result in a successful build? How do I get to the current stable code (I'm assuming the HEAD is the "testing/devepment" code).

I apologize in advance for my ignorance,

~Joel

I have a modified version of this same script that uses the Fink GCC4, rather than that provided by Apple. I'm not sure if this will help, but here is my script for configuring:

# Apple's vecLib:
a='--with-lapack=-Wl,-framework,Accelerate,-dylib_file,/System/Library/ Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/ Versions/A/libLAPACK.dylib:/System/Library/Frameworks/ Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/ libLAPACK.dylib --with-blas=-Wl,-framework,Accelerate,-dylib_file,/ System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/ vecLib.framework/Versions/A/libBLAS.dylib:/System/Library/Frameworks/ Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/ libBLAS.dylib'

# Similar to Fink's configure
./configure --prefix=/sw/opt/octave/hg20090520 FLIBS=/sw/lib/gcc4.3/ lib/libgfort ran.dylib F77=/sw/bin/gfortran --infodir='${prefix}/share/info' -- mandir='${pref ix}/share/man' --libexecdir='${prefix}/lib' -enable-shared -enable-dl --disable- static --without-mpi --with-hdf5 --with-fftw CPPFLAGS="-I/sw/include - FOpenGL -I /sw/opt/octavegl/include -I/sw/include/freetype2" FFLAGS="-ff2c" LDFLAGS="-dylib _file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/ libGL.dyl ib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/ libGL.dylib -L/sw/lib/fltk-aqua/lib -L/sw/lib -lfltk_gl -framework AGL -framework OpenGL -lf
ltk -lpthread -framework Carbon -framework ApplicationServices " $a


Hope this might help. I haven't tried building Octave for OSX in several months, but it did work on a repository version as recent as 2009_05_20.

John Swensen



reply via email to

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