Hello Oliver,

Thank you for your reply.

1) I don't think there is any Intel-related library in my PATH. Could any
of them below be an Intel library? Below are some of the lines from
CMakeCache.txt after cmake command using Apple Clang v10 and GNU gfortran
v8.2.0:
//Path to a library.
LAPACK_Accelerate_LIBRARY:FILEPATH=/System/Library/Frameworks/Accelerate.framework
//Path to a library.
BLAS_Accelerate_LIBRARY:FILEPATH=/System/Library/Frameworks/Accelerate.framework
//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/clang++
//C compiler
CMAKE_C_COMPILER:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/clang
//Path to the gomp library for OpenMP
OpenMP_gomp_LIBRARY:FILEPATH=/usr/local/Cellar/gcc/8.2.0/lib/gcc/8/libgomp.dylib
//Path to a library.
OpenMP_libomp_LIBRARY:FILEPATH=/usr/local/lib/libomp.dylib
//Details about finding Doxygen
FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/local/bin/doxygen][cfound
components:  doxygen dot ][v1.8.14()]
//Details about finding FFTW
FIND_PACKAGE_MESSAGE_DETAILS_FFTW:INTERNAL=[/usr/local/lib/libfftw3.a][/usr/local/include][v()]
//Details about finding LATEX
FIND_PACKAGE_MESSAGE_DETAILS_LATEX:INTERNAL=[/Library/TeX/texbin/latex][c
][v()]
//Details about finding NetCDF
FIND_PACKAGE_MESSAGE_DETAILS_NetCDF:INTERNAL=[/usr/local/lib/libnetcdf.dylib][/usr/local/include][v()]
//Details about finding OpenMP
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP:INTERNAL=[TRUE][TRUE][TRUE][c ][v3.1()]
//Details about finding OpenMP_C
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_C:INTERNAL=[-Xclang
-fopenmp][/usr/local/lib/libomp.dylib][v3.1()]
//Details about finding OpenMP_CXX
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_CXX:INTERNAL=[-Xclang
-fopenmp][/usr/local/lib/libomp.dylib][v3.1()]
//Details about finding OpenMP_Fortran
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_Fortran:INTERNAL=[-fopenmp][/usr/local/Cellar/gcc/8.2.0/lib/gcc/8/libgomp.dylib][v4.5()]
//Details about finding Threads
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
//Details about finding ZLIB
FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib/libz.dylib][/usr/include][v1.2.11()]



2) After installing ARTS with Homebrew llvm clang/clang++:
export CC=/usr/local/opt/llvm/bin/clang
export CXX=/usr/local/opt/llvm/bin/clang++
export FC=/usr/local/opt/gcc/bin/gfortran
cmake -DENABLE_C_API=1
-DARTS_XML_DATA_PATH=/Users/BLee/Desktop/ARTS/arts-xml-data-dev
-DENABLE_FORTRAN=1 -DENABLE_NETCDF=1 ..
make -j4

I get the following from typing "otool -L src/arts":

src/arts:

/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)

/usr/local/opt/netcdf/lib/libnetcdf.13.dylib (compatibility version 13.0.0,
current version 13.0.0)

/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
(compatibility version 1.0.0, current version 4.0.0)

/usr/local/opt/gcc/lib/gcc/8/libgfortran.5.dylib (compatibility version
6.0.0, current version 6.0.0)

/usr/local/lib/gcc/8/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)

/usr/local/opt/gcc/lib/gcc/8/libquadmath.0.dylib (compatibility version
1.0.0, current version 1.0.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
1252.50.4)

/usr/local/opt/libomp/lib/libomp.dylib (compatibility version 5.0.0,
current version 5.0.0)

/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version
400.9.0)

I am guessing that the Accelerate framework is properly included?

Thank you,

Byungsuk Lee



On Thu, Oct 4, 2018 at 5:49 PM Oliver Lemke <oliver.le...@uni-hamburg.de>
wrote:

> Hi Byungsuk,
>
> > On 2 Oct 2018, at 11:39, Byungsuk Lee <cbl6...@gmail.com> wrote:
> >
> > Dear Jonas and Oliver,
> >
> > Thank you for your replies. I wanted to give you a sort of status report
> regarding the use of ARTS on my Mac.
> >
> > 1) I checked ARTS/build/CMakeCache.txt and confirmed that no conda
> package was used, other than CONDA_PROG:FILEPATH=... which I think is
> irrelevant.
> >
> > 2) I tried compiling with gcc/g++ instead, both from Homebrew and from
> manually installing tar.gz files from the gnu website for a few different
> versions, but the same irregular invalid t_field errors in OEM happened.
> Plus, at the cmake stage, they constantly produced a failure message for
> "Wno-return-type-c-linkage" as follows, about which I am curious why. This
> doesn't happen with clang/clang++.
> >
> > ...
> > -- Performing Test CCFLAG_Wno-sign-conversion
> > -- Performing Test CCFLAG_Wno-sign-conversion - Success
> > -- Performing Test CXXFLAG_Wno-sign-conversion
> > -- Performing Test CXXFLAG_Wno-sign-conversion - Success
> > -- Performing Test CCFLAG_Wno-unknown-pragmas
> > -- Performing Test CCFLAG_Wno-unknown-pragmas - Success
> > -- Performing Test CXXFLAG_Wno-unknown-pragmas
> > -- Performing Test CXXFLAG_Wno-unknown-pragmas - Success
> > -- Performing Test CCFLAG_Wno-return-type-c-linkage
> > -- Performing Test CCFLAG_Wno-return-type-c-linkage - Failed
> > -- Performing Test CXXFLAG_Wno-return-type-c-linkage
> > -- Performing Test CXXFLAG_Wno-return-type-c-linkage - Failed
> > -- Performing Test CCFLAG_Wno-strict-overflow
> > -- Performing Test CCFLAG_Wno-strict-overflow - Success
> > -- Performing Test CXXFLAG_Wno-strict-overflow
> > -- Performing Test CXXFLAG_Wno-strict-overflow - Success
> > ...
>
> Some compilers don't support the flag no-return-type-c-linkage. That is
> totally fine and the reason that we test its existence with cmake before
> enabling it.
>
> > 3) Instead of the clang/clang++ from Homebrew llvm with which I
> initially installed ARTS, I thought I could instead try using Mac's command
> line tools clang/clang++ (AppleClang v10), but they failed at the make
> stage with the following error which I am not sure how to tackle.
> >
> > ...
> > [ 43%] Linking CXX executable make_auto_workspace_h
> > Undefined symbols for architecture x86_64:
> >   "___kmpc_critical", referenced from:
> >       ArtsOut& operator<<<std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > >(ArtsOut&,
> std::__1::basic_string<char, std::__1::char_traits<char>,
> std::__1::allocator<char> > const&) in arts.cc.o
> >       ArtsOut& operator<<<char [35]>(ArtsOut&, char const (&) [35]) in
> file.cc.o
> >       ArtsOut& operator<<<char [75]>(ArtsOut&, char const (&) [75]) in
> file.cc.o
> >       ArtsOut& operator<<<char [2]>(ArtsOut&, char const (&) [2]) in
> file.cc.o
> >       ArtsOut& operator<<<my_basic_string<char> >(ArtsOut&,
> my_basic_string<char> const&) in file.cc.o
> >       ArtsOut& operator<<<char [3]>(ArtsOut&, char const (&) [3]) in
> file.cc.o
> >       ArtsOut& operator<<<long>(ArtsOut&, long const&) in file.cc.o
> >       ...
> >   "___kmpc_end_critical", referenced from:
> >       ArtsOut& operator<<<std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > >(ArtsOut&,
> std::__1::basic_string<char, std::__1::char_traits<char>,
> std::__1::allocator<char> > const&) in arts.cc.o
> >       ArtsOut& operator<<<char [35]>(ArtsOut&, char const (&) [35]) in
> file.cc.o
> >       ArtsOut& operator<<<char [75]>(ArtsOut&, char const (&) [75]) in
> file.cc.o
> >       ArtsOut& operator<<<char [2]>(ArtsOut&, char const (&) [2]) in
> file.cc.o
> >       ArtsOut& operator<<<my_basic_string<char> >(ArtsOut&,
> my_basic_string<char> const&) in file.cc.o
> >       ArtsOut& operator<<<char [3]>(ArtsOut&, char const (&) [3]) in
> file.cc.o
> >       ArtsOut& operator<<<long>(ArtsOut&, long const&) in file.cc.o
> >       ...
> >   "___kmpc_global_thread_num", referenced from:
> >       ArtsOut& operator<<<std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > >(ArtsOut&,
> std::__1::basic_string<char, std::__1::char_traits<char>,
> std::__1::allocator<char> > const&) in arts.cc.o
> >       ArtsOut& operator<<<char [35]>(ArtsOut&, char const (&) [35]) in
> file.cc.o
> >       ArtsOut& operator<<<char [75]>(ArtsOut&, char const (&) [75]) in
> file.cc.o
> >       ArtsOut& operator<<<char [2]>(ArtsOut&, char const (&) [2]) in
> file.cc.o
> >       ArtsOut& operator<<<my_basic_string<char> >(ArtsOut&,
> my_basic_string<char> const&) in file.cc.o
> >       ArtsOut& operator<<<char [3]>(ArtsOut&, char const (&) [3]) in
> file.cc.o
> >       ArtsOut& operator<<<long>(ArtsOut&, long const&) in file.cc.o
> >       ...
> > ld: symbol(s) not found for architecture x86_64
> > clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> > make[2]: *** [src/make_auto_workspace_h] Error 1
> > make[1]: *** [src/CMakeFiles/make_auto_workspace_h.dir/all] Error 2
> > [ 43%] Building CXX object
> src/CMakeFiles/test_gridded_fields.dir/test_gridded_fields.cc.o
> > [ 43%] Building CXX object
> src/CMakeFiles/test_legendre.dir/test_legendre.cc.o
> > [ 43%] Linking CXX executable test_legendre
> > [ 43%] Built target test_legendre
> > [ 43%] Linking CXX executable test_gridded_fields
> > [ 43%] Built target test_gridded_fields
> > make: *** [all] Error 2
> > ...
>
> This is interesting. The __kmpc_* Symbols come from the Intel Math Kernel
> Library. These errors usually indicate that the Intel Threading library was
> enabled, but the Intel OpenMP Library was not linked. Which makes sense
> because Apple's Clang does not support OpenMP. But we might be on to
> something here. The Intel MKL should involved here at all. Do you have an
> Intel compiler set up in your PATH?
>
> > 4) I tried using Homebrew lapack instead of Mac's default
> Accelerate.framework but the same irregular OEM error happened.
> >
> > I have tried several things as above hoping to pinpoint where the error
> stems from (compiler, package, or something else?) but am so far
> unsuccessful and encountered additional errors that I hope someone could
> explain. Thank you.
>
> Are you sure that you're actually compiling against Lapack / Accelerate
> and not accidentally always against MKL? What you're seeing in 3) makes me
> a bit suspicious. Can you please check with 'otool -L src/arts' which
> libraries your ARTS executable is actually linked against?
>
> cheers,
> /oliver
>
>
>
>
>
_______________________________________________
arts_users.mi mailing list
arts_users.mi@lists.uni-hamburg.de
https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_users.mi

Reply via email to