nasa / trick

Trick Simulation Environment. Trick provides a common set of simulation capabilities and utilities to build simulations automatically.
Other
26 stars 14 forks source link

trick configure can look in homebrew directory on macos #1716

Closed excaliburtb closed 1 month ago

excaliburtb commented 1 month ago

just wanted to add that configure can start looking in /opt/homebrew bin and lib directories for a lot of the required packages for macos. since it seems to be the standard install path for a lot of packages. that said, llvm still has to be pointed to via --with-llvm.

currently on macos sonoma, i can build trick with brew installed hdf5 udunits and llvm as long as I do: ./configure --with-udunits=/opt/homebrew --with-hdf5=/opt/homebrew --with-llvm=/opt/homebrew/opt/llvm

seems like udunits and hdf5 could be automatically looked for in that location.

just a suggestion

hchen99 commented 1 month ago

Yeah, this is needed for M1, intel doesn't need this on macos sonoma. We'll update our installation guide for M1.

hchen99 commented 1 month ago

@excaliburtb For udunits on Mac (M1), do you know if both --with-udunits=/opt/homebrew and --with-udunits=/opt/homebrew/opt/udunits work? Sorry, I don't have M1 to test and I received Zack's notes as --with-udunits=/opt/homebrew/opt/udunits . So wanted to double check as I am in the middle of updating our install guide for Mac. Thanks!

excaliburtb commented 1 month ago

both work for finding udunits.

An interesting problem for specifying the product-specific directories instead of /opt/homebrew when enabling hdf5, the makefiles end up adding the sz library to the linking for gxplot. at least one of with-udunits or with-hdf5 needs to specify /opt/homebrew so that the library area /opt/homebrew/lib gets added to the hdf5 or udunits LIBS make variable.

Things work for multiple versions of Trick and with/without hdf5 options by using plain /opt/homebrew because it allows for some other libs to be found compiling the data products. For instance, ./configure --with-udunits=/opt/homebrew/opt/udunits --with-hdf5=/opt/homebrew/opt/hdf5 --with-llvm=/opt/homebrew/opt/llvm doesn't work if -lsz is added for hdf5 support. but ./configure --with-udunits=/opt/homebrew --with-hdf5=/opt/homebrew --with-llvm=/opt/homebrew/opt/llvm works for multiple trick versions

hchen99 commented 1 month ago

Thanks for all the info. That's very helpful. Thanks for pointing out about how this is related to -lsz with hdf5 support. This helps to address issue #1481 too.