Build fails on static build with: error: actual for "Container" must be a variable
Nobody has claimed this yet.
- Dominant language
- Ada
- Stars
- 21
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
Trying to build the ecosystem on a raspberrypi running opensuse 16.0. It's a clean build.
Building gprbuild, xmlada, gnatcoll-core, gnatcoll-bindings all work flawlessly.
Trying to build gpr succeeds in building the gpr2 lib, but when it comes to building gpr2-tools, it fails.
This is wiith gcc 15.2.1.
The truncated output is:
mkdir -p .build/kb
cp ./kb/gpr2-kb-embedded.ads .build/kb
gprbuild -p -P ./kb/collect_kb.gpr -XKB_BUILD_DIR=.build/kb --relocate-build-tree
Setup
[mkdir] object directory for project Collect_KB
Compile
[Ada] collect_kb.adb
Bind
[gprbind] collect_kb.bexch
[Ada] collect_kb.ali
Link
[link] collect_kb.adb
.build/kb/collect_kb -o .build/kb ./../gprconfig_kb/db
collect_kb: parsing /usr/src/build/Ada/gprconfig_kb/db...
/usr/src/build/Ada/gprconfig_kb/db/compilers-ppc64-vx7r2.xml
/usr/src/build/Ada/gprconfig_kb/db/compilers-vxworks.xml
[...]
gprbuild -p -j0 -XGPR2_BUILD=release_checks -XBUILD_ROOT="/usr/src/build/Ada/gpr/.build" -XPROFILER=no -XLIBRARY_TYPE=static -XXMLADA_BUILD=static \
./gpr2.gpr
Setup
[mkdir] object directory for project GPR2
[mkdir] library directory for project GPR2
Compile
[C] gpr_parser-gdb.c
[Ada] gpr_parser-rewriting.adb
[...]
gprbuild -p -j0 -XGPR2_BUILD=release_checks -XBUILD_ROOT="/usr/src/build/Ada/gpr/.build" -XPROFILER=no -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable \
./gpr2.gpr
Setup
[mkdir] object directory for project GPR2
[mkdir] library directory for project GPR2
Compile
[C] gpr_parser-gdb.c
[Ada] gpr_parser-rewriting.adb
[...]
gprbuild -p -j0 -XGPR2_BUILD=release_checks -XBUILD_ROOT="/usr/src/build/Ada/gpr/.build" -XPROFILER=no -XLIBRARY_TYPE=static-pic -XXMLADA_BUILD=static-pic \
./gpr2.gpr
Setup
[mkdir] object directory for project GPR2
[mkdir] library directory for project GPR2
Compile
[C] gpr_parser-gdb.c
[Ada] gpr_parser-rewriting.adb
[...]
gprbuild -p -j0 -XGPR2_BUILD=release_checks -XBUILD_ROOT="/usr/src/build/Ada/gpr/.build" -XPROFILER=no -XLIBRARY_TYPE=static -XXMLADA_BUILD=static \
./tools/gpr2-tools.gpr -aP .
Setup
[mkdir] object directory for project GPR2.Tools
Compile
[Ada] gprbuild-main.adb
[Ada] gprclean-main.adb
[Ada] gprconfig.adb
[Ada] gprdoc-main.adb
[Ada] gprinspect-main.adb
[Ada] gprinstall-main.adb
[Ada] gprls-main.adb
[Ada] gprremote-main.adb
[Ada] gpr2-interrupt_handler.ads
[Ada] gprdoc.ads
[Ada] gprdoc-process.adb
[Ada] gprtools.ads
[Ada] gprtools-command_line.adb
[Ada] gprtools-options.adb
[Ada] gprtools-program_termination.adb
[Ada] gprtools-sigint.adb
[Ada] gprtools-util.adb
[Ada] gprbuild.ads
[Ada] gprbuild-options.adb
[Ada] gprinspect.ads
[Ada] gprinspect-external_tools_support.adb
gprbuild-options.adb:369:16: error: actual for "Container" must be a variable
gprbuild-options.adb:378:16: error: actual for "Container" must be a variable
[etc...]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the static gpr2-tools build with GCC 15.2.1 and inspect gprbuild-options.adb at lines 369 and 378, where the compiler reports the invalid Container actual. Compare the affected calls with the surrounding code and verify that all static build variants complete successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100