octave-maintainers
[Top][All Lists]
Advanced

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

Re: Compilation problem MSVC with recent 'sort' implementation


From: Shai Ayal
Subject: Re: Compilation problem MSVC with recent 'sort' implementation
Date: Sun, 3 Feb 2008 13:54:31 +0200

On Feb 3, 2008 10:23 AM, Michael Goffioul <address@hidden> 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


reply via email to

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