Thanks for your report. For some time, we have been working on a new IT++ relase based on Autoconf/Automake tools. Could you please tell us more what OS do you use and what compiler version do you have? Have you tried to modify compiler/linker flags for your x86_64 architecture? What flags have you used?
Thanks for your help in advance.
/ediap
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It seems to be a bug. Could you please remove the #define _x86_64' line you have added by hand and replace all_x86_64' instances with x86_64' (without leading underscore), in this file. And then check if it detects the endianity (compiles without errors).
You can also tryx86_64' (double leading and ending underscores) instead of `x86_64'.
I would be very glad, if you can report both behaviour. You might reopen bug-report no. 1094934 for this purpose. Thanks for your help!
/ediap
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for your help in bugfixing this issue. I will fix this in the CVS three and close the releated bug report, as soon as cvs.sourceforge.net will be back available (Connection refused for some time).
/ediap
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi guys,
Greetings, I am a new user of it++.
I would like to share with you that I can install it++ in athlon64. just try to force it as x86_64 installation and one may get through it.
Carson
Hi Carson,
Thanks for your report. For some time, we have been working on a new IT++ relase based on Autoconf/Automake tools. Could you please tell us more what OS do you use and what compiler version do you have? Have you tried to modify compiler/linker flags for your x86_64 architecture? What flags have you used?
Thanks for your help in advance.
/ediap
Hi Adam,
My Athlon64, 3200+, linux box config is:
>>uname -a
Linux localhost.localdomain 2.6.11-1.27_FC3 #1 Tue May 17 20:24:57 EDT 2005 x86_64 x86_64 x86_64 GNU/Linu
compiler is:
>>gcc -v
Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)
Installation:
1. No mod. on installing it++external.
2. >>./configure
3. >>make
Entering directory
/tmp/it++3.8.1/src' g++ -Wall -pipe -D__unix -DHAVE_CBLAS -DHAVE_LAPACK -DHAVE_FFTW -O3 -DNDEBUG -DASSERT_LEVEL=1 -I../include -c base/itassert.cpp -o base/itassert.o g++ -Wall -pipe -D__unix -DHAVE_CBLAS -DHAVE_LAPACK -DHAVE_FFTW -O3 -DNDEBUG -DASSERT_LEVEL=1 -I../include -c base/timing.cpp -o base/timing.o g++ -Wall -pipe -D__unix -DHAVE_CBLAS -DHAVE_LAPACK -DHAVE_FFTW -O3 -DNDEBUG -DASSERT_LEVEL=1 -I../include -c base/binfile.cpp -o base/binfile.o In file included from base/binfile.cpp:25: ../include/base/machdep.h:184:2: #error "Could not determine endianity!!!" base/binfile.cpp: In constructoritpp::bfstream_base::bfstream_base(itpp::bfstream_base::endian)':base/binfile.cpp:48: error: call of overloaded
big_endian(short int)' is ambiguous ../include/base/machdep.h:65: note: candidates are: itpp::it_s8 itpp::big_endian(itpp::it_s8) ../include/base/machdep.h:66: note: itpp::it_u8 itpp::big_endian(itpp::it_u8) make[1]: *** [base/binfile.o] Error 1 make[1]: Leaving directory/tmp/it++3.8.1/src'make: *** [suball] Error 2
4. insert #define _x86_64 in the first line of ./include/base/machdep.h
5. make
That's it. (Step #3 is to show where the error is without the mod on my machine..., sorry i didn't make a good mod.)
Btw, i can also run my test cases too. very cool . I like it++. really appreciate you guys efforts.
Thanks,
Carson
According to what is in your report, `_x86_64' is not defined on Athlon64 platform. So tests like the one below fails (machdep.h, lines: 74-78):
if defined(sparc)
define LITTLE_ENDIAN
elif defined(i386) || defined(_M_IX86) || defined(_x86_64) || defined(alpha) || defined(vms)
define BIG_ENDIAN
endif
It seems to be a bug. Could you please remove the
#define _x86_64' line you have added by hand and replace all_x86_64' instances withx86_64' (without leading underscore), in this file. And then check if it detects the endianity (compiles without errors). You can also tryx86_64' (double leading and ending underscores) instead of `x86_64'.I would be very glad, if you can report both behaviour. You might reopen bug-report no. 1094934 for this purpose. Thanks for your help!
/ediap
Hi,
Sorry to get back to you so later, busy to reconfigure my amd box recently.
#1. Fix 1, _x86_64 -> _x86_64 (fixed fails), when i type make, it pops out
make[1]: Entering directory
/tmp/it++3.8.1/src' g++ -Wall -pipe -D__unix -DHAVE_CBLAS -DHAVE_LAPACK -DHAVE_FFTW -O3 -DNDEBUG -DASSERT_LEVEL=1 -I../include -c base/binfile.cpp -o base/binfile.o In file included from base/binfile.cpp:25: ../include/base/machdep.h:184:2: #error "Could not determine endianity!!!" base/binfile.cpp: In constructoritpp::bfstream_base::bfstream_base(itpp::bfstream_base::endian)':base/binfile.cpp:48: error: call of overloaded
big_endian(short int)' is ambiguous ../include/base/machdep.h:65: note: candidates are: itpp::it_s8 itpp::big_endian(itpp::it_s8) ../include/base/machdep.h:66: note: itpp::it_u8 itpp::big_endian(itpp::it_u8) make[1]: *** [base/binfile.o] Error 1 make[1]: Leaving directory/tmp/it++3.8.1/src'make: *** [suball] Error 2
#2. Fix 2. _x86_64 -> x86_64
Fix everything!!!! btw, my linux box is running smoothly. So I will be much more on itpp these days.
Carson
Hi Carson!
Thanks for your help in bugfixing this issue. I will fix this in the CVS three and close the releated bug report, as soon as cvs.sourceforge.net will be back available (Connection refused for some time).
/ediap