[Dune] Linking with OS X 10.9 Mavericks

Steffen Müthing steffen.muething at iwr.uni-heidelberg.de
Wed Jan 29 17:26:27 CET 2014


Am 29.01.2014 um 16:46 schrieb Steffen Müthing <steffen.muething at iwr.uni-heidelberg.de>:

> Am 29.01.2014 um 16:42 schrieb Benedikt Oswald <benedikt.oswald at lspr.ch>:
> 
>> amazing, using on my system:
>> 
>> CMAKE_FLAGS="--enable-experimental-grid-extensions --enable-shared --enable-static -DCMAKE_CXX_FLAGS=\"-O2\" -DCMAKE_PREFIX_PATH=\"$HOME/extlib/alugrid/1.96/openmpi/1.6.5/gcc/4.8.1;$HOME/extlib/metis/5.1.0/gcc/4.8.1;$HOME/extlib/parmetis/4.0.3/openmpi/1.6.5/gcc/4.8.1\" " 
>> 
>> 
>> in the opts file, it links the dune-grid-howto examples…and runs through…what a nasty difference this makes!
> 
> Yes, the Stackoverflow thread suggests that -Ox (x > 0) triggers inlining of toupper(), which
> makes the whole problem at the linker stage go away…
> 
> But for some reason, the autotools-based build works (and the resulting programs work). Unfortunately,
> there’s all kinds of OS X linker magic in the command line, like flat vs. nested library namespaces…

Seems like that conclusion was a little too early, a complete new checkout and build from scratch causes
autotools to fail as well with -O0. The main difference is that the autotools-generated binaries crash at
run time instead of triggering a link time failure because libtool sets -Wl,-undefined,dynamic_lookup
which defers lookup of unknown symbols to the dynamic linker.

So it looks like the only ways around this problem are to either use at least -O1 or patch a system header.
What a mess…

Steffen


> 
> Steffen
> 
> 
>> 
>> Greetings, Benedikt
>> 
>> 
>> On 29 Jan 2014, at 16:34, Steffen Müthing <steffen.muething at iwr.uni-heidelberg.de> wrote:
>> 
>>> Looking at the link Christoph posted earlier, I realized that my build was setup
>>> with optimization (-O3), which avoids the problem as well. So I rebuilt everything
>>> from scratch with -O0, and now my CMake build fails with the same error as
>>> Benedikt’s.
>>> 
>>> I’m running an -O0 build with autotools right now…
>>> 
>>> Steffen
>>> 
>>> Am 29.01.2014 um 16:19 schrieb Markus Blatt <markus at dr-blatt.de>:
>>> 
>>>> On Wed, Jan 29, 2014 at 03:04:39PM +0100, Benedikt Oswald wrote:
>>>>> one more point to consider:
>>>>> 
>>>>> the compilation does not run unto this problem when using the autotools based build.
>>>>> what could be the reason for this ?
>>>> 
>>>> that is indeed interesting. Maybe libtool is very smart. Could you
>>>> please provide the linker lines when using autotools.
>>>> 
>>>> -- 
>>>> Do you need more support with DUNE or HPC in general? 
>>>> 
>>>> Dr. Markus Blatt - HPC-Simulation-Software & Services http://www.dr-blatt.de
>>>> Hans-Bunte-Str. 8-10, 69123 Heidelberg, Germany
>>>> Tel.: +49 (0) 160 97590858  Fax: +49 (0)322 1108991658 
>>>> _______________________________________________
>>>> Dune mailing list
>>>> Dune at dune-project.org
>>>> http://lists.dune-project.org/mailman/listinfo/dune
>>> 
>>> _______________________________________________
>>> Dune mailing list
>>> Dune at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune
>> 
> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20140129/84646db5/attachment.sig>


More information about the Dune mailing list