#2619: include Ellipitca (reader) in Einstein Toolkit
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: enhancement
Priority: major
Component:
Comment (by Pedro Espino):
Hi Roland, thank you for the guidance. We were able to write an ExternalLibraries thorn for the library in question and to compile the toolkit with this thorn by specifying the aforementioned options \(INC\_DIRS, LIB\_DIRS, and LIBS\). However, when we try to compile the separate reader thorn along with this ExternalLibrary, the compilation is facing an issue in the linking stage. Specifically, we would compile the reader code \(currently being ported to a thorn\) using this library using the following command:
gcc -o idr idr.c -fopenmp -I/path/to/INC\_DIRS -L/path/to/LIB\_DIRS **-lelliptica\_id\_reader -Wl,-rpath,/path/to/LIB\_DIRS -lm**
We have tried including the linker options \(**-lelliptica\_id\_reader -Wl,-rpath,/path/to/LIB\_DIRS -lm**\) in LDFLAGS and in the LIBS environment variables during compilation, but we are still running into a compilation error during the linking stage. Is there some way to have to toolkit use these linking options to compile the reader thorn specifically?
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2619/include-ellipitca…
#2619: include Ellipitca (reader) in Einstein Toolkit
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: enhancement
Priority: major
Component:
Comment (by Roland Haas):
Ideally the library would become an ExternalLibrary \(same as say LORENE [https://github.com/einsteinToolkit/externalLibraries-lorene](https://github…) and the reader thorn would REQUIRE it \(like Meudon\_Bin\_NS [https://bitbucket.org/einsteintoolkit/einsteininitialdata/src/master/Meudon… in file configuration.ccl\).
This has the advantage that multiple different ID readers can use the same ExternalLibrarry eg for BBH or BNS or BHNS initial data. Those should not be all handled by a single thorn since eg the BNS or BHNS reader will need to provide data in thorn HydroBase which would not be active for a pure vacuum run.
If the library cannot be incorporated as an ExternalLibrary \(eg b/c it requires use of C\+\+ features not allowed in C\+\+11 or Fortran newer than Fortran 2008\) then you could have the ID thorns take `FOO_DIR` etc option list variables the way an ExternalLibrary thorn would do. However this would mean that a user who would like to compile in multiple different ID thorns all using Elliptica’s library would have to, potentially, set multiple option list variables with identical values.
On the technical level, you can tell the build system which library to link against and the path to find is using configuration.ccl by adding a \([http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-53000C1.2.3](http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-53000C1.2.3)\) block
```
PROVIDES <My_Capability>
{
SCRIPT <My_ConfigScript>
LANG <My_Language>
}
```
where `My_ConfigScript` has to produce output that adheres to the syntax described here: [http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-194000D2.5.1](http…
For a library that cannot be compiled from source you can pattern this after what is done in ExternalLbraries/pthreads \(this is fine even if you have actual Cactus code in `src`/\) which looks like what you can find here \([https://github.com/EinsteinToolkit/ExternalLibraries-pthreads](https://github.com/EinsteinToolkit/ExternalLibraries-pthreads)\): [https://github.com/EinsteinToolkit/ExternalLibraries-pthreads/blob/master/s… The important bit are the `MAKE_DEFINITION` \(to set Makefile variables that other thorns can use\) and `INCLUDE_DIRECTORY`, `LIBRARY_DIRECTORY`, `LIBRARY` \(to tell Cactus what `-L`, `-I` and `-l` options to produce\) blocks:
```
echo "BEGIN MAKE_DEFINITION"
echo "PTHREADS_DIR = ${PTHREADS_DIR}"
echo "PTHREADS_INC_DIRS = ${PTHREADS_INC_DIRS}"
echo "PTHREADS_LIB_DIRS = ${PTHREADS_LIB_DIRS}"
echo "PTHREADS_LIBS = ${PTHREADS_LIBS}"
echo "END MAKE_DEFINITION"
echo 'INCLUDE_DIRECTORY $(PTHREADS_INC_DIRS)'
echo 'LIBRARY_DIRECTORY $(PTHREADS_LIB_DIRS)'
echo 'LIBRARY $(PTHREADS_LIBS)'
```
Hope this helps.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2619/include-ellipitca…
#2619: include Ellipitca (reader) in Einstein Toolkit
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: enhancement
Priority: major
Component:
Comment (by Alireza R.):
Hi @{557058:59e031ba-9bb5-4298-a472-7b99d0ae6f22} ,
I have a question: we need to link a library for the reader. I don’t know how where and how to specify the path and name to the library. Please give me an example file. Thanks!
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2619/include-ellipitca…
#2696: Update kuibit to 1.4.0
Reporter: Gabriele Bozzola
Status: new
Milestone: ET_2023_05
Version:
Type: enhancement
Priority: major
Component:
Comment (by Samuel Cupp):
@{557058:59e031ba-9bb5-4298-a472-7b99d0ae6f22} @{557058:4b0c8315-696b-4d2e-92da-2da5fea9e8d4}
Hey. I wasn’t at the last ET meeting, but I didn’t see any discussion of this topic. Has a consensus been reached on what the plan is for Kuibit? I don’t want Cheng-Hsin to waste his time reviewing parts that may not be in the release, so I would appreciate getting a clear goal for what is being changed/updated in the ET version of kuibit for the release, if anything. Or, if it’s remaining in its current form, I can tell Cheng-Hsin that he’s off the hook for reviewing it.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2696/update-kuibit-to-…
#2702: Cactus: CCTK_ParameterWalk: Avoid uninitialized variable
Reporter: Erik Schnetter
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component: Cactus
Ensure \`next\_index\` is re-initialized every time.
Otherwise there is a code path where `CCTK_ParameterWalk` is called with `first=1`, where `next_index` is not reset to `0` before it is used.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2702/cactus-cctk_param…
#2256: transfer ET wiki from mediawiki to bitbucket wiki (markdown)
Reporter: Roland Haas
Status: open
Milestone:
Version:
Type: task
Priority: minor
Component: EinsteinToolkit website
Changes (by Roland Haas):
responsible: (was [])
assignee: (was Steven R. Brandt)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2256/transfer-et-wiki-…