public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: Daniel Feenberg <feenberg@nber.org>
To: Tobias Burnus <burnus@net-b.de>
Cc: fortran@gcc.gnu.org, Daniel Feenberg <feenberg@gmail.com>
Subject: Re: gfortran static linking under OS X (was: Re: )
Date: Fri, 19 Mar 2021 18:11:10 -0400 (EDT)	[thread overview]
Message-ID: <73d99495-1edf-9c54-ad8d-5db0c5e0dafd@nber.org> (raw)
In-Reply-To: <e6659e1d-664e-b6bd-b3f8-7626e0429532@net-b.de>



On Fri, 19 Mar 2021, Tobias Burnus wrote:

> Hi,
>
> I am not sure whether it helps, but I want to point out that libm is the math 
> library which is on Linux usually GLIBC and I assume on OS X it is provided 
> by the OS vendor.
>
> Additionally, that libm is linked dynamically.
>
> This seems to be a OS X issue ? and I have no idea about OS X, but I found 
> the following:
>
> https://github.com/fxcoudert/gfortran-for-macOS/issues/12
>

It is certainly an OS X issue. There is no problem in Linux, FreeBSD or 
Windows with the same compiler. As I understand it, OS X doesn't allow 
true dynamic linking, but it does allow a compiler/linker to produce an 
executable binary which only requires OS supplied libraries at execution 
time, and which includes all the compiler specific libraries. So I 
wouldn't actually expect libm to be statically linked.

Apparently the problem arises because the authors of libquadm don't want 
users to use it in statically linked binaries, and did something to 
prevent that from happening. Unfortunately, it means that specialized 
knowledge is required to statically link gfortran programs, even if they 
don't use quad precision math.

Daniel Feenberg

> which suggests that there is a mismatch of the XCode / MacOS X SDK version.
>
> As work around, it seems to work to set MACOSX_DEPLOYMENT_TARGET and/or to 
> ensure that you have the same xcode version as the one used by gfortran, e.g. 
> by "xcode-select --install".
>
> In some other thread, the suggestion was to use -L/usr/lib but I assume that 
> won't help. Looking at https://github.com/xianyi/OpenBLAS/issues/3032 ? it 
> seems as if you can use 'gfortran -v taxsim.for' to see the SDK version used 
> when building GCC.
>
> At least that example had some |string like:
> ||-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/|
>
> |If you had installed 11.0 instead, ||MACOSX_DEPLOYMENT_TARGET=11.0 would 
> work.|
>
> |I hope it helps. If not, you need to find someone else as I have no idea 
> about OS X.|
>
> |Good luck!|
>
> |Tobias
> |
>
> On 19.03.21 21:22, Daniel Feenberg via Fortran wrote:
>
>> Is there a way to make a statically linked binary with fortran in OS
>> X? For much of the past year I have been using:
>>
>>       gfortran taxsim.for -static-libgfortran -static-libgcc
>> 
>> but since January I only get the error message;
>>
>>       ld: library not found for -lm.
>>       collect2: error: ld returned 1 exit status?
>> 
>> This is OS X 11,2,3 Big Sur and fortran version 6.3.0. I need static
>> linking because my users are not developers and do not have Xcode or
>> gcc installed. This is free software.  I have seen postings from 2015
>> suggesting that I rename libquadmath.0.dylib, which I did try but
>> which did not help.
>> 
>> Of course I have no need for lquad precision variables, which I
>> understand is the source of the problem.
>> 
>> Daniel Feenberg
>> NBER
>

  parent reply	other threads:[~2021-03-19 22:11 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19 20:22 Daniel Feenberg
2021-03-19 20:49 ` gfortran static linking under OS X (was: Re: ) Tobias Burnus
2021-03-19 21:06   ` Iain Sandoe
2021-03-19 22:11   ` Daniel Feenberg [this message]
2021-03-19 22:39     ` Iain Sandoe
2021-03-20 20:47       ` Daniel Feenberg
2021-03-20 21:07         ` Iain Sandoe
2021-03-22 22:20           ` Daniel Feenberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=73d99495-1edf-9c54-ad8d-5db0c5e0dafd@nber.org \
    --to=feenberg@nber.org \
    --cc=burnus@net-b.de \
    --cc=feenberg@gmail.com \
    --cc=fortran@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).