prisms-center / phaseField

PRISMS-PF: An Open-Source Phase-Field Modeling Framework
https://prisms-center.github.io/phaseField/
Other
228 stars 119 forks source link

Example app Build failure #199

Closed zzzmx-josh closed 1 year ago

zzzmx-josh commented 1 year ago

Hi there, I am trying to build PRISMS-PF Example App on MacbookPro M1, but I encouter the follwing problems:                                               16 warnings generated. make[6]: No rule to make target /usr/lib/libdl.dylib', needed bymain'.  Stop. make[5]: [CMakeFiles/main.dir/all] Error 2 make[4]: [all] Error 2 make[3]: [CMakeFiles/debug] Error 2 make[2]: [CMakeFiles/debug.dir/all] Error 2 make[1]: [CMakeFiles/debug.dir/rule] Error 2 make: *** [debug] Error 2 I try to make a link of libdl.dylib into /usr/lib directory, but it fails again: ln: /usr/lib/libdl.dylib: Read-only file system How can I solve them ?
Many thanks in advance!

david-montiel-t commented 1 year ago

Hello, zzzmx_josh

Did you successfully (beforehand) compile the core library of PRISMS-PF?

Can you please list the steps you did after you cloned the repository?

Also, can you try running and compiling a deal.II example beforehand, like step-1 (this may be a a deal.II issue)?

Best,

David

On Fri, Sep 8, 2023, 10:50 PM zzzmx_josh @.***> wrote:

Hi there, I am trying to build PRISMS-PF Example App on MacbookPro M1, but I encouter the follwing problems: 16 warnings generated. make[6]: No rule to make target /usr/lib/libdl.dylib', needed by main'. Stop. make[5]: [CMakeFiles/main.dir/all] Error 2 make[4]: [all] Error 2 make[3]: [CMakeFiles/debug] Error 2 make[2]: [CMakeFiles/debug.dir/all] Error 2 make[1]: [CMakeFiles/debug.dir/rule] Error 2 make: *** [debug] Error 2 I try to make a link of libdl.dylib into /usr/lib directory, but it fails again: ln: /usr/lib/libdl.dylib: Read-only file system How can I solve them ? Many thanks in advance!

— Reply to this email directly, view it on GitHub https://github.com/prisms-center/phaseField/issues/199, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD3FA462OK42WWWMF3CSPQTXZPKOLANCNFSM6AAAAAA4REJWE4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

zzzmx-josh commented 1 year ago

I have followed the steps listed in https://prisms-center.github.io/phaseField/doxygen_files/install.html and the core library of PRISMS-PF has been successfully compiled as follows: bash-3.2$ cmake . -- Using the deal.II-9.2.0 installation found at /Applications/deal.II.app/Contents/Resources/Libraries -- Include macro /Applications/deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_add_test.cmake -- Include macro /Applications/deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_initialize_cached_variables.cmake -- Include macro /Applications/deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_invoke_autopilot.cmake -- Include macro /Applications/deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_pickup_tests.cmake -- Include macro /Applications/deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_query_git_information.cmake -- Include macro /Applications/deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_setup_target.cmake -- Configuring done -- Generating done -- Build files have been written to: /Applications/phaseField bash-3.2$ make -j 6 [ 50%] Built target prisms_pf [100%] Built target prisms_pf_debug

david-montiel-t commented 1 year ago

Thank you.

Can you also list the steps you did to compile and run the application?

David

On Fri, Sep 8, 2023, 11:10 PM zzzmx_josh @.***> wrote:

I have followed the steps listed in https://prisms-center.github.io/phaseField/doxygen_files/install.html and the core library of PRISMS-PF has been successfully compiled as follows: bash-3.2$ cmake . -- Using the deal.II-9.2.0 installation found at /Applications/ deal.II.app/Contents/Resources/Libraries -- Include macro /Applications/ deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_add_test.cmake -- Include macro /Applications/ deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_initialize_cached_variables.cmake -- Include macro /Applications/ deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_invoke_autopilot.cmake -- Include macro /Applications/ deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_pickup_tests.cmake -- Include macro /Applications/ deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_query_git_information.cmake -- Include macro /Applications/ deal.II.app/Contents/Resources/Libraries/share/deal.II/macros/macro_deal_ii_setup_target.cmake -- Configuring done -- Generating done -- Build files have been written to: /Applications/phaseField bash-3.2$ make -j 6 [ 50%] Built target prisms_pf [100%] Built target prisms_pf_debug

— Reply to this email directly, view it on GitHub https://github.com/prisms-center/phaseField/issues/199#issuecomment-1712397470, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD3FA477RDHHSNOI2MNZVYTXZPM2LANCNFSM6AAAAAA4REJWE4 . You are receiving this because you commented.Message ID: @.***>

