IDAES / idaes-ext

IDAES developer repo for those building the idaes binary solvers and related tools.
Other
9 stars 11 forks source link

Make sure distributed libraries are relocatable #262

Closed Robbybp closed 9 months ago

Robbybp commented 1 year ago

With these changes, I believe a user will still need the following steps to link against our IDAES libraries:

We could apply a patch in compile_solvers.sh to comment out the "Requires.private" line in ipopt.pc, but it would be nice if we could somehow compile Ipopt such that these requirements (which don't seem to actually be necessary) are not included.

Robbybp commented 9 months ago

Petsc didn't appear in my local build on MacOS as I didn't have petsc installed in the expected location (which is the somewhat peculiar $HOME/src/petsc). I've updated the compile script to only set PETSC_DIR if it is not already set (so the user's preset takes precedence). With this change, I can build with my own locally installed petsc and correctly get petsc in the bin directory, and the following petscpy subdirectory of lib:

.
├── lib
│   ...
│   ├── petscpy
│   │   ├── PetscBinaryIO.py
│   │   ├── PetscBinaryIOTrajectory.py
│   │   ├── petsc_conf.json
│   │   └── petsc_conf.py

I don't think we need to re-test the docker builds, as this should not change default behavior. @MarcusHolly can you look at the Windows and one of the linux builds you produced last week, and check that petsc and petscpy/ appear in the bin and lib subdirectories of the tar files? If this looks okay, I think this PR will be ready to merge.

MarcusHolly commented 9 months ago

@Robbybp petsc and petscpy/ appear in the Windows build and the linux builds

Robbybp commented 9 months ago

@jsiirola you are still planning to review this, right?

Robbybp commented 9 months ago

@ksbeattie I believe this is ready for merge.