Configuring the latest default hg on OSX
Ben Abbott
bpabbott at mac.com
Sun Jun 29 18:02:16 CDT 2008
On Jun 29, 2008, at 1:50 PM, Shai Ayal wrote:
> On Sun, Jun 29, 2008 at 8:17 PM, Ben Abbott <bpabbott at mac.com> wrote:
>>
>> On Jun 29, 2008, at 3:38 AM, Jaroslav Hajek wrote:
>>
>>> On Sun, Jun 29, 2008 at 2:50 AM, Ben Abbott <bpabbott at mac.com>
>>> wrote:
>>>>
>>>> Today I tried to configure the latest sources with the intent of
>>>> using
>>>> the
>>>> Fink package manager on OSX. I'm concerned about the OpenGL part
>>>> (as I
>>>> have
>>>> no experience with it).
>>>>
>>>> I'd appreciate any comments respecting "the good, the bad, and
>>>> the ugly"
>>>> with regards the results of the configure process below.
>>>>
>>>> Octave is now configured for i386-apple-darwin9.3.0
>>>>
>>>> Source directory: .
>>>> Installation prefix: /sw
>>>> C compiler: gcc -mieee-fp -Wall -W -Wshadow -O3
>>>> -I/usr/X11R6/include
>>>> C++ compiler: g++ -mieee-fp -Wall -W -Wshadow -Wold-
>>>> style-cast
>>>> -g
>>>> -O3
>>>> Fortran compiler: /sw/bin/gfortran -fbounds-check -ff2c -g -O3
>>>> -mieee-fp
>>>> Fortran libraries: /sw/lib/gcc4.3/lib/libgfortran.dylib
>>>> BLAS libraries:
>>>>
>>>> -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
>>>> FFTW libraries: -lfftw3 -lfftw3f
>>>> GLPK libraries: -lglpk
>>>> UMFPACK libraries: -lumfpack
>>>> AMD libraries: -lamd
>>>> CAMD libraries: -lcamd
>>>> COLAMD libraries: -lcolamd
>>>> CCOLAMD libraries: -lccolamd
>>>> CHOLMOD libraries: -lcholmod
>>>> CXSPARSE libraries: -lcxsparse
>>>> HDF5 libraries: -lhdf5
>>>> CURL libraries: -lcurl
>>>> REGEX libraries: -L/sw/lib -lpcre
>>>> QHULL libraries: -lqhull
>>>> LIBS: -lreadline -lncurses
>>>>
>>>> -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
>>>> -lhdf5 -lz -lm
>>>> Default pager: less
>>>> gnuplot: gnuplot
>>>> OPENGL libraries:
>>>> fltk backend libs: -L/sw/lib/fltk-aqua/lib -L/sw/lib -lfltk_gl
>>>> -framework AGL -framework OpenGL -lfltk -lpthread -framework Carbon
>>>> -framework ApplicationServices
>>>>
>>>> Do internal array bounds checking: false
>>>> Build static libraries: false
>>>> Build shared libraries: true
>>>> Dynamic Linking: true (dyld)
>>>> Include support for GNU readline: true
>>>> 64-bit array dims and indexing: false
>>>>
>>>> configure: WARNING: A BLAS library was detected but found
>>>> incompatible
>>>> with
>>>> your Fortran 77 compiler. The reference BLAS implementation will
>>>> be
>>>> used.
>>>> To improve performance, consider using a different Fortran
>>>> compiler or a
>>>> switch like -ff2c to make your Fortran compiler use a calling
>>>> convention
>>>> compatible with the way your BLAS library was compiled, or use a
>>>> different
>>>> BLAS library.
>>>> configure:
>>>>
>>>> Ben
>>>>
>>>
>>> I can't help much with the GL libraries (and I don't see what your
>>> problem is, or if there is any), but your report reveals a bug in
>>> the
>>> acx_lapack script: In case of missing or invalid BLAS (like in your
>>> case), the check for LAPACK should be skipped entirely, and
>>> LAPACK_LIBS should probably be nullified. I'll submit a patch for
>>> the
>>> autoconf archive. By the way, does the warning about invalid BLAS
>>> occur even if you omit the -ff2c option? If no, then you'll probably
>>> want to turn it off.
>>>
>>> If yes, then that's really weird (as it implies that the BLAS lib is
>>> compatible with neither gfortran nor g77). I'd consider it a bug
>>> if a
>>> system-provided library is incompatible with the default compiler.
>>> Or
>>> is g77 the default? Perhaps this is a bug in OSX?
>>
>> I tried using Carlo's configure options
>>
>> http://www.nabble.com/Re%3A-Latest-from-hg-on-OSX-
>> p17932976.html
>>
>> I modified his prefix to reflect Finks. Specificlally
>>
>> ./configure LDFLAGS="-L/sw/lib -framework OpenGL" CPPFLAGS="-I/sw/
>> include
>> -FOpenGL" F77=gfortran FFLAGS="-ff2c" --prefix=/sw
>>
>> As before, the summary form configure came up empty for the OpenGL
>> Library.
>> However, in this instance the BLAS Library also came up empty and
>> was
>> accompanied by the same warning (respecting BLAS) at the end of the
>> configure process. That the BLAS Library came up empty it to be
>> expected (I
>> think) since the no configure options pointed to a BLAS Library
>> (correct?).
>>
>> Regarding the back end ...
>>
>> gnuplot: gnuplot
>> OPENGL libraries:
>> fltk backend libs: -L/sw/lib -L/usr/X11R6/lib -framework OpenGL
>> -dylib_file
>> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/
>> libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/
>> Libraries/libGL.dylib
>> -lfltk_gl -lGLU -lGL -lfltk -lXft -lpthread -lXext -lX11
>>
>> As Jaroslav suggested I also tried removing the "-ff2c" option.
>> However, the
>> BLAS warning remains.
>>
>> Regarding BLAS, I'm using gfortran 4.3, but Apple's vecLib is built
>> with gcc
>> 4.0. This resulted in some problems in the past. If I recall
>> correctly the
>> manner in which values of complex functions returned their values
>> changed in
>> gfortran 4.1 (?).
>>
>> Using Fink's ATLAS (which depends upon gcc 4.3), instead of
>> Apple's vecLib,
>> the configure process does find the intended BLAS ...
>>
>> Fortran libraries: /sw/lib/gcc4.3/lib/libgfortran.dylib
>> BLAS libraries: /sw/lib/liblapack.dylib
>>
>> ... but still issues the same warning as before :-(
>>
>> My original question was with regards to the OpenGL/backend part.
>> After
>> mergine Carlo's and Fink's configure options, I get
>>
>> gnuplot: gnuplot
>> OPENGL libraries:
>> fltk backend libs: -L/sw/lib -L/usr/X11R6/lib -framework OpenGL
>> -dylib_file
>> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/
>> libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/
>> Libraries/libGL.dylib
>> -lfltk_gl -lGLU -lGL -lfltk -lXft -lpthread -lXext -lX11
>>
>> It appears to me that there is a problem with OpenGL. Can some one
>> confirm?
>> Am I missing a configure option specific to OpenGL? Below are the
>> options I
>> used without the BLAS part.
>>
>> ./configure --prefix=/sw FLIBS=/sw/lib/gcc4.3/lib/libgfortran.dylib
>> F77=/sw/bin/gfortran --infodir='${prefix}/share/info'
>> --mandir='${prefix}/share/man' --libexecdir='${prefix}/lib' -enable-
>> shared
>> -enable-dl --disable-static --without-mpi --with-hdf5 --with-fftw
>> LDFLAGS="-L/sw/lib -framework OpenGL" CPPFLAGS="-I/sw/include -
>> FOpenGL"
>> FFLAGS="-ff2c"
>
> To see if your GL config will work, you can try to compile the fltk
> test programs. They are available for download from the fltk site as
> part of the fltk distro. Maybe they are already installed in you
> computer?
> also, see what the fltk-config program says it needs:
> fltk-config --use-gl --ldflags
>
> Shai
If I've inferred what you suggested I do ...
$ fltk-config
Usage: fltk-config [OPTIONS]
Options:
[--version]
[--api-version]
Options telling what we are doing:
[--use-gl] use GL
[--use-images] use extra image formats (PNG, JPEG)
[--use-glut] use glut compatibility layer
[--use-forms] use forms compatibility layer
Options telling what information we request:
[--cc] return C compiler used to compile FLTK
[--cxx] return C++ compiler used to compile FLTK
[--cflags] return flags to compile C using FLTK
[--cxxflags] return flags to compile C++ using FLTK
[--ldflags] return flags to link against FLTK
[--ldstaticflags] return flags to link against static FLTK library
even if there are DSOs
installed
[--libs] return FLTK libraries full path for dependencies
Option to compile and link an application:
[-g] compile the program with debugging information
[--compile program.cxx]
[--post program]
$ fltk-config --use-gl --ldflags
-L/sw/lib/fltk-aqua/lib -L/sw/lib -lfltk_gl -framework AGL -framework
OpenGL -lfltk -lpthread -framework Carbon -framework ApplicationServices
Do I infer correctly that the above should be added to LDFLAGS when
configuring Octave? ... I have tried that, but did not detect any
change. Meaning that the "OPENGL libraries:" line remains empty.
Unfortunately, Fink's build process specifically excludes the test
programs, and although, I have downloaded the distribution matching
Fink's (v1.1.7), I'm not able to successfully build it. However,
v1.1.9 builds fine.
It would appear my best option is to see what can be done to update
Fink's fltk package, and possibly include the test programs.
Ben
More information about the Octave-maintainers
mailing list