Compilation problem MSVC with recent 'sort' implementation
Shai Ayal
shaiay at gmail.com
Sun Feb 3 05:54:31 CST 2008
On Feb 3, 2008 10:23 AM, Michael Goffioul <michael.goffioul at gmail.com> wrote:
> Hi,
>
> I can't compile Array-d.cc anymore with MSVC due to the recent
> changes in sort implementation. The error is that
> Array<T> Array<T>::sort(octave_idx_type, sortmode) gets
> instantiated with T=double before the actual specialization in
> Array-d.cc: line 220. I tracked down this instantiation to
> the appearance of Marray2<double> before the explicit
> specialization. The sequence of inclusion is:
>
> Array-d.cc -> Array.cc -> Range.h -> dMatrix.h -> Marray2<double>.
>
I also have an linking error related to sort implementation using gcc
4.1.2 20070626 (Red Hat 4.1.2-13) on a fedora core 6 machine:
g++ -I. -I.. -I../liboctave -I../src -I../libcruft/misc
-DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -Wold-style-cast -g -O2
-rdynamic \
-L.. -fPIC -o octave \
main.o \
-L../liboctave -L../libcruft -L../src -Wl,-rpath
-Wl,/usr/local/lib/octave-3.0.0+ \
-loctinterp -loctave -lcruft \
-lumfpack -lamd -lcamd -lcolamd \
-lcholmod -lccolamd -lcxsparse -llapack -lblas \
-lfftw3 -lreadline -lncurses -ldl -lhdf5 -lz -lm
-L/usr/lib/gcc/i386-redhat-linux/4.1.2
-L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.. -lhdf5 -lz
-lgfortranbegin -lgfortran -lm -lgcc_s
../liboctave/liboctave.so: undefined reference to
`octave_sort<vec_index<long long>*>::octave_sort()'
../liboctave/liboctave.so: undefined reference to `octave_sort<long
long>::octave_sort()'
../liboctave/liboctave.so: undefined reference to
`octave_sort<vec_index<long long>*>::merge_freemem()'
../liboctave/liboctave.so: undefined reference to `octave_sort<long
long>::sort(long long*, int)'
../liboctave/liboctave.so: undefined reference to `octave_sort<long
long>::merge_freemem()'
../liboctave/liboctave.so: undefined reference to
`octave_sort<vec_index<long long>*>::sort(vec_index<long long>**,
int)'
collect2: ld returned 1 exit status
More information about the Octave-maintainers
mailing list