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!
Subject
: Re: SAD compilation error on SUSE11 x86_64
Article No
: 890
Date
: 2011/03/03(Thu) 17:19:16
Contributor
: Akio Morita
Adjust function entry point to octet-alignment (eg. -falign-functions=8)
Subject
: Re^2: SAD compilation error on SUSE11 x86_64
Article No
: 891
Date
: 2011/03/05(Sat) 01:47:02
Contributor
: duanz <
>
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
Subject
: Re^3: SAD compilation error on SUSE11 x86_64
Article No
: 892
Date
: 2011/03/05(Sat) 12:20:32
Contributor
: Akio 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.
Subject
: Re^4: SAD compilation error on SUSE11 x86_64
Article No
: 893
Date
: 2011/03/07(Mon) 11:31:22
Contributor
: duanz <
>
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
Subject
: Re^5: SAD compilation error on SUSE11 x86_64
Article No
: 894
Date
: 2011/03/07(Mon) 13:46:46
Contributor
: Akio Morita
On amorita branch
* GCC 4.5.x or later is recommended.
* Linux build test is done on MIKO GNYO/Linux 4.2.
Subject
: Re^6: SAD compilation error on SUSE11 x86_64
Article No
: 895
Date
: 2011/03/07(Mon) 18:07:56
Contributor
: duanz <
>
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!
Subject
: Re^7: SAD compilation error on SUSE11 x86_64
Article No
: 896
Date
: 2011/03/07(Mon) 19:31:01
Contributor
: duanz <
>
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.
Subject
: Re^8: SAD compilation error on SUSE11 x86_64
Article No
: 897
Date
: 2011/03/08(Tue) 12:07:45
Contributor
: duanz <
>
Sorry to say that the errors above were due to my computer, and now I've made it.