#2826: NRPyEllipticET documentation file uses extra LaTeX package
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component:
Using extra packages \(`listing` in this case\) breaks the `<config>-ThornGuide` target which builds a single PDF file with all documentation \([http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-34000B3.3](http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-34000B3.3)\).
The only packages that may be used \(and they don’t need a `\usepackage`\) are those already required by `cactus.sty`:
```
$ grep RequirePackage repos/flesh/doc/latex/cactus.sty
\RequirePackage[utf8]{inputenc}
\RequirePackage{fancyhdr}
\RequirePackage{graphicx}
\RequirePackage{latexsym}
\RequirePackage{amssymb}
\RequirePackage{amsmath}
\RequirePackage{ifthen}
\RequirePackage{calc}
\RequirePackage{thumbpdf}
\RequirePackage{hyperref}
```
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2826/nrpyellipticet-do…
#2825: GRHayL documentation files uses extra LaTeX package
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component:
Using extra packages \(`xspace` in this case\) breaks the `<config>-ThornGuide` target which builds a single PDF file with all documentation \([http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-34000B3.3](http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-34000B3.3)\).
The only packages that may be used \(and they don’t need a `\usepackage`\) are those already required by `cactus.sty`:
```
$ grep RequirePackage repos/flesh/doc/latex/cactus.sty
\RequirePackage[utf8]{inputenc}
\RequirePackage{fancyhdr}
\RequirePackage{graphicx}
\RequirePackage{latexsym}
\RequirePackage{amssymb}
\RequirePackage{amsmath}
\RequirePackage{ifthen}
\RequirePackage{calc}
\RequirePackage{thumbpdf}
\RequirePackage{hyperref}
```
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2825/grhayl-documentat…
#2824: CarpetX documentation file uses extra LaTeX package
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: minor
Component:
Using extra packages \(`listing` in this case\) breaks the `<config>-ThornGuide` target which builds a single PDF file with all documentation \([http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-34000B3.3](http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-34000B3.3)\).
The only packages that may be used \(and they don’t need a `\usepackage`\) are those already required by `cactus.sty`:
```
$ grep RequirePackage repos/flesh/doc/latex/cactus.sty
\RequirePackage[utf8]{inputenc}
\RequirePackage{fancyhdr}
\RequirePackage{graphicx}
\RequirePackage{latexsym}
\RequirePackage{amssymb}
\RequirePackage{amsmath}
\RequirePackage{ifthen}
\RequirePackage{calc}
\RequirePackage{thumbpdf}
\RequirePackage{hyperref}
```
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2824/carpetx-documenta…
#2823: Include TOVola: An enhanced TOV solver with Tabulated EOS support
Reporter: David Boyer
Status: new
Milestone:
Version:
Type: enhancement
Priority: major
Component: EinsteinToolkit thorn
TOVola is an enhanced TOV solver that has support of multiple different EOS types \(Simple and Piecewise Polytrope, and **Tabulated EOS**\) through the use of the GRHayLib thorn. It also has access to two different ODE methods through the use of GSL’s ODE solver \(RK4\(5\) and DP7\(8\)\), but more methods can be added in the future if there is a desire, as long as it is a GSL compatible method.
To be used in the GRHayL announcement paper, currently in prep.
Here is the github link: [https://github.com/dboyer7/TOVola](https://github.com/dboyer7/TOVola)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2823/include-tovola-an…
#2822: work around full paths used by pkg-config in `-l` options
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: bug
Priority: minor
Component:
Comment (by Steven R. Brandt):
This change looks good… should it be a PR?
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2822/work-around-full-…
#2822: work around full paths used by pkg-config in `-l` options
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: bug
Priority: minor
Component:
Changes (by Roland Haas):
title: work around full paths used by pkg-config in `-l` options (was support full paths to libraries in LIBS variables)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2822/work-around-full-…
#2822: support full paths to libraries in LIBS variables
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: bug
Priority: minor
Component:
Comment (by Roland Haas):
@{5bae587b96242d2e2b6110a4} says that this also can be \(for hdf5 with homebrew\) be avoid by not passing the `--static` flag to `pkg-config`.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2822/support-full-path…
#2819: SetMask_SphericalSurface uses LoopControl's LC_LOOP but does not require LoopControl
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: bug
Priority: major
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
Thank you.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2819/setmask_spherical…
#2822: support full paths to libraries in LIBS variables
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: bug
Priority: minor
Component:
Changes (by Roland Haas):
On macOS using Homebrew `pkg-config` for HDF5 returns full library paths instead of `-lLIBNAME` stanzas:
```
rhaas@gdd6l52n-ofc Cactus % pkg-config --libs-only-l --static hdf5
-lhdf5 -lm -ldl -l/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/lib/libz.tbd -l/opt/homebrew/lib/libsz.dylib
```
This happens only for static linking. This causes g\+\+ to fail at link time:
```
rhaas@gdd6l52n-ofc Cactus % g++-14 `pkg-config --libs-only-L hdf5` `pkg-config --libs-only-l --static hdf5` dummy.c
ld: library '/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/lib/libz.tbd' not found
collect2: error: ld returned 1 exit status
```
This seems like bug in the pkg-config file \(\`/opt/homebrew/Cellar/hdf5/1.14.3\_1/lib/pkgconfig/hdf5.pc\`\) supplied by HomeBrew:
```
rhaas@gdd6l52n-ofc Cactus % cat /opt/homebrew/Cellar/hdf5/1.14.3_1/lib/pkgconfig/hdf5.pc
prefix=/opt/homebrew/Cellar/hdf5/1.14.3_1
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: hdf5
Description: HDF5 (Hierarchical Data Format 5) Software Library
Version: 1.14.3
Cflags: -I${includedir}
Libs: -L${libdir} -lhdf5
Requires:
Libs.private: -lhdf5 -lm -ldl -l/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/lib/libz.tbd -l/opt/homebrew/lib/libsz.dylib -l/opt/homebrew/lib/libsz.dylib
Requires.private:
```
Correct would be to not use `-l` with the full path \(at least it will link\):
```
g++-14 `pkg-config --libs-only-L hdf5` dummy.c /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/lib/libz.tbd
```
Right now we have no way of handling full paths in LIBS files though git hash [cb3a8731](https://bitbucket.org/cactuscode/cactus/commits/cb3a873135a303223… "Cactus: New pseudo-flag `-file=`" of [cactus](https://bitbucket.org/cactuscode/cactus) proposes some \(partial\) solution. This would require changes in all ExternalLibraries though \(that may need to pass `LIBS` to their own `configure`\). Another solution might be \(in `bash_utils.sh`\) to detect full paths in `-l` entries and split into a `-L` and a `-l` entry. This assumes knowledge of the library prefix \(usually `lib`\) and extension \(`.a`, `.so`, `.dylib`, `.dll`\).
A workaround for HDF5 is to self-compile HDF5 using `HDF5_DIR=BUILD`.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2822/support-full-path…
#2822: support full paths to libraries in LIBS variables
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: minor
Component:
Comment (by Roland Haas):
A possible workaround in `bash_utils.sh` is
```shell
# NOTE: This breaks if pkg-config returns quotes strings, i.e., path names
# with strings in them. It doesn't seems to happen in practice.
# If it does: let us know what pkg-config prints in that case, and we
# can try to fix it.
local INC_DIRS=$($PKGCONFIG --cflags-only-I "$STATIC" "$LIBNAME" | perl -pe 's/(^| )+-I/\1/g')
local LIB_DIRS=$($PKGCONFIG --libs-only-L "$STATIC" "$LIBNAME" | perl -pe 's/(^| )+-L/\1/g')
local LIBS=""
local ALLLIBS=$($PKGCONFIG --libs-only-l "$STATIC" "$LIBNAME" | perl -pe 's/(^| )+-l/\1/g')
for lib in $ALLLIBS; do
if [ "${lib%/*}" != "$lib" ] ; then
LIB_DIRS="$LIB_DIRS ${lib%/*}"
lib=${lib##*/lib}
lib=${lib%.*}
fi
LIBS="$LIBS $lib"
done
```
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2822/support-full-path…
#2822: support full paths to libraries in LIBS variables
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: minor
Component:
On macOS using Homebrew `pkg-config` for HDF5 returns full library paths instead of `-lLIBNAME` stanzas:
```
rhaas@gdd6l52n-ofc Cactus % pkg-config --libs-only-l --static hdf5
-lhdf5 -lm -ldl -l/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/lib/libz.tbd -l/opt/homebrew/lib/libsz.dylib
```
This happens only for static linking. This causes g\+\+ to fail at link time:
```
rhaas@gdd6l52n-ofc Cactus % g++ `pkg-config --libs-only-L hdf5` `pkg-config --libs-only-l --static hdf5` dummy.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
ld: library '/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/lib/libz.tbd' not found
```
This seems like bug in the pkg-config file \(\`/opt/homebrew/Cellar/hdf5/1.14.3\_1/lib/pkgconfig/hdf5.pc\`\) supplied by HomeBrew:
```
rhaas@gdd6l52n-ofc Cactus % cat /opt/homebrew/Cellar/hdf5/1.14.3_1/lib/pkgconfig/hdf5.pc
prefix=/opt/homebrew/Cellar/hdf5/1.14.3_1
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: hdf5
Description: HDF5 (Hierarchical Data Format 5) Software Library
Version: 1.14.3
Cflags: -I${includedir}
Libs: -L${libdir} -lhdf5
Requires:
Libs.private: -lhdf5 -lm -ldl -l/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/lib/libz.tbd -l/opt/homebrew/lib/libsz.dylib -l/opt/homebrew/lib/libsz.dylib
Requires.private:
```
Correct would be to not use `-l` with the full path \(at least it will link\):
```
g++ `pkg-config --libs-only-L hdf5` dummy.c /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/lib/libz.tbd
```
Right now we have no way of handling full paths in LIBS files though git hash [cb3a8731](https://bitbucket.org/cactuscode/cactus/commits/cb3a873135a303223… "Cactus: New pseudo-flag `-file=`" of [cactus](https://bitbucket.org/cactuscode/cactus) proposes some \(partial\) solution. This would require changes in all ExternalLibraries though \(that may need to pass `LIBS` to their own `configure`\). Another solution might be \(in `bash_utils.sh`\) to detect full paths in `-l` entries and split into a `-L` and a `-l` entry. This assumes knowledge of the library prefix \(usually `lib`\) and extension \(`.a`, `.so`, `.dylib`, `.dll`\).
A workaround for HDF5 is to self-compile HDF5 using `HDF5_DIR=BUILD`.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2822/support-full-path…
#2821: update PETSc to 3.21.5
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component: EinsteinToolkit thorn
ExernalLibraries/PETSc fails to compile for me with gcc-14 and required both an update \(to 3.12.5\) and change in how it is compiled to make its own `configure.py` pass.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2821/update-petsc-to-3…
#2819: SetMask_SphericalSurface uses LoopControl's LC_LOOP but does not require LoopControl
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: bug
Priority: major
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
Please review.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2819/setmask_spherical…