Do you have Fortran enabled? If so, how do you get gfortran? Also, do you use open-mpi or mpich?Does your make check pass? Rajeev On Thu, 3 Dec, 2015 at 10:45, Lorenzo Alessio Botti<[email protected]> wrote: 636 Clang:*) 637 FATHOM_CXX_SPECIAL="$EXTRA_GNU_FLAGS -stdlib=libc++" 638 FATHOM_CXX_32BIT=-m32 639 FATHOM_CXX_64BIT=-m64 640 ;; 641 SunWorkshop:i?86|SunWorkshop:x86_64) 642 FATHOM_CXX_32BIT=-m32 643 FATHOM_CXX_64BIT=-m64 644 ;; 645 *) 646 ;; 647 esac 648 AC_MSG_RESULT([$cxx_compiler:$host_os:$host_cpu]) 649 650 # Check for specific overrides 651 CXX_LDFLAGS="" 652 if (test "$cxx_compiler:${host_os:0:6}" == "Clang:darwin"); then 653 CXX_LDFLAGS="$CXX_LDFLAGS -stdlib=libc++" 654 LIBS="$LIBS -lc++” I changed lines 637 and 653 of compilers.m4 as you suggested (libc++ instead of libstdc++).My code runs fine (I’m on Mavericks with latests clang). As opposite to the previous build make check now get suck at dual_test. The other tests runs fine. Thanks everybody for help! As Vijay pointed out I thinks this is the way to go since it allows to use c++11. Thanks again.Bests.Lorenzo
Rajeev, Lorenzo's configuration does not have fortran enabled. He uses mpich3 and yes make check passes, except for dual_test when he comments out the CXX_LDFLAGS change. I'm checking this right now. I get some undefined errors for "operator <<" when I don't include -lstdc++ on Mavericks. So clearly, removing it directly is not a fix. Perhaps we need to check the Darwin Kernel version and configure accordingly. Vijay On Thu, Dec 3, 2015 at 1:28 PM, [email protected] <[email protected]> wrote:
Do you have Fortran enabled? If so, how do you get gfortran? Also, do you use open-mpi or mpich? Does your make check pass?
Rajeev
On Thu, 3 Dec, 2015 at 10:45, Lorenzo Alessio Botti <[email protected]> wrote:
636 Clang:*)
637 FATHOM_CXX_SPECIAL="$EXTRA_GNU_FLAGS -stdlib=libc++"
638 FATHOM_CXX_32BIT=-m32
639 FATHOM_CXX_64BIT=-m64
640 ;;
641 SunWorkshop:i?86|SunWorkshop:x86_64)
642 FATHOM_CXX_32BIT=-m32
643 FATHOM_CXX_64BIT=-m64
644 ;;
645 *)
646 ;;
647 esac
648 AC_MSG_RESULT([$cxx_compiler:$host_os:$host_cpu])
649
650 # Check for specific overrides
651 CXX_LDFLAGS=""
652 if (test "$cxx_compiler:${host_os:0:6}" == "Clang:darwin"); then
653 CXX_LDFLAGS="$CXX_LDFLAGS -stdlib=libc++"
654 LIBS="$LIBS -lc++”
I changed lines 637 and 653 of compilers.m4 as you suggested (libc++ instead of libstdc++). My code runs fine (I’m on Mavericks with latests clang). As opposite to the previous build make check now get suck at dual_test. The other tests runs fine.
Thanks everybody for help! As Vijay pointed out I thinks this is the way to go since it allows to use c++11.
Thanks again. Bests. Lorenzo
No, I have disabled fortran. No gfortran. Probably my changes shouldn't affect the fortran options. I had the same problem with both mpich and openmpi. The issue is that clang defaults to libc++ so, since moab was compiled with libstdc++, my code was using different libraries. Hence the segv. Moab passes make check with both libc++ and libstdc++ (a different behavior is observed only in dual_test) but only libc++ allows to use c++11 features. Thanks Lorenzo On Dec 3, 2015 7:28 PM, "[email protected]" <[email protected]> wrote:
Do you have Fortran enabled? If so, how do you get gfortran? Also, do you use open-mpi or mpich? Does your make check pass?
Rajeev
On Thu, 3 Dec, 2015 at 10:45, Lorenzo Alessio Botti <[email protected]> wrote:
636 Clang:*)
637 FATHOM_CXX_SPECIAL="$EXTRA_GNU_FLAGS -stdlib=libc++"
638 FATHOM_CXX_32BIT=-m32
639 FATHOM_CXX_64BIT=-m64
640 ;;
641 SunWorkshop:i?86|SunWorkshop:x86_64)
642 FATHOM_CXX_32BIT=-m32
643 FATHOM_CXX_64BIT=-m64
644 ;;
645 *)
646 ;;
647 esac
648 AC_MSG_RESULT(*[$cxx_compiler:$host_os:$host_cpu]*)
649
650 # Check for specific overrides
651 CXX_LDFLAGS=""
652 if (test "$cxx_compiler:${host_os:0:6}" == "Clang:darwin"); then
653 CXX_LDFLAGS="$CXX_LDFLAGS -stdlib=libc++"
654 LIBS="$LIBS -lc++”
I changed lines 637 and 653 of compilers.m4 as you suggested (libc++ instead of libstdc++). My code runs fine (I’m on Mavericks with latests clang). As opposite to the previous build make check now get suck at dual_test. The other tests runs fine.
Thanks everybody for help! As Vijay pointed out I thinks this is the way to go since it allows to use c++11.
Thanks again. Bests. Lorenzo
I'm on Yosemite not Mavericks. I was wrong, 10.10.5! On Dec 3, 2015 9:05 PM, "Lorenzo Botti" <[email protected]> wrote:
No, I have disabled fortran. No gfortran. Probably my changes shouldn't affect the fortran options. I had the same problem with both mpich and openmpi. The issue is that clang defaults to libc++ so, since moab was compiled with libstdc++, my code was using different libraries. Hence the segv. Moab passes make check with both libc++ and libstdc++ (a different behavior is observed only in dual_test) but only libc++ allows to use c++11 features.
Thanks Lorenzo On Dec 3, 2015 7:28 PM, "[email protected]" <[email protected]> wrote:
Do you have Fortran enabled? If so, how do you get gfortran? Also, do you use open-mpi or mpich? Does your make check pass?
Rajeev
On Thu, 3 Dec, 2015 at 10:45, Lorenzo Alessio Botti <[email protected]> wrote:
636 Clang:*)
637 FATHOM_CXX_SPECIAL="$EXTRA_GNU_FLAGS -stdlib=libc++"
638 FATHOM_CXX_32BIT=-m32
639 FATHOM_CXX_64BIT=-m64
640 ;;
641 SunWorkshop:i?86|SunWorkshop:x86_64)
642 FATHOM_CXX_32BIT=-m32
643 FATHOM_CXX_64BIT=-m64
644 ;;
645 *)
646 ;;
647 esac
648 AC_MSG_RESULT(*[$cxx_compiler:$host_os:$host_cpu]*)
649
650 # Check for specific overrides
651 CXX_LDFLAGS=""
652 if (test "$cxx_compiler:${host_os:0:6}" == "Clang:darwin"); then
653 CXX_LDFLAGS="$CXX_LDFLAGS -stdlib=libc++"
654 LIBS="$LIBS -lc++”
I changed lines 637 and 653 of compilers.m4 as you suggested (libc++ instead of libstdc++). My code runs fine (I’m on Mavericks with latests clang). As opposite to the previous build make check now get suck at dual_test. The other tests runs fine.
Thanks everybody for help! As Vijay pointed out I thinks this is the way to go since it allows to use c++11.
Thanks again. Bests. Lorenzo
participants (3)
-
jain@mcs.anl.gov -
Lorenzo Botti -
Vijay S. Mahadevan