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 22:13:53 +0200

On Feb 3, 2008 9:29 PM, John W. Eaton <address@hidden> wrote:
>
> On  3-Feb-2008, Shai Ayal wrote:
>
> | This patch doesn't solve my problem. I still get the same link time
> | error. I did a fresh cvs checkout followed by autogen.sh and configure
> | and still th same problem. Am I the only one?
> |
> | The error I get:
> | 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
> | make[2]: *** [octave] Error 1
> | make[2]: Leaving directory `/home/shaia/Download/octave-cvs/octave/src'
> | make[1]: *** [src] Error 2
> | make[1]: Leaving directory `/home/shaia/Download/octave-cvs/octave'
> | make: *** [all] Error 2
>
> I don't see this problem, but I'm usually using a 64-bit system where
> long is 64-bits wide, so I don't think I need long long ints.  The
> following is just a guess, but does it fix the problem?
>
> jwe
>
>
>
> 2008-02-03  John W. Eaton  <address@hidden>
>
>         * Array-i.cc: Also instantiate Arrays for long long type if it exists.
>
>
> Index: liboctave/Array-i.cc
> ===================================================================
> RCS file: /cvs/octave/liboctave/Array-i.cc,v
> retrieving revision 1.24
> diff -u -u -r1.24 Array-i.cc
> --- liboctave/Array-i.cc        31 Jan 2008 18:59:09 -0000      1.24
> +++ liboctave/Array-i.cc        3 Feb 2008 19:26:54 -0000
> @@ -35,9 +35,15 @@
>
>  INSTANTIATE_ARRAY_SORT (int);
>  INSTANTIATE_ARRAY_SORT (long);
> +#if defined (HAVE_LONG_LONG_INT)
> +INSTANTIATE_ARRAY_SORT (long long);
> +#endif
>
>  INSTANTIATE_ARRAY_AND_ASSIGN (int, OCTAVE_API);
>  INSTANTIATE_ARRAY_AND_ASSIGN (long, OCTAVE_API);
> +#if defined (HAVE_LONG_LONG_INT)
> +INSTANTIATE_ARRAY_AND_ASSIGN (long long, OCTAVE_API);
> +#endif
>
>  INSTANTIATE_ARRAY_ASSIGN (int, short, OCTAVE_API);
>  INSTANTIATE_ARRAY_ASSIGN (int, char, OCTAVE_API);
>
>

That helped. It compiles fine now

Thanks
Shai


reply via email to

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