Skip to content

Compilation error on the latest fedora #125

Closed
@jvoisin

Description

@jvoisin

As part of mimalloc-bench, we're building tcmalloc in the fedora:latest docker image, but unfortunately, it recently failed with the following error, with gcc-c++-12.1.1-1.fc36.x86_64:

Cloning into 'tcg'...
HEAD is now at f818385 Internal change.
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: tcmalloc
Analyzing: target //tcmalloc:tcmalloc (1 packages loaded, 0 targets configured)
Analyzing: target //tcmalloc:tcmalloc (15 packages loaded, 47 targets configured)
INFO: Analyzed target //tcmalloc:tcmalloc (34 packages loaded, 487 targets configured).

INFO: Found 1 target...
[0 / 4] [Prepa] Creating source manifest for //tcmalloc:tcmalloc
[5 / 118] Compiling tcmalloc/guarded_page_allocator.cc; 0s processwrapper-sandbox ... (2 actions running)
ERROR: /__w/mimalloc-bench/mimalloc-bench/extern/tcg/tcmalloc/BUILD:279:11: Compiling tcmalloc/guarded_page_allocator.cc failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 33 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
In file included from ./tcmalloc/static_vars.h:42,
                 from ./tcmalloc/pagemap.h:38,
                 from tcmalloc/guarded_page_allocator.cc:39:
./tcmalloc/sampled_allocation.h: In constructor 'constexpr tcmalloc::tcmalloc_internal::SampledAllocation::SampledAllocation()':
./tcmalloc/sampled_allocation.h:27:53: error: call to non-'constexpr' function 'void tcmalloc::tcmalloc_internal::SampledAllocation::PrepareForSampling()'
   27 |   constexpr SampledAllocation() { PrepareForSampling(); }
      |                                   ~~~~~~~~~~~~~~~~~~^~
./tcmalloc/sampled_allocation.h:37:8: note: 'void tcmalloc::tcmalloc_internal::SampledAllocation::PrepareForSampling()' declared here
   37 |   void PrepareForSampling() ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock);
      |        ^~~~~~~~~~~~~~~~~~
Target //tcmalloc:tcmalloc failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 10.061s, Critical Path: 1.31s
INFO: 7 processes: 6 internal, 1 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions