[R-SIG-Mac] R-SIG-Mac Digest, Vol 255, Issue 11

Christian Hoffmann chr|@t|@n @end|ng |rom echo||m@nn@ch
Sun Jun 30 17:24:00 CEST 2024


Cancel subscription, please. 
Von meinem iPhone gesendet

> Am 27.06.2024 um 09:49 schrieb r-sig-mac-request using r-project.org:
> 
> Send R-SIG-Mac mailing list submissions to
>    r-sig-mac using r-project.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>    https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> or, via email, send a message with subject or body 'help' to
>    r-sig-mac-request using r-project.org
> 
> You can reach the person managing the list at
>    r-sig-mac-owner using r-project.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of R-SIG-Mac digest..."
> 
> 
> Today's Topics:
> 
>   1. Re:   procedure to ship libomp.dylib run-time with package
>      (Bram Boeckx)
>   2. Re:   procedure to ship libomp.dylib run-time with package
>      (Bram Boeckx)
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Wed, 26 Jun 2024 07:36:39 +0000
> From: Bram Boeckx <bram.boeckx using kuleuven.be>
> To: "Sparapani, Rodney via R-SIG-Mac" <R-SIG-Mac using r-project.org>
> Subject: Re: [R-SIG-Mac]  procedure to ship libomp.dylib run-time with
>    package
> Message-ID: <72B3DAB6-6B6F-46BF-921E-6B4DE21307C3 using kuleuven.be>
> Content-Type: text/plain; charset="utf-8"
> 
> Dear,
> 
> Thanks for your message,
> I'm currently on paternity leave until 23th of July and cannot respond to your email. Please contact my colleagues if you have questions or need assistance.
> 
> Best Wishes,
> 
> Bram
> 
> On 25 Jun 2024, at 14:20, Sparapani, Rodney via R-SIG-Mac <R-SIG-Mac using r-project.org> wrote:
> 
> Hi Tim:
> 
> /usr/local/lib it seems.  See the following page
> https://mac.r-project.org/openmp/
> 
> --
> Rodney Sparapani, Associate Professor of Biostatistics, He/Him/His
> Vice President, Wisconsin Chapter of the American Statistical Association
> Institute for Health and Equity, Division of Biostatistics
> Medical College of Wisconsin, Milwaukee Campus
> 
> If this is outside of working hours, then please respond when convenient.
> 
> From: R-SIG-Mac <r-sig-mac-bounces using r-project.org> on behalf of Timothy Bates <tim.bates using ed.ac.uk>
> Date: Monday, June 24, 2024 at 4:00 PM
> To: R list <R-SIG-Mac using r-project.org>
> Subject: [R-SIG-Mac] procedure to ship libomp.dylib run-time with package
> ATTENTION: This email originated from a sender outside of MCW. Use caution when clicking on links or opening attachments.
> ________________________________
> 
> At https://urldefense.com/v3/__https://mac.r-project.org/openmp/__;!!H8mHWRdzp34!4HZ0uFxJQ121gF_TnX99OuMlgIXM600pq8wCbWruoLsdLTtaFgRB5_gMopCtxD0N9M4tUOO-7hBGADHx1sk$<https://urldefense.com/v3/__https:/mac.r-project.org/openmp/__;!!H8mHWRdzp34!4HZ0uFxJQ121gF_TnX99OuMlgIXM600pq8wCbWruoLsdLTtaFgRB5_gMopCtxD0N9M4tUOO-7hBGADHx1sk$>  it  says
> "any package you compile against libomp.dylib will need that run-time so you have to ship it with your package or have users install it”
> 
> Are there  any  instructions on what to do/where to put libomp.dylib so it will be found?
> 
> I’ve compiled a package (OpenMx) in which OpenMP is working locally but other users get the error:
> 
> require(OpenMx)
> Error: package or namespace load failed for ‘OpenMx’ in dyn.load(file, DLLpath = DLLpath, ...):
> unable to load shared object '/Users/***/Library/R/x86_64/4.4/library/OpenMx/libs/OpenMx.so':
> 
> dlopen(/Users/***/Library/R/x86_64/4.4/library/OpenMx/libs/OpenMx.so, 0x0006): Library not loaded: /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/lib/libomp.dylib
> 
> 
> The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th’ ann an Oilthigh Dhùn Èideann, clàraichte an Alba, àireamh clàraidh SC005336.
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac using r-project.org
> https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-sig-mac__;!!H8mHWRdzp34!4HZ0uFxJQ121gF_TnX99OuMlgIXM600pq8wCbWruoLsdLTtaFgRB5_gMopCtxD0N9M4tUOO-7hBGdICDldE$<https://urldefense.com/v3/__https:/stat.ethz.ch/mailman/listinfo/r-sig-mac__;!!H8mHWRdzp34!4HZ0uFxJQ121gF_TnX99OuMlgIXM600pq8wCbWruoLsdLTtaFgRB5_gMopCtxD0N9M4tUOO-7hBGdICDldE$>
> 
>        [[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 
>    [[alternative HTML version deleted]]
> 
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Wed, 26 Jun 2024 10:18:20 +0000
> From: Bram Boeckx <bram.boeckx using kuleuven.be>
> To: Prof Brian Ripley via R-SIG-Mac <R-SIG-Mac using r-project.org>
> Subject: Re: [R-SIG-Mac]  procedure to ship libomp.dylib run-time with
>    package
> Message-ID: <9B5F82F3-B07B-4A05-9ED1-419CD6924D02 using kuleuven.be>
> Content-Type: text/plain; charset="utf-8"
> 
> Dear,
> 
> Thanks for your message,
> I'm currently on paternity leave until 23th of July and cannot respond to your email. Please contact my colleagues if you have questions or need assistance.
> 
> Best Wishes,
> 
> Bram
> 
> On 26 Jun 2024, at 11:57, Prof Brian Ripley via R-SIG-Mac <R-SIG-Mac using r-project.org> wrote:
> 
> On 26/06/2024 06:41, Balamuta, James wrote:
> Tim,
> Unfortunately, there isn't a nice way of including OpenMP for macOS within a package.  One potential avenue would be to use a `configure.ac` file to check for whether OpenMP headers are present on the macOS computer and, then, allow the correct OpenMP compilation flags to be set. However, this requires the user to compile from source instead of using a CRAN binary.
> 
> Package installation also requires the libomp.dylib, and to know where to find it both when linking and loading.
> 
> Unfortunately, there isn't going to be an easier way as OpenMP on macOS with R is experimental by nature.
> 
> Rather, macOS makes it deliberately hard, but those instructions are not current.
> 
> - The standard way for the macOS linker to record paths to a dependent dylib is as an absolute path.  E.g. (arm64)
> 
> % otool -L library/stats/libs/stats.so
> library/stats/libs/stats.so:
>        stats.so (compatibility version 0.0.0, current version 0.0.0)
>        /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib (compatibility version 4.4.0, current version 4.4.1)
> ...
> 
> That is a location that is not writeable to an end user.  However, it appears that R 4.4.1 for arm64 ships with a bi-arch libomp.dylib there.
> 
> auk2% file `R RHOME`/lib/libomp.dylib
> /Library/Frameworks/R.framework/Resources/lib/libomp.dylib: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64]
> /Library/Frameworks/R.framework/Resources/lib/libomp.dylib (for architecture x86_64):   Mach-O 64-bit dynamically linked shared library x86_64
> /Library/Frameworks/R.framework/Resources/lib/libomp.dylib (for architecture arm64):    Mach-O 64-bit dynamically linked shared library arm64
> 
> So it is likely that libomp.dylib is already available somewhere that will be searched at both link and load times.  (omp.h needs to be put in a suitable place, e.g. /usr/local/include for Intel, but that needs admin privileges. That is only needed at compilation, so could be put anywhere and -I specified.)
> 
> - Another issue: That page provides multiple copies on libomp.dylib: how could package installation know which is appropriate?  I do not know which one was shipped with R, nor how find out.  But it suggests shipping one with a package would be unsafe.
> 
> It seems the OP asked the wrong question: apparently he distributed a package built with R 4.3.x, and someone tried to use it on 4.4.x.  R binary packages are tied to an R x.y series (as the manual would have told you).
> 
> I was able to build OpenMx with OpenMP on arch64 by using
> 
> PKG_CPPFLAGS = -Xclang -fopenmp -I/path/to/omp.h
> 
> PKG_LIBS= -lomp \
> ...
> 
> (Caveat: for OpenMx, <omp.h> is used so the -I adds to the system include path and there is danger of conflicts. Best to use a separate directory for the OpenMP headers.)
> 
> And please comply with the posting guide, not send HTML and not mangle URLs.
> 
> Best regards,
> James
> ________________________________
> From: R-SIG-Mac <r-sig-mac-bounces using r-project.org> on behalf of Timothy Bates <tim.bates using ed.ac.uk>
> Sent: Tuesday, June 25, 2024 10:00 PM
> To: Kasper Daniel Hansen <kasperdanielhansen using gmail.com>; Sparapani, Rodney <rsparapa using mcw.edu>
> Cc: R list <R-SIG-Mac using r-project.org>
> Subject: Re: [R-SIG-Mac] procedure to ship libomp.dylib run-time with package
> Thanks Kasper,
> I read those lines and had installed the openmp software as instructed. It all works fine for me. But users don’t have my usr/ folder, not can a package write to their usr/ folder.
> so what is confusing is how the user will get this lib. Where should make place libraries like libomp within the package so that if a user merely install.packages() it, the library will be found and loaded?
> Best, tim
> Sent from Outlook for iOS<https://urldefense.com/v3/__https://aka.ms/o0ukef__;!!DZ3fjg!_OUXHENJ_6aGlU-humThmTaUR5okhDKW2EGEY49AjJ4AN8eXBWtZCWE3O01pnyxbRpGQDhCl8MMLThVBbUXDuipI$ >
> ________________________________
> From: Kasper Daniel Hansen <kasperdanielhansen using gmail.com>
> Sent: Tuesday, June 25, 2024 11:34:42 AM
> To: Sparapani, Rodney <rsparapa using mcw.edu>
> Cc: Timothy Bates <tim.bates using ed.ac.uk>; R list <R-SIG-Mac using r-project.org>
> Subject: Re: [R-SIG-Mac] procedure to ship libomp.dylib run-time with package
> This email was sent to you by someone outside the University.
> You should only click on links or attachments if you are certain that the email is genuine and the content is safe.
> If you read the next couple of sentences on that page, it says
> The following are links to libomp OpenMP run-time built from official LLVM release sources using Xcode compilers. They are signed and support macOS 10.13 (High Sierra) and higher. All tar-balls contain the system tree usr/local/lib and usr/local/include so the recommended installation is to type in Terminal:
>    curl -O https://urldefense.com/v3/__https://mac.r-project.org/openmp/openmp-14.0.6-darwin20-Release.tar.gz__;!!DZ3fjg!_OUXHENJ_6aGlU-humThmTaUR5okhDKW2EGEY49AjJ4AN8eXBWtZCWE3O01pnyxbRpGQDhCl8MMLThVBbWfUKf7B$
>    sudo tar fvxz openmp-14.0.6-darwin20-Release.tar.gz -C /
> I think that is pretty clear? Note the -C / as part of the last line, that tells tar where to put it on the system.
> On Tue, Jun 25, 2024 at 8:20 AM Sparapani, Rodney via R-SIG-Mac <r-sig-mac using r-project.org<mailto:r-sig-mac using r-project.org>> wrote:
> Hi Tim:
> /usr/local/lib it seems.  See the following page
> https://urldefense.com/v3/__https://mac.r-project.org/openmp/__;!!DZ3fjg!_OUXHENJ_6aGlU-humThmTaUR5okhDKW2EGEY49AjJ4AN8eXBWtZCWE3O01pnyxbRpGQDhCl8MMLThVBbaQGheD_$
> --
> Rodney Sparapani, Associate Professor of Biostatistics, He/Him/His
> Vice President, Wisconsin Chapter of the American Statistical Association
> Institute for Health and Equity, Division of Biostatistics
> Medical College of Wisconsin, Milwaukee Campus
> If this is outside of working hours, then please respond when convenient.
> From: R-SIG-Mac <r-sig-mac-bounces using r-project.org<mailto:r-sig-mac-bounces using r-project.org>> on behalf of Timothy Bates <tim.bates using ed.ac.uk<mailto:tim.bates using ed.ac.uk>>
> Date: Monday, June 24, 2024 at 4:00 PM
> To: R list <R-SIG-Mac using r-project.org<mailto:R-SIG-Mac using r-project.org>>
> Subject: [R-SIG-Mac] procedure to ship libomp.dylib run-time with package
> ATTENTION: This email originated from a sender outside of MCW. Use caution when clicking on links or opening attachments.
> ________________________________
> At https://urldefense.com/v3/__https://mac.r-project.org/openmp/__;!!H8mHWRdzp34!4HZ0uFxJQ121gF_TnX99OuMlgIXM600pq8wCbWruoLsdLTtaFgRB5_gMopCtxD0N9M4tUOO-7hBGADHx1sk$<https://urldefense.com/v3/__https:/mac.r-project.org/openmp/__;!!H8mHWRdzp34!4HZ0uFxJQ121gF_TnX99OuMlgIXM600pq8wCbWruoLsdLTtaFgRB5_gMopCtxD0N9M4tUOO-7hBGADHx1sk$>  it  says
> "any package you compile against libomp.dylib will need that run-time so you have to ship it with your package or have users install it”
> Are there  any  instructions on what to do/where to put libomp.dylib so it will be found?
> I’ve compiled a package (OpenMx) in which OpenMP is working locally but other users get the error:
> require(OpenMx)
> Error: package or namespace load failed for ‘OpenMx’ in dyn.load(file, DLLpath = DLLpath, ...):
> unable to load shared object '/Users/***/Library/R/x86_64/4.4/library/OpenMx/libs/OpenMx.so':
> dlopen(/Users/***/Library/R/x86_64/4.4/library/OpenMx/libs/OpenMx.so, 0x0006): Library not loaded: /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/lib/libomp.dylib
> 
> There is a version mismatch here ....
> 
> --
> Brian D. Ripley,                  ripley using stats.ox.ac.uk
> Emeritus Professor of Applied Statistics, University of Oxford
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 
>    [[alternative HTML version deleted]]
> 
> 
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 
> 
> ------------------------------
> 
> End of R-SIG-Mac Digest, Vol 255, Issue 11
> ******************************************



More information about the R-SIG-Mac mailing list