zzzmx-josh commented 1 year ago
  1. I directly installed cmake and deal.II from dmg binary packages. The I opened deal.II app to enterl shell to activate the environment.
  2. compile PRISMS-PF core code : $ git clone https://github.com/prisms-center/phaseField.git $ cd phaseField $ cmake . $ make -j 8
  3. compile the axample app $ cd applications/allenCahn/ $ cmake . $ make -j 6 Then,the problems above appeared: make[6]: *** No rule to make target /usr/lib/libdl.dylib', needed by main'. Stop.
david-montiel-t commented 1 year ago

Hello, zzzmx_josh

What is your Mac OS version? It looks like there is an incompatibility with deal.II 9.2.0 and Big Sur. See this thread:

https://github.com/dealii/dealii/issues/10917

As the thread mentions, the issue should be fixed if you download the dmg file 9.2.0-v3. Can you try that?

If that does not work, can you try the following version (configured to work with with M1 processors):

https://github.com/dealii/dealii/releases/download/v9.4.0/dealii-9.4.0.ventura-m1.dmg

Finally, you can try installing deal.II using candi, following the approach described below:

https://github.com/dealii/dealii/wiki/Apple-ARM-M1-OSX

For this option, make sure you clone the file: https://github.com/dealii/candi/tree/dealii-9.4 (PRISMS-PF is still not compatible with the latest deal.II)

Also, once you have cloned the repository, you can edit the file candi.cfg and disable all packages except p4est end dealii, which are the only ones needed by PRISMS-PF.

I hope one of the above options works for you. Let me know if you still run into any issues.

David

On Fri, Sep 8, 2023 at 11:27 PM zzzmx_josh @.***> wrote:

  1. I directly installed cmake and deal.II from dmg binary packages. The I opened deal.II app to enterl shell to activate the environment.
  2. compile PRISMS-PF core code : $ git clone https://github.com/prisms-center/phaseField.git $ cd phaseField $ cmake . $ make -j 8
  3. compile the axample app $ cd applications/allenCahn/ $ cmake . $ make -j 6 Then,the problems above appeared: make[6]: *** No rule to make target /usr/lib/libdl.dylib', needed by main'. Stop.

— Reply to this email directly, view it on GitHub https://github.com/prisms-center/phaseField/issues/199#issuecomment-1712400565, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD3FA47NBR4YA5AYWNIRTJLXZPO2TANCNFSM6AAAAAA4REJWE4 . You are receiving this because you commented.Message ID: @.***>

zzzmx-josh commented 1 year ago

Hello, David My Mac OS version is Monterey 12.5.1. I encountered similar issues when installing deal.II 9.2.0-v3 and dealii-9.4.0.ventura-m1.dmg, where xxx /bin/mpic++ does not exist:

/Applications/deal.II.app/Contents/Resources/spack/opt/spack/darwin-catalina-x86_64/clang-11.0.3-apple/openmpi-3.1.6-ch3xlssbdriiio4hygk3xhnxclncjvze/bin/mpic++

is not a full path to an existing compiler tool.

When I finally installed it from candi, I also encountered an error with the following error message:

/Applications/deal.II.app/Contents/Resources/Libraries/include/ArborX/geometry/ArborX_HyperPoint.hpp:61:53: error: expected '(' for function-style cast or type construction static_assert(std::is_same_v<FloatingPoint, float>);


/Applications/deal.II.app/Contents/Resources/Libraries/include/ArborX/geometry/ArborX_HyperPoint.hpp:66:1: error: C++ requires a type specifier for all declarations
Point(T x, T y, T z) -> Point<3, T>;
^
5 errors generated.
make[2]: *** [source/arborx/CMakeFiles/obj_arborx_release.dir/access_traits.cc.o] Error 1
make[1]: *** [source/arborx/CMakeFiles/obj_arborx_release.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

 。。。。。
make: *** [all] Error 2
Failure with exit status: 2
Exit message: There was a problem building dealii v9.4.2. 
david-montiel-t commented 1 year ago

Hello, Josh

Did you disable all dependencies except dealii and p4est when you installed the candi version?

I think it is probably a good idea to meet via Zoom to go through your installation issues.

I am available to meet today any time today or tomorrow from 1pm to 6pm US Eastern Daylight Time.

Are any of these times convenient for you?

Best,

David

On Mon, Sep 11, 2023, 10:57 AM zzzmx_josh @.***> wrote:

Hello, David My Mac OS version is Monterey 12.5.1. I encountered similar issues when installing deal.II 9.2.0-v3 and dealii-9.4.0.ventura-m1.dmg, where xxx /bin/mpic++ does not exist:

/Applications/deal.II.app/Contents/Resources/spack/opt/spack/darwin-catalina-x86_64/clang-11.0.3-apple/openmpi-3.1.6-ch3xlssbdriiio4hygk3xhnxclncjvze/bin/mpic++

is not a full path to an existing compiler tool.

When I finally installed it from candi, I also encountered an error with the following error message:

/Applications/ deal.II.app/Contents/Resources/Libraries/include/ArborX/geometry/ArborX_HyperPoint.hpp:61:53: error: expected '(' for function-style cast or type construction static_assert(std::is_same_v<FloatingPoint, float>);


/Applications/
deal.II.app/Contents/Resources/Libraries/include/ArborX/geometry/ArborX_HyperPoint.hpp:66:1:
error: C++ requires a type specifier for all declarations
Point(T x, T y, T z) -> Point<3, T>;
^
5 errors generated.
make[2]: ***
[source/arborx/CMakeFiles/obj_arborx_release.dir/access_traits.cc.o] Error 1
make[1]: *** [source/arborx/CMakeFiles/obj_arborx_release.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

。。。。。
make: *** [all] Error 2
Failure with exit status: 2
Exit message: There was a problem building dealii v9.4.2.

—
Reply to this email directly, view it on GitHub
<https://github.com/prisms-center/phaseField/issues/199#issuecomment-1714059248>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD3FA4Y7IUHKOACWIHYKYUTXZ4REHANCNFSM6AAAAAA4REJWE4>
.
You are receiving this because you commented.Message ID:
***@***.***>
david-montiel-t commented 1 year ago

Otherwise, please let me know of convenient times for you this week.

David

On Mon, Sep 11, 2023 at 11:31 AM David Montiel Taboada @.***> wrote:

Hello, Josh

Did you disable all dependencies except dealii and p4est when you installed the candi version?

I think it is probably a good idea to meet via Zoom to go through your installation issues.

I am available to meet today any time today or tomorrow from 1pm to 6pm US Eastern Daylight Time.

Are any of these times convenient for you?

Best,

David

On Mon, Sep 11, 2023, 10:57 AM zzzmx_josh @.***> wrote:

Hello, David My Mac OS version is Monterey 12.5.1. I encountered similar issues when installing deal.II 9.2.0-v3 and dealii-9.4.0.ventura-m1.dmg, where xxx /bin/mpic++ does not exist:

/Applications/deal.II.app/Contents/Resources/spack/opt/spack/darwin-catalina-x86_64/clang-11.0.3-apple/openmpi-3.1.6-ch3xlssbdriiio4hygk3xhnxclncjvze/bin/mpic++

is not a full path to an existing compiler tool.

When I finally installed it from candi, I also encountered an error with the following error message:

/Applications/ deal.II.app/Contents/Resources/Libraries/include/ArborX/geometry/ArborX_HyperPoint.hpp:61:53: error: expected '(' for function-style cast or type construction static_assert(std::is_same_v<FloatingPoint, float>);


/Applications/
deal.II.app/Contents/Resources/Libraries/include/ArborX/geometry/ArborX_HyperPoint.hpp:66:1:
error: C++ requires a type specifier for all declarations
Point(T x, T y, T z) -> Point<3, T>;
^
5 errors generated.
make[2]: ***
[source/arborx/CMakeFiles/obj_arborx_release.dir/access_traits.cc.o] Error 1
make[1]: *** [source/arborx/CMakeFiles/obj_arborx_release.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

。。。。。
make: *** [all] Error 2
Failure with exit status: 2
Exit message: There was a problem building dealii v9.4.2.

—
Reply to this email directly, view it on GitHub
<https://github.com/prisms-center/phaseField/issues/199#issuecomment-1714059248>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD3FA4Y7IUHKOACWIHYKYUTXZ4REHANCNFSM6AAAAAA4REJWE4>
.
You are receiving this because you commented.Message ID:
***@***.***>
zzzmx-josh commented 1 year ago

Dear David, I managed to compile the PRISMS application successfully. I did this by disabling all dependencies except dealii and p4est and configuring the CMAKE_CXX_COMPILER to use the mpic++ I installed in /opt/brew/bin/mpic++. One thing I overlooked was forgetting to delete the old CMakeFiles directory from a previous failed compilation. This directory still had the old compilation settings, which caused some errors in my recent attempt. Thanks for your patience and help throughout this process. Best, Josh

david-montiel-t commented 1 year ago

I am glad to hear it worked out.

Best regards,

David

On Mon, Sep 11, 2023, 9:28 PM zzzmx_josh @.***> wrote:

Closed #199 https://github.com/prisms-center/phaseField/issues/199 as completed.

— Reply to this email directly, view it on GitHub https://github.com/prisms-center/phaseField/issues/199#event-10340585931, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD3FA4ZC7TPC2JQJHTH7SITXZ63DLANCNFSM6AAAAAA4REJWE4 . You are receiving this because you commented.Message ID: @.***>