kburtch/SparForte

BDB compile error

qunying opened this issue · 3 comments

Compiled under Slackware64, with gcc 11.2.0 (SparForte 2.4.1)
Tested with main trunk, still has the same error.

Making Berkeley DB Support

gmake -C bdb
gmake[2]: Entering directory '/tmp/slackAda/SparForte-2.4.1/src/bdb'
gcc -DBDB4 -o gen_constants -Wall -fstack-protector -O1 -D_FORTIFY_SOURCE=2 gen_constants.c
gcc -O3 -DBDB4 -Wall -fstack-protector -O1 -D_FORTIFY_SOURCE=2 -c c_bdb.c
./gen_constants > bdb_constants.ads
gnatmake -c -gnatVaep -gnateEeAeEeF db.adb
gcc -c -gnatVaep -gnateEeAeEeF db.adb
db.adb:69:58: prefix of "overlaps_storage" attribute must be object

overlaps_storage attribute is not used in this file or anywhere else in SparForte. I cannot duplicate this issue on Mint 20.2, Debian 11.1 or Red Hat 7.

Perhaps it is a gcc 11.2 bug. I'm not sure how to address it as the attribute is not in the source code.

According to https://www.reddit.com/r/ada/comments/gp8usy/error_prefix_of_overlaps_storage_attribute_must/

If I remove "eA" from -gnateEeAeEeF, it compiles without problem.

option removed and change pushed. a comment added that this is likely a gcc 11 issue.