Closed JacobLotz closed 1 year ago
Hi Jacob, This is open source project, so anyone is welcome to contribute. Your contribution to CMake package config would be very helpful. Just curious, /scripts/compile.sh doe not work for you? What machine are you using? Mac or Linux?
Great! Glad I can contribute! Indeed, /scripts/compile.sh does not work for me and neither for my colleague, but that is not strange as the script states that it only works for macOS or LLNL machines. I am in Ubuntu 22.04. I circumvented it in a way described in another issue.
However, now I would like to install libROM to a specific location after compiling it with for instance cmake .. -DCMAKE_INSTALL_PREFIX = 'path'
and make install
. In this way we can use the library reliably in our own code. So currently I think I have modified the cmake scripts in such a way it can be installed in such a manner.
Hi @chldkdtn, Who can I ask for the correct access rights? I will probably need some kind of rights before I can push. Thank you!
Kind regards, Jacob
Hi @chldkdtn, Who can I ask for the correct access rights? I will probably need some kind of rights before I can push. Thank you!
Kind regards, Jacob
Hi JacobLotz, I have added you with "write" permission for libROM GitHub repo. Thank you for your contribution!
@youngkyu-kim is trying to compile libROM both in his linux and MacBook machine. @JacobLotz if you can help him in anyway, that would be wonderful as well.
@youngkyu-kim you will have to adapt the script below for your own configuration.
Building steps:
git clone etc
)./scripts/setup.sh
build.sh
./build.sh
Change in script below:
which mpicc
.path/to
to the location where your libROM folder isDoes this work for you? You might need to install some libraries.
rm -r build
mkdir build
cd build
cmake .. \
-DCMAKE_CXX_COMPILER=/usr/bin/mpicxx \
-DUSE_MFEM=On \
-DHYPRE=/path/to/libROM/dependencies/hypre/src/lib/libHYPRE.a \
-DHYPRE_INCLUDES=/path/to/libROM/dependencies/hypre/src/hypre/include \
-DMETIS=/path/to/libROM/dependencies/parmetis-4.0.3/build/Linux-x86_64/libmetis/libmetis.a \
-DMFEM=/path/to/libROM/dependencies/mfem/libmfem.so \
-DMFEM_INCLUDES=/path/to/libROM/dependencies/mfem \
make -j 4
cd ..
Hi Jacob,
Thank you for your kind steps. I will try it out. I have one question. Can libROM be compiled on an apple silicon mac?
Thanks, Youngkyu
From: Jacob Lotz @.> Date: Wednesday, January 11, 2023 5:23 PM To: LLNL/libROM @.> Cc: youngkyu-kim @.>, Mention @.> Subject: Re: [LLNL/libROM] CMake package config for installation (Issue #173)
@youngkyu-kimhttps://github.com/youngkyu-kim you will have to adapt the script below for your own configuration.
Building steps:
Change in script below:
Does this work for you? You might need to install some libraries.
rm -r build
mkdir build
cd build
cmake .. \
-DCMAKE_CXX_COMPILER=/usr/bin/mpicxx \
-DUSE_MFEM=On \
-DHYPRE=/path/to/libROM/dependencies/hypre/src/lib/libHYPRE.a \
-DHYPRE_INCLUDES=/path/to/libROM/dependencies/hypre/src/hypre/include \
-DMETIS=/path/to/libROM/dependencies/parmetis-4.0.3/build/Linux-x86_64/libmetis/libmetis.a \
-DMFEM=/path/to/libROM/dependencies/mfem/libmfem.so \
-DMFEM_INCLUDES=/path/to/libROM/dependencies/mfem \
make -j 4
cd ..
— Reply to this email directly, view it on GitHubhttps://github.com/LLNL/libROM/issues/173#issuecomment-1378388991, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGBOXJJOLFGH253HTVXCATTWRZUXVANCNFSM6AAAAAATHZK5CQ. You are receiving this because you were mentioned.Message ID: @.***>
@youngkyu-kim I would assume that the same procedure would work for the mac case. Unfortunately I am unable to try it myself as I do not own one. I am also very unfamiliar with builds on mac machines, but from what I have seen it seems to be very alike to building on linux.
@youngkyu-kim
Btw, the readme states that ./scripts/compile.sh
should work for mac machines. Did you try that?
I wasn’t able to compile libROM on my mac due to arm architecture. Instead, I will compile libROM on a linux machine.
Thanks, Youngkyu
Get Outlook for iOShttps://aka.ms/o0ukef
From: Jacob Lotz @.> Sent: Thursday, January 12, 2023 10:57:21 PM To: LLNL/libROM @.> Cc: youngkyu-kim @.>; Mention @.> Subject: Re: [LLNL/libROM] CMake package config for installation (Issue #173)
@youngkyu-kimhttps://github.com/youngkyu-kim Btw, the readme states that ./scripts/compile.sh should work for mac machines. Did you try that?
— Reply to this email directly, view it on GitHubhttps://github.com/LLNL/libROM/issues/173#issuecomment-1380393138, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGBOXJKZB2DZ2GKIKJSEPUTWSAEUDANCNFSM6AAAAAATHZK5CQ. You are receiving this because you were mentioned.Message ID: @.***>
@youngkyu-kim If you are still interested, it is actually possible to compile libROM on ARM(e.g. Apple M1) architecture. I have personally had success compiling libROM with the following steps on my Apple M1 Macbook Air.
First, please follow https://www.courier.com/blog/tips-and-tricks-to-setup-your-apple-m1-for-development/ (until the part in Step 2
where the arch
command returns i386
).
Once a Rosetta Terminal is ready, it is possible to clone libROM's master
branch and run ./scripts/compile.sh -m
.
Please let me know if you still encounter any issues if you try these steps.
Hi,
I have been working on a CMake package config for installation of this library as it was still unable to do a
make install
. Would you be interested in adding this to this library? Also, is this project open for contributions? In other words, can I create a branch to implement this CMake installation config myself?Kind regards and have a good Christmas,
Jacob Lotz