Skip to content

Maint/update to reflect inclusion of micromorphic elasto plasticity in conda forge - #19

Merged
NateAM merged 9 commits into
devfrom
maint/update-to-reflect-inclusion-of-micromorphic-elasto-plasticity-in-conda-forge
Feb 23, 2026
Merged

NateAM merged 9 commits into
devfrom
maint/update-to-reflect-inclusion-of-micromorphic-elasto-plasticity-in-conda-forge

Conversation

@NateAM

@NateAM NateAM commented Feb 19, 2026

Copy link
Copy Markdown
Member

No description provided.

@NateAM NateAM self-assigned this Feb 19, 2026
@NateAM NateAM added the maintenance General maintenance of the code label Feb 19, 2026
@NateAM

NateAM commented Feb 19, 2026

Copy link
Copy Markdown
Member Author

The macos builds are failing because tardigrade_micromorphic_elasto_plasticity isn't available on conda-forge for mac yet. If they fail with this current test I'll kick them off this afternoon.

@NateAM

NateAM commented Feb 19, 2026

Copy link
Copy Markdown
Member Author

@kbrindley do you happen to see where I'm going wrong here? I can see it can't find the symbols, but I don't know why.

@kbrindley

Copy link
Copy Markdown
Contributor

@kbrindley do you happen to see where I'm going wrong here? I can see it can't find the symbols, but I don't know why.

I see something like the following. Is this the error message you're looking at?

test_tardigrade_micromorphic_linear_elasticity_interface.cpp:(.text._ZN28testMaterialLibraryInterface11test_methodEv+0xd59): undefined reference to `tardigradeMicromorphicLinearElasticity::evaluate_hydra_model(
...
collect2: error: ld returned 1 exit status

Without digging into the c++ files themselves, my only other guess is that the other repositories in the stack might be setting LD_LIBRARY_PATH during testing?

I don't think that's quite right, though. I think the CMake configuration sets LD_LIBRARY_PATH for in-source tests because we never bothered to get the RPATH correct to link to the in-source built library. I think the RPATHs are correct for the as-installed library (conda built and tested), so the conda recipe tests should not need LD_LIBRARY_PATH fudges.

Is the c++ namespace correct in the conda-forge installed upstream package? Do you have a working example of using this upstream?

    tardigrade_micromorphic_linear_elasticity: 1.5.3-hb700be7_0            conda-forge

@NateAM

NateAM commented Feb 20, 2026

Copy link
Copy Markdown
Member Author

@kbrindley do you happen to see where I'm going wrong here? I can see it can't find the symbols, but I don't know why.

I see something like the following. Is this the error message you're looking at?

test_tardigrade_micromorphic_linear_elasticity_interface.cpp:(.text._ZN28testMaterialLibraryInterface11test_methodEv+0xd59): undefined reference to `tardigradeMicromorphicLinearElasticity::evaluate_hydra_model(
...
collect2: error: ld returned 1 exit status

Without digging into the c++ files themselves, my only other guess is that the other repositories in the stack might be setting LD_LIBRARY_PATH during testing?

I don't think that's quite right, though. I think the CMake configuration sets LD_LIBRARY_PATH for in-source tests because we never bothered to get the RPATH correct to link to the in-source built library. I think the RPATHs are correct for the as-installed library (conda built and tested), so the conda recipe tests should not need LD_LIBRARY_PATH fudges.

Is the c++ namespace correct in the conda-forge installed upstream package? Do you have a working example of using this upstream?

    tardigrade_micromorphic_linear_elasticity: 1.5.3-hb700be7_0            conda-forge

Yeah, that's the error message I'm seeing. I have been able to reproduce the error locally, so I'm hopeful I can get this debugged. This is probably going to be a problem in the future for tardigrade_cmml so it's good to solve this now.

@NateAM

NateAM commented Feb 23, 2026

Copy link
Copy Markdown
Member Author

@kbrindley do you happen to see where I'm going wrong here? I can see it can't find the symbols, but I don't know why.

I see something like the following. Is this the error message you're looking at?

test_tardigrade_micromorphic_linear_elasticity_interface.cpp:(.text._ZN28testMaterialLibraryInterface11test_methodEv+0xd59): undefined reference to `tardigradeMicromorphicLinearElasticity::evaluate_hydra_model(
...
collect2: error: ld returned 1 exit status

Without digging into the c++ files themselves, my only other guess is that the other repositories in the stack might be setting LD_LIBRARY_PATH during testing?
I don't think that's quite right, though. I think the CMake configuration sets LD_LIBRARY_PATH for in-source tests because we never bothered to get the RPATH correct to link to the in-source built library. I think the RPATHs are correct for the as-installed library (conda built and tested), so the conda recipe tests should not need LD_LIBRARY_PATH fudges.
Is the c++ namespace correct in the conda-forge installed upstream package? Do you have a working example of using this upstream?

    tardigrade_micromorphic_linear_elasticity: 1.5.3-hb700be7_0            conda-forge

Yeah, that's the error message I'm seeing. I have been able to reproduce the error locally, so I'm hopeful I can get this debugged. This is probably going to be a problem in the future for tardigrade_cmml so it's good to solve this now.

It looks like the error is because I needed to link the individual material model libraries as well as the full library. I think I understand why, though it is a bit surprising.

@NateAM
NateAM merged commit 3be3836 into dev Feb 23, 2026
6 checks passed
@NateAM
NateAM deleted the maint/update-to-reflect-inclusion-of-micromorphic-elasto-plasticity-in-conda-forge branch February 23, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance General maintenance of the code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants