From bug-request at octave dot org Tue Aug 31 02:09:19 2004 Subject: Re: Compile problem with new compiler on Mac OSX From: Per Persson To: "John W. Eaton" Cc: bug at octave dot org, costabel@wanadoo.fr Date: Tue, 31 Aug 2004 09:09:11 +0200 On Tuesday, August 31, 2004, at 07:54 AM, John W. Eaton wrote: > On 21-Aug-2004, Martin Costabel wrote: > > | octave-2.1.57 used to compile OK on Mac OSX 10.3 with the compiler > | gcc version 3.3 20030304 (Apple Computer, Inc. build 1495) > | > | After the last update Xcode-1.5 of Apple's developer tools, the > compiler is > | gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) > | Apple's release note say that this is a "minor bug fixing release". > | > | Compiling octave-2.1.57 now breaks in the final linking of > | liboctave.dylib with > | [snip] > Are there *any* symbols in the copy of Array-d.o that was compiled > with the newer compiler? > > For the other types that don't seem to have the problem, what is the > class of symbol for these functions (make_unique, resize_no_fill, > etc.)? > > jwe Hi, I haven't had any time to look into this, but I suspect that it has to do with template instantiation (again...). According to an Apple engineer posting to darwin-development at lists dot apple dot com: > From: Wiley Hodges < wiley at apple dot com > > Date: Thu, 26 Aug 2004 15:15:23 -0700 > As there has been some recent traffic concerning problems compiling > fink and some other C++ code using the gcc 3.3 that shipped with Xcode > 1.5, I thought it would be a good idea to update this list and let > everyone know that the compiler team is well aware of the problem and > is working on testing changes that will eliminate the issue. > > The basic characterization of the situation is that with gcc a > function is not output if: > > 1. The template function is implicitly instantiated, then explicitly > instantiated; and > 2. That template function is not actually used anywhere in the file > (the implicit instantiation caused no code to be generated). > > In some cases the affected code is technically incorrect, but it can > affect well-formed C++ programs. To the best of our knowledge, this > problem only affects the version of gcc 3.3 delivered with Xcode Tools > 1.5 (gcc-1666). > > We appreciate the feedback through bug reporter and other channels, > and will let you know when a new version of gcc is available that > corrects this issue. An update has now been released, and I'll try to compile octave tonight and post my findings here (I'm short of time, and wouldn't mind if anyone beat me to it). /Per -------- Per Persson, Ph.D. Applied Signal Processing Resume, contact info and more: http://homepage.mac.com/persquare ------------------------------------------------------------- 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 -------------------------------------------------------------