#2550: support compiling in Raspberry Pi 4
Reporter: Roland Haas
Status: resolved
Milestone:
Version: development version
Type: enhancement
Priority: minor
Component:
Changes (by Roland Haas):
status: resolved (was open)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2550/support-compiling…
#2550: support compiling in Raspberry Pi 4
Reporter: Roland Haas
Status: open
Milestone:
Version: development version
Type: enhancement
Priority: minor
Component:
Comment (by Erik Schnetter):
This looks good. Please apply.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2550/support-compiling…
#2550: support compiling in Raspberry Pi 4
Reporter: Roland Haas
Status: open
Milestone:
Version: development version
Type: enhancement
Priority: minor
Component:
Changes (by Roland Haas):
status: open (was new)
Comment (by Roland Haas):
Please review.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2550/support-compiling…
#2550: support compiling in Raspberry Pi 4
Reporter: Roland Haas
Status: new
Milestone:
Version: development version
Type: enhancement
Priority: minor
Component:
The Pi4 \(and maybe 3 and 2 as well, I don’t own a 3 and compiling on my 2 is going to be painful\) use gnueabihf which the current known-architectures do not catch.
Pull request [https://bitbucket.org/cactuscode/cactus/pull-requests/125/support-raspberry… adds code to recognize and and also fixes some reliance on GNU awk \(or so it seems\) rather than eg mawk \(in raspbian minimal\).
With these I can compile ET\_2021\_05 and run both the 2 and 1 process testsuites without a single error.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2550/support-compiling…
#2546: CarpetIOHDF5: Don't set "delta" attribute to zero for zero-width components
Reporter: Erik Schnetter
Status: closed
Milestone:
Version: development version
Type: enhancement
Priority: minor
Component:
Changes (by Erik Schnetter):
status: closed (was resolved)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2546/carpetiohdf5-dont…
#2546: CarpetIOHDF5: Don't set "delta" attribute to zero for zero-width components
Reporter: Erik Schnetter
Status: resolved
Milestone:
Version: development version
Type: enhancement
Priority: minor
Component:
Changes (by Erik Schnetter):
status: resolved (was open)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2546/carpetiohdf5-dont…
#2548: Compilation failure: "const" assignment in LoopControl/src/loopcontrol.cc
Reporter: Bernard Kelly
Status: open
Milestone: ET_2021_05
Version: ET_2021_05
Type: bug
Priority: major
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
I can compile fine with Intel 17 on Blue Waters if I use a modern enough C\+\+ library. However if I force it to use gcc 4.3 by using --gxx-name then I get the same error that you see:
```
COMPILING Carpet/LoopControl/src/loopcontrol.cc
/mnt/a/u/staff/rhaas/ET_Next/arrangements/Carpet/LoopControl/src/loopcontrol.cc(70): error: function call must have a constant value in a constant expression
lc_random.max() - lc_random.min() + 1;
^
/mnt/a/u/staff/rhaas/ET_Next/arrangements/Carpet/LoopControl/src/loopcontrol.cc(70): error: function call must have a constant value in a constant expression
lc_random.max() - lc_random.min() + 1;
^
compilation aborted for /mnt/a/u/staff/rhaas/ET_Next/configs/sim-intel/build/LoopControl/loopcontrol.cc (code 2)
```
so both this and #2547 are due to a too old stdc\+\+ library. Trying to work around this by using `minstd_rand::max()` does not work and gives:
```plaintext
COMPILING Carpet/LoopControl/src/loopcontrol.cc
/mnt/a/u/staff/rhaas/ET_Next/arrangements/Carpet/LoopControl/src/loopcontrol.cc(70): error: a nonstatic member reference must be relative to a specific object
minstd_rand::max() - minstd_rand::min() + 1;
^
/mnt/a/u/staff/rhaas/ET_Next/arrangements/Carpet/LoopControl/src/loopcontrol.cc(70): error: a nonstatic member reference must be relative to a specific object
minstd_rand::max() - minstd_rand::min() + 1;
^
compilation aborted for /mnt/a/u/staff/rhaas/ET_Next/configs/sim-intel/build/LoopControl/loopcontrol.cc (code 2)
```
indicating that the library does not declare the function correctly as a static class function and indeed digging into the header files on BlueWaters shows it to be defined as:
```c++
result_type
max() const
{ return __m - 1; }
```
A workaround would be to remove `constexpr` from this line of code but given that thorn `Vectors` also fails with due to the same old C\+\+ library, I am not sure if the workaround would help a lot \(would only help in situations where `LoopControl` but not `Vectors` is used\).
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2548/compilation-failu…