profiling Octave

John W. Eaton jwe at octave.org
Fri Feb 6 10:04:15 CST 2009


On  6-Feb-2009, Jaroslav Hajek wrote:

| I'm feeling a bit ignorant, but could you please share some knowledge?
| I've configured with
| ./configure --enable-static --without-cholmod CFLAGS="-O2 -static -pg"
| CXXFLAGS="-O2 -static -pg" LDFLAGS="-static -pg" ; make -j2
| 
| (cholmod was cusing problems) but ended up at the final linking stage
| with a number of complaints for unresolved symbols from system runtime
| libs (g++, gfortran, x11). Do I need to install static versions of
| those? Or is there a way to overcome this?

I was able to get a complete build with

  --disable-shared --disable-dl --enable-static
  F77=gfortran  FFLAGS="-O2 -pg"
  CXXFLAGS="-O2 -pg"
  CFLAGS="-O2 -pg"
  LDFLAGS="-pg"

I also needed to make these changes:

diff --git a/run-octave.in b/run-octave.in
--- a/run-octave.in
+++ b/run-octave.in
@@ -67,7 +67,7 @@
 fi
 
 OCTAVE_SITE_INITFILE="$top_srcdir/scripts/startup/main-rcfile" \
-LD_PRELOAD="$liboctinterp $liboctave $libcruft" \
+#LD_PRELOAD="$liboctinterp $liboctave $libcruft" \
 %library_path_var%="$builddir/src:$builddir/liboctave:$builddir/libcruft:$%library_path_var%" \
   exec $driver "$builddir/src/octave" --no-initial-path --path="$LOADPATH" --image-path="$IMAGEPATH" --info-file="$INFOFILE" "$@"
 
diff --git a/src/Makefile.in b/src/Makefile.in
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -373,7 +373,8 @@
 	$(OCTAVE_LIBS) \
 	$(LEXLIB) $(UMFPACK_LIBS) $(AMD_LIBS) $(CAMD_LIBS) $(COLAMD_LIBS) \
 	$(CHOLMOD_LIBS) $(CCOLAMD_LIBS) $(CXSPARSE_LIBS) $(BLAS_LIBS) \
-	$(FFTW_LIBS) $(QRUPDATE_LIBS) $(ARPACK_LIBS) $(OPENGL_LIBS) \
+	$(FFTW_LIBS) $(QRUPDATE_LIBS) $(ARPACK_LIBS) $(CURL_LIBS) \
+	$(GRAPHICS_LIBS) $(FT2_LIBS) $(OPENGL_LIBS) \
 	$(X11_LIBS) $(LIBS) $(FLIBS)
 
 stmp-pic: pic

On startup, Octave complains about missing .oct files (not surprising,
they aren't built with the above configuration):

  warning: autoload: `besselj.oct' is not an absolute file name
  ...

I guess it's been a while since I (or maybe anyone else) has tried to
build a completely static version of Octave.  Maybe we should fix the
build process so that it works again.

Simply starting this copy of Octave and exiting generates an 8.6MB
gmon.out file on my system.

jwe


More information about the Help-octave mailing list