[CIG-SEISMO] SPECFEM2D on mac issues: librt, scotch and clock_gettime

Eve Tsang-Hin-Sun Eve.TsangHinSun at univ-brest.fr
Fri Oct 17 04:28:27 PDT 2014


Dear all,

I am trying ti compile SPECFEM2D. It worked well on my ubuntu laptop but fails on my iMac 10.8.5. As I understoof from prvious discussion, th problem come from incompatibility with librt and mac OS.

Before changing any thing here is the error I got when  trying te make command into the src directory of scotch :

1ldo162:SPECFEM2D_Eve tsanghin$ make
mkdir -p obj
mkdir -p bin
(cd src/meshfem2D; make )
(echo "Using bundled Scotch")
Using bundled Scotch
(cd "scotch_5.1.12b/src"; make)
(cd libscotch ;      make VERSION=5 RELEASE=1 PATCHLEVEL=12 scotch && make install)
rm -f *~ *.o lib*.a parser_yy.c parser_ly.h parser_ll.c *scotch.h *scotchf.h y.output dummysizes
make CC="gcc" CCD="gcc"	\
					scotch.h				\
					scotchf.h				\
					libscotch.a				\
					libscotcherr.a			\
					libscotcherrexit.a
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict -DSCOTCH_VERSION=5 -DSCOTCH_RELEASE=1 -DSCOTCH_PATCHLEVEL=12 dummysizes.c -o dummysizes -lz -lm -lrt -lpthread
ld: library not found for -lrt
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [dummysizes] Error 1
make[3]: *** [scotch] Error 2
make[2]: *** [scotch] Error 2
make[1]: *** [scotch] Error 2
make: *** [xmeshfem2D] Error 2


Then, according to the user manual, the clock_gettime routine, that calls librt has to be changed to clock_get_time in the common.c script. So I did it and also removed -lrt from the Makefil.inc file. Then after the new make, here is what I get :



1ldo162:src tsanghin$ make
(cd libscotch ;      make VERSION=5 RELEASE=1 PATCHLEVEL=12 scotch && make install)
rm -f *~ *.o lib*.a parser_yy.c parser_ly.h parser_ll.c *scotch.h *scotchf.h y.output dummysizes
make CC="gcc" CCD="gcc"	\
					scotch.h				\
					scotchf.h				\
					libscotch.a				\
					libscotcherr.a			\
					libscotcherrexit.a
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict -DSCOTCH_VERSION=5 -DSCOTCH_RELEASE=1 -DSCOTCH_PATCHLEVEL=12 dummysizes.c -o dummysizes -lz -lm -lpthread
./dummysizes library.h scotch.h
./dummysizes libraryf.h scotchf.h
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch.c -o arch.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_build.c -o arch_build.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_cmplt.c -o arch_cmplt.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_cmpltw.c -o arch_cmpltw.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_deco.c -o arch_deco.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_hcub.c -o arch_hcub.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_mesh.c -o arch_mesh.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_tleaf.c -o arch_tleaf.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_torus.c -o arch_torus.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_vcmplt.c -o arch_vcmplt.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c arch_vhcub.c -o arch_vhcub.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph.c -o bgraph.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_bd.c -o bgraph_bipart_bd.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_df.c -o bgraph_bipart_df.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_ex.c -o bgraph_bipart_ex.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_fm.c -o bgraph_bipart_fm.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_gg.c -o bgraph_bipart_gg.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_gp.c -o bgraph_bipart_gp.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_ml.c -o bgraph_bipart_ml.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_st.c -o bgraph_bipart_st.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_bipart_zr.c -o bgraph_bipart_zr.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_check.c -o bgraph_check.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c bgraph_store.c -o bgraph_store.o
gcc -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict  -c common.c -DSCOTCH_COMMON_RENAME -o common.o
common.c:107:3: warning: implicit declaration of function 'clock_get_time' is invalid in C99 [-Wimplicit-function-declaration]
  clock_get_time (CLOCK_REALTIME, &tp);            /* Elapsed time */
  ^
common.c:107:19: error: use of undeclared identifier 'CLOCK_REALTIME'
  clock_get_time (CLOCK_REALTIME, &tp);            /* Elapsed time */
                  ^
1 warning and 1 error generated.
make[2]: *** [common.o] Error 1
make[1]: *** [scotch] Error 2
make: *** [scotch] Error 2


So I am a little bit confused : it seems that the clock_get_time routine is not defined. So where should I get it ?  Moreover, if the librt library doesn’t exist for mac OS, isn’t it another way to get the time step ? Or maybe the Makefile.Inc is ot well configured for mac ? If you have any tips to make it compile, that would be very helpful.
Regards

--
Eve Tsang-Hin-Sun
Doctorante
Institut Universitaire Européen de la Mer (IUEM)
Laboratoires Domaines Océaniques (LDO)
Place Nicolas Copernic - 29280 Plouzané

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/cig-seismo/attachments/20141017/129335c7/attachment.html>


More information about the CIG-SEISMO mailing list