Hi Michael -- Just a note in case it feels useful/helpful/resonates: There's been some discussion this week about whether the default choice for static/dynamic linking should be established via a util/chplenv/ script and CHPL_ variable, ideally one linked to the current --static/--dynamic flags much as CHPL_MAKE is to --make (though it's somewhat more difficult since there are two distinct flags... maybe a poor choice in itself?). The main downside is "Oh no, not another one of these settings!", but the upside is that it feels like a clean way to select a smart default based on which compilers, libraries, packages, you're using (which is how we ran into it in another context).
-Brad On Thu, 23 Jan 2014, Michael Ferguson wrote: > With such a beautiful commit message, who needs to see the patch? > Here it is. (Yes, I just forgot to include it). > > Thanks, > > -michael > > On 01/23/2014 09:29 AM, Michael Ferguson wrote: >> Fix RE2 builds and tests on Mac OS X Mavericks >> >> Even after upgrading RE2 to the latest version which addresses >> some issues with Mac OS X, I was having trouble linking the C++ >> test programs with RE2 - and I believe that .chpl programs >> using RE2 would not compile either. The source of the problem >> was three-fold: >> 1) Mac OS X does not support static linking of executables >> (although it can link with a static library), so using the >> --static flag in the tests is not an option. >> 2) The RE2 build/install process leaves a partial pathname >> to the .so encoded in the .so; so that when you link with >> that binary it would look for the re2.so in an obj/ directory. >> Because of this partial pathname, the usual rpath linker >> flag was not enabling the loader to find the required library. >> 3) When dynamically linking, the list of exported symbols >> did not include some that earlier patches to RE2 (to make >> it work on channels) added. >> >> To fix these problems, this patch: >> 1) Adjusts the C++ language Regexp tests to not use >> --static on Mac OS X >> >> 2) Fixes the RE2 Makefile to update the pathname >> in the .so to the absolute destination pathname using >> the tool install_name_tool if it exists >> >> 3) Adds the missing symbols to libre2.symbols and >> libre2.symbols.darwin. >> >> This version passes test/regexp on Linux and has minimal >> changes from the one that worked for me with Mac OS X Mavericks. >> > ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ Chapel-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/chapel-developers
