octave-maintainers
[Top][All Lists]
Advanced

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

Understanding the Octave build process: a small change to one DLD-FUNCTI


From: John Swensen
Subject: Understanding the Octave build process: a small change to one DLD-FUNCTION source caused massive relinking
Date: Thu, 23 Sep 2010 13:04:32 -0400

I don't understand the whole octave build process (and I would bet there are 
only a handful or two of people who actually do).  I do, however, run the build 
process frequently and sometimes notice things that seem odd.  For example, I 
have been hacking on the __magick_read__.cc file in the DLD-FUNCTIONS 
direectory and have noticed that the build process seems to be re-linking every 
single DLD-FUNCTION regardless of whether the underlying sources were edited.  
For example, I only edited __magick_read__.cc, but when I run 'make' I get 
output similar to what is listed at the end of this message for each file in 
DLD-FUNCTIONS.

Any thoughts on why this is happening, whether it is unique to my machine (OSX 
10.6 with MacPort to satisfy dependencies), and if it is a fundamental 
limitation in how the build system is set up?  I wouldn't make a fuss about it, 
but even on a relatively new MacBook Pro any little change to 
__magick_read__.cc takes ~3 minutes to compile.

John Swensen

==== BEGIN MAKE OUTPUT SNIPPET ====
libtool: link: rm -fr  DLD-FUNCTIONS/.libs/symrcm.0.so 
DLD-FUNCTIONS/.libs/symrcm.a DLD-FUNCTIONS/.libs/symrcm.la 
DLD-FUNCTIONS/.libs/symrcm.lai DLD-FUNCTIONS/.libs/symrcm.so
libtool: link: (cd DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a && ar x 
"/Users/jpswensen/src/octave/src/../libgnu/.libs/libgnu.a")
libtool: link: g++-mp-4.4 -Wl,-undefined -Wl,dynamic_lookup -o 
DLD-FUNCTIONS/.libs/symrcm.0.so -bundle  
DLD-FUNCTIONS/.libs/DLD_FUNCTIONS_symrcm_la-symrcm.o   
-Wl,-force_load,../libcruft/.libs/libranlib.a 
-Wl,-force_load,../libgnu/.libs/libgnu.a  -L/opt/local-native/lib 
./.libs/liboctinterp.dylib 
-L/opt/local-native/lib/gcc44/gcc/x86_64-apple-darwin10/4.4.4 
-L/opt/local-native/lib/gcc44/gcc/x86_64-apple-darwin10/4.4.4/../../.. 
/Users/jpswensen/src/octave/liboctave/.libs/liboctave.dylib 
/opt/local-native/lib/libhdf5.dylib /opt/local-native/lib/libsz.dylib 
/opt/local-native/lib/libfontconfig.dylib /opt/local-native/lib/libexpat.dylib 
/opt/local-native/lib/libfreetype.dylib -lz 
/opt/local-native/lib/libiconv.dylib /opt/local-native/lib/libX11.dylib 
/opt/local-native/lib/libxcb.dylib /opt/local-native/lib/libXau.dylib 
/opt/local-native/lib/libXdmcp.dylib ../liboctave/.libs/liboctave.dylib 
/Users/jpswensen/src/octave/libcruft/.libs/libcruft.dylib -larpack -lqrupdate 
/opt/local-native/lib/libfftw3.dylib /opt/local-native/lib/libfftw3f.dylib 
-lreadline -lncurses /opt/local-native/lib/libpcre.dylib -ldl 
../libcruft/.libs/libcruft.dylib -llapack -lcblas -lf77blas -latlas 
/opt/local-native/lib/gcc44/libgfortran.dylib -lcholmod -lumfpack -lamd -lcamd 
-lcolamd -lccolamd -lcxsparse -lm  -m64 -m64 -pthread -m64 -Wl,-dylib_file 
-Wl,/opt/octave/hg20100919/lib/octave-3.3.52+/liboctave-3.3.52+.dylib:/Users/jpswensen/src/octave/liboctave/.libs/liboctave.dylib
 -Wl,-dylib_file 
-Wl,/opt/octave/hg20100919/lib/octave-3.3.52+/libcruft-3.3.52+.dylib:/Users/jpswensen/src/octave/libcruft/.libs/libcruft.dylib
 -Wl,-dylib_file 
-Wl,/opt/octave/hg20100919/lib/octave-3.3.52+/libcruft-3.3.52+.dylib:/Users/jpswensen/src/octave/libcruft/.libs/libcruft.dylib
 -Wl,-dylib_file 
-Wl,/opt/octave/hg20100919/lib/octave-3.3.52+/libcruft-3.3.52+.dylib:/Users/jpswensen/src/octave/libcruft/.libs/libcruft.dylib
   -pthread
libtool: link: warning: 
`/opt/local-native/lib/gcc44/gcc/x86_64-apple-darwin10/4.4.4/../../../libgfortran.la'
 seems to be moved
libtool: link: ar cru DLD-FUNCTIONS/.libs/symbfact.a  
DLD-FUNCTIONS/DLD_FUNCTIONS_symbfact_la-symbfact.o  
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/advnst.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/genbet.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/genchi.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/genexp.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/genf.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/gengam.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/genmn.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/genmul.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/gennch.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/gennf.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/gennor.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/genprm.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/genunf.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/getcgn.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/getsd.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/ignbin.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/ignlgi.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/ignnbn.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/ignpoi.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/ignuin.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/initgn.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/inrgcm.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/lennob.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/mltmod.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/phrtsd.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/qrgnin.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/ranf.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/setall.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/setant.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/setgmn.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/setsd.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/sexpo.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/sgamma.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/snorm.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libranlib.a/wrap.o  
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/asnprintf.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/basename-lgpl.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/c-ctype.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/c-strcasecmp.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/c-strncasecmp.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/canonicalize-lgpl.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/chdir-long.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/chown.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/cloexec.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/close-hook.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/dirname-lgpl.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/dup-safer.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/error.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/exitfail.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/fchmodat.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/fchownat.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/fcntl.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/fd-safer.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/fdopendir.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/fstatat.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/getcwd.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/getopt.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/getopt1.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/glob.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/lchown.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/link.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/localcharset.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/lstat.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/malloca.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/md5.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/mempcpy.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/memrchr.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/mkdirat.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/mkfifo.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/mktime.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/nanosleep.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/open.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/openat-die.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/openat-proc.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/openat.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/pipe-safer.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/printf-args.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/printf-parse.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/progname.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/readlink.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/rename.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/save-cwd.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/sockets.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/stat.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/strftime.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/stripslash.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/strnlen1.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/symlink.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/unlink.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/unlinkat.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/vasnprintf.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/xalloc-die.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/xgetcwd.o 
DLD-FUNCTIONS/.libs/symbfact.lax/libgnu.a/xmalloc.o 


reply via email to

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