[R-SIG-Mac] Cannot compile Fortran on macOS

Adelchi Azzalini @zz@||n| @end|ng |rom @t@t@un|pd@|t
Wed May 20 08:44:27 CEST 2020


Thanks to everyone that provided suggestions.

I was about to follow the recommended step of renaming /usr/local and reinstall a bunch of programs.
However, that renaming is blocked, presumably by Apple System Integrity Protection. 
Is there any alternative to disabling this Apple "feature"?
Do you recommend to re-instate it after the re-construction of /usr/local/ ?
As you see, I am not familiar with Apple tricks.

Thanks again,

Adelchi
 


> On 20 May 2020, at 05:50, Simon Urbanek <simon.urbanek using R-project.org> wrote:
> 
> 
> Adelchi,
> 
> as pointed out you have conflicting libraries in /usr/local - likely from some conflicting package manager. I would recommend re-naming /usr/local to remove the issue and installing a clean GNU Fortran (see http://mac.r-project.org/tools/ or from the official GNU Fortran pages which use the same binary), that's all you really need.
> 
> Cheers,
> Simon
> 
> 
> 
>> On 20/05/2020, at 1:45 AM, Adelchi Azzalini <azzalini using stat.unipd.it> wrote:
>> 
>> Hi. 
>> In essence, my problem is that I cannot install a package which requires Fortran-77 compilation on my Mac.
>> 
>> More in detail, this is my own package 'mnormt' which exists on CRAN since 2006; it is currently at version 1.5-7. It has been developed in successive versions on a Linux machine, where it compiles with no problems. The macOS and MS-windows versions are created on CRAN, where it passes all pertaining checks.
>> 
>> Now, in the new pandemic world, I need create a new version of the package, but working from home, hence using my Mac laptop instead of the Linux desktop as in the past. Unfortunately, compilation or loading does not work. If I run 
>> 
>> R CMD check mnormt_1.5-7.tar.gz
>> 
>> first I get a bunch of warning messages such as
>> 
>> Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) ....  [-Wconversion]
>> Warning: ‘lxchng’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>> Warning: Label 10 at (1) defined but not used [-Wunused-label]
>> 
>> and finally it crashes with
>> 
>> Error: package or namespace load failed for ‘mnormt’:
>> .onLoad failed in loadNamespace() for 'mnormt', details:
>> call: dyn.load(file, DLLpath = DLLpath, ...)
>> error: unable to load shared object '/Users/aa/SW-aa/Pkg-mnormt/mnormt.Rcheck/00LOCK-mnormt/00new/mnormt/libs/mnormt.so':
>> dlopen(/Users/aa/SW-aa/Pkg-mnormt/mnormt.Rcheck/00LOCK-mnormt/00new/mnormt/libs/mnormt.so, 6): Symbol not found: ___addtf3
>> Referenced from: /usr/local/lib/libquadmath.0.dylib
>> Expected in: /usr/local/lib/libgcc_s_x86_64.1.dylib
>> in /usr/local/lib/libquadmath.0.dylib
>> Error: loading failed
>> 
>> Needless to say, I have no idea what this "addtf3" is or it should be. There is no such a symbol in the Fortran code.
>> 
>> I believe to have installed all ingredients indicated at https://mac.r-project.org/tools/
>> See the list below with details about my system and other installed tools.
>> 
>> Any suggestions for sorting this out?
>> 
>> Adelchi Azzalini
>> 
>> 
>> ---------------------------------------------------
>> Installation info:
>> 
>> R> R.version
>>              _                           
>> platform       x86_64-apple-darwin17.0     
>> arch           x86_64                      
>> os             darwin17.0                  
>> system         x86_64, darwin17.0          
>> status                                     
>> major          4                           
>> minor          0.0                         
>> year           2020                        
>> month          04                          
>> day            24                          
>> svn rev        78286                       
>> language       R                           
>> version.string R version 4.0.0 (2020-04-24)
>> nickname       Arbor Day                   
>> 
>> --- macOS Mojave 10.14.6
>> 
>> --- Xcode version 11.3.1
>> 
>> --- Fortran
>> 
>> [aa using mac-2013:~] gfortran -v
>> Using built-in specs.
>> COLLECT_GCC=gfortran
>> COLLECT_LTO_WRAPPER=/usr/local/gfortran/libexec/gcc/x86_64-apple-darwin18/8.2.0/lto-wrapper
>> Target: x86_64-apple-darwin18
>> Configured with: ../gcc-8.2.0/configure --prefix=/usr/local/gfortran --with-gmp=/Users/fx/devel/gcc/build_package/deps --enable-languages=c,c++,fortran,objc,obj-c++ --build=x86_64-apple-darwin18 --disable-multilib --with-native-system-header-dir=/usr/include --with-sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
>> Thread model: posix
>> gcc version 8.2.0 (GCC) 
>> 
>> [aa using mac-2013:~] echo $PATH
>> .:/Users/aa/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin/:/usr/X11R6/bin:/opt/local/bin:/Library/TeX/texbin:/usr/local/gfortran/bin
>> 
>> -- other tools indicated at https://mac.r-project.org/tools/
>>  xz-5.2.5/  is installed 
>>  PCRE2 10.34 built with --disable-jit 
>>  bzip2 Version 1.0.6 is installed
>> 
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac using r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 



More information about the R-SIG-Mac mailing list