[Go to BBS]
All articles in a thread
SubjectSAD compilation error on SUSE11 x86_64
Article No889
Date: 2011/03/02(Wed) 23:31:07
Contributorduanz < >
I'm attempting to compile the latest main trunk on a 4-core 4GB memory SUSE11 x86_64 machine, when at the final stage of the compling meet with the following error. I wonder if I need to pass some extra options related to 64-bit in the sad.conf file, and how to configure a parrallel SAD to make full use of the multi-core capacity?

(cd /home/duanz/oldsad/Documents/example ;
/home/duanz/oldsad/bin/gs /home/duanz/oldsad/script/design_example.sad > /home/duanz/oldsad/script/design_example.sad.result ; rm -f a fort.9)
decloc: out of range 4d8248 4d824e
mkdir -p /home/duanz/oldsad/Documents/example
/home/duanz/oldsad/bin/gs /home/duanz/oldsad/script/help2HTML.sad
*** Welcome to SAD Ver.1.0.10.4.8a built at 2011-03-02 21:46:07 +0800 ***
*** Today: 21:46:08 Wednesday 03/02/2011 ***
decloc: out of range 4d8248 4d824e
make[2]: *** [/home/duanz/oldsad/Documents/SADHelp.html] Error 1
make[2]: Leaving directory `/home/duanz/oldsad/obj/AMD64-Linux2'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/duanz/oldsad'
make: *** [all] Error 2


My sad.conf is as followed:
COMPILER=GNU
USE_GCC=4.3
CC=gcc -m64
FC=gfortran -m64
CXX=g++ -m64
SYS_COPT= -Wall -std="gnu99"

Thank you!

SubjectRe: SAD compilation error on SUSE11 x86_64
Article No890
Date: 2011/03/03(Thu) 17:19:16
ContributorAkio Morita
Adjust function entry point to octet-alignment
(eg. -falign-functions=8)

SubjectRe^2: SAD compilation error on SUSE11 x86_64
Article No891
Date: 2011/03/05(Sat) 01:47:02
Contributorduanz < >
I tried to add FOPT+=-falign-functions=8 to the sad.conf, however, a new error came out as below.
It appears that mapalloc4 does not allow for an octet-alignment. Is there any workaround for this problem?

(cd /home/duanz/oldsad/Documents/example ; \
/home/duanz/oldsad/bin/gs /home/duanz/oldsad/script/design_example.sad > /home/duanz/oldsad/script/design_example.sad.result ; rm -f a fort.9)
mapalloc4: allocated chunk offset is out of range!
base=0x128af0 map=0x7fa8a06d7000 unit=8 offset=0xff5140b5ca4
mkdir -p /home/duanz/oldsad/Documents/example
/home/duanz/oldsad/bin/gs /home/duanz/oldsad/script/help2HTML.sad
*** Welcome to SAD Ver.1.0.10.4.8a built at 2011-03-05 00:32:18 +0800 ***
*** Today: 00:32:19 Saturday 03/05/2011 ***
cpu time= 0.000 (sec) dt= 000.000(msec) free area:: 1794
OFF LOG ECHO;READ 77 ; 23
cpu time= 0.000 (sec) dt= 000.000(msec) free area:: 1794
cpu time= 0.000 (sec) dt= 000.000(msec) free area:: 1793
mapalloc4: allocated chunk offset is out of range!
base=0x128af0 map=0x7f1a24e16000 unit=8 offset=0xfe34499daa4
make[2]: *** [/home/duanz/oldsad/Documents/SADHelp.html] Error 1
make[2]: Leaving directory `/home/duanz/oldsad/obj/AMD64-Linux2'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/duanz/oldsad'
make: *** [all] Error 2


Thanks a lot!


duanz

SubjectRe^3: SAD compilation error on SUSE11 x86_64
Article No892
Date: 2011/03/05(Sat) 12:20:32
ContributorAkio Morita
This problem is overflow problem to store 61bit offset of allocated memory into KIND=4 integer

Workaround:
Limit VM space for heap allocation into 16GiB boundary.

SubjectRe^4: SAD compilation error on SUSE11 x86_64
Article No893
Date: 2011/03/07(Mon) 11:31:22
Contributorduanz < >
I managed to install amorita branch instead. However, I failed to compile Ohmi's sad+ extensions. A lot of warnings like " undefined reference to " appear. A small part of the error info is as below. Since I can successfully run other c++ applications, like the ROOT code of CERN. I wonder if more options need adding to the sad.conf besides " CXX g++ -m64". Thanks!

*********************************************************************
cav.o: In function `~da':
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/dacpp.h:98: undefined reference to `operator delete[](void*)'
cav.o: In function `p_da':
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/p_da.h:21: undefined reference to `operator new[](unsigned long)'
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/p_da.h:21: undefined reference to `operator delete[](void*)'
cav.o: In function `~da':
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/dacpp.h:98: undefined reference to `operator delete[](void*)'
cav.o: In function `p_da':
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/p_da.h:21: undefined reference to `operator new[](unsigned long)'
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/p_da.h:21: undefined reference to `operator delete[](void*)'
cav.o: In function `~da':
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/dacpp.h:98: undefined reference to `operator delete[](void*)'
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/dacpp.h:98: undefined reference to `operator delete[](void*)'
cav.o: In function `~p_da':
/home/duanz/oldsad-amorita-snapshot-3558/extensions/sad+/include/p_da.h:23: undefined reference to `operator delete[](void*)'
/usr/include/c++/4.3/ostream:517: undefined reference to `std::cout'
/usr/include/c++/4.3/ostream:517: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
cav.o: In function `std::basic_ostream<char, std::char_traits<char> >::operator<<(double)':
/usr/include/c++/4.3/ostream:214: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<double>(double)'
cav.o: In function `operator<< <std::char_traits<char> >':
/usr/include/c++/4.3/ostream:517: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/include/c++/4.3/ostream:214: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
cav.o: In function `std::basic_ostream<char, std::char_traits<char> >::operator<<(double)':
/usr/include/c++/4.3/ostream:214: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<double>(double)'
cav.o: In function `operator<< <std::char_traits<char> >':
/usr/include/c++/4.3/ostream:517: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
cav.o:(.rodata._ZTI6Cavity[typeinfo for Cavity]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
cav.o:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
make[2]: *** [sadp.exe] Error 1
make[1]: *** [install] Error 2

SubjectRe^5: SAD compilation error on SUSE11 x86_64
Article No894
Date: 2011/03/07(Mon) 13:46:46
ContributorAkio Morita
On amorita branch
 * GCC 4.5.x or later is recommended.
 * Linux build test is done on MIKO GNYO/Linux 4.2.

SubjectRe^6: SAD compilation error on SUSE11 x86_64
Article No895
Date: 2011/03/07(Mon) 18:07:56
Contributorduanz < >
I wonder if any older version of amorita branch is available, where sad+ module is compatible with g++44 or g++43. Since another 32 bit rhel5 computer with gcc44 also has the above compiling error when installing sad+ module.

Thanks a lot!

SubjectRe^7: SAD compilation error on SUSE11 x86_64
Article No896
Date: 2011/03/07(Mon) 19:31:01
Contributorduanz < >
By the way, I've succeeded in building the current version of amorita branch in both computers with gcc43 and gcc44. However, the same errors occur in both case when compiling sad+ module.

SubjectRe^8: SAD compilation error on SUSE11 x86_64
Article No897
Date: 2011/03/08(Tue) 12:07:45
Contributorduanz < >
Sorry to say that the errors above were due to my computer, and now I've made it.