From help-octave-request at bevo dot che dot wisc dot edu Mon Jul 16 06:22:20 2001 Subject: MacOS X port, some progress, need help! From: Per Persson To: help-octave at bevo dot che dot wisc dot edu Date: Mon, 16 Jul 2001 13:20:42 +0200 Hi, my previous attempts to compile octave for MacOS X have failed due to a number of undefined symbols. (See e.g. http://www.octave.org/mailing-lists/help-octave/2001/630 and http://www.octave.org/mailing-lists/help-octave/2001/623 ) I finally got some time to spend on this and I ripped out all of the 'static T foo;' parts from functions in Array.cc et al and made it a private member of the class. All instantiation code then went into a source file ArrayInst.cc that was compiled separately and linked into octave as the very last object (by adding -lArrayInst.o after the libs in the makefile). The point here is to make sure that every instance is initialized _exactly once_ in the code. This actually works! Well, for some part at least... some (most) of the undefinded symbols went away. A log can be found on: http://homepage.mac.com/persquare/octave_log.html and the file ArrayInst.cc on: http://homepage.mac.com/persquare/ArrayInst.cc I'm pretty sure that this is the way to go but I can't get any further - all this is making my brain hurt! So maybe someone who is fluent in the use of C++ and templates can help out? (I used octave 2.1.34 sources, gcc 2.95.2 and f2c) /Per ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------