Denise 1.1.2 cannot be built using gcc 11.1.x.

Issue #20 resolved
Frederic Bezies created an issue

Hello.

I tried to build denise 1.1.2 on my Archlinux installation, but build process is stopped while processing program/audio/resampler/sinc.cpp.

Here is the error log:

In file included from program/audio/resampler/sinc.cpp:28:
program/audio/resampler/sinc.h:53:13: error: 'uint32_t' does not name a type
   53 |             uint32_t time = 0;
      |             ^~~~~~~~
In file included from program/audio/resampler/sinc.cpp:28:
program/audio/resampler/sinc.h:34:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
   33 | #include "data.h"
  +++ |+#include <cstdint>
   34 | 
program/audio/resampler/sinc.cpp: In lambda function:
program/audio/resampler/sinc.cpp:128:17: error: 'uint32_t' was not declared in this scope
  128 |                 uint32_t ratio                 = phases / rData->ratio;
      |                 ^~~~~~~~
program/audio/resampler/sinc.cpp:30:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
   29 | #include <cstring>
  +++ |+#include <cstdint>
   30 | 
program/audio/resampler/sinc.cpp:137:50: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  137 |                             while (frames && ctx.time >= phases) {
      |                                                  ^~~~
program/audio/resampler/sinc.cpp:146:37: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  146 |                                 ctx.time -= phases;
      |                                     ^~~~
program/audio/resampler/sinc.cpp:153:44: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  153 |                                 while (ctx.time < phases) {
      |                                            ^~~~
program/audio/resampler/sinc.cpp:156:58: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  156 |                                     unsigned phase = ctx.time >> ctx.subphase_bits;
      |                                                          ^~~~
program/audio/resampler/sinc.cpp:159:63: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  159 |                                   float delta = (float)(ctx.time & ctx.subphase_mask) * ctx.subphase_mod;
      |                                                             ^~~~

program/audio/resampler/sinc.cpp:173:41: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  173 |                                     ctx.time += ratio;
      |                                         ^~~~
program/audio/resampler/sinc.cpp:173:49: error: 'ratio' was not declared in this scope
  173 |                                     ctx.time += ratio;
      |                                                 ^~~~~
program/audio/resampler/sinc.cpp:181:50: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  181 |                             while (frames && ctx.time >= phases) {
      |                                                  ^~~~
program/audio/resampler/sinc.cpp:193:37: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  193 |                                 ctx.time -= phases;
      |                                     ^~~~
program/audio/resampler/sinc.cpp:201:44: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  201 |                                 while (ctx.time < phases) {
      |                                            ^~~~
program/audio/resampler/sinc.cpp:205:58: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  205 |                                     unsigned phase = ctx.time >> ctx.subphase_bits;
      |                                                          ^~~~
program/audio/resampler/sinc.cpp:208:63: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  208 |                                   float delta = (float)(ctx.time & ctx.subphase_mask) * ctx.subphase_mod;
      |                                                             ^~~~

program/audio/resampler/sinc.cpp:222:41: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  222 |                                     ctx.time += ratio;
      |                                         ^~~~
program/audio/resampler/sinc.cpp:222:49: error: 'ratio' was not declared in this scope
  222 |                                     ctx.time += ratio;
      |                                                 ^~~~~
program/audio/resampler/sinc.cpp: In lambda function:
program/audio/resampler/sinc.cpp:236:17: error: 'uint32_t' was not declared in this scope
  236 |                 uint32_t ratio                 = phases / rData->ratio;
      |                 ^~~~~~~~
program/audio/resampler/sinc.cpp:236:17: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
program/audio/resampler/sinc.cpp:245:50: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  245 |                             while (frames && ctx.time >= phases) {
      |                                                  ^~~~
program/audio/resampler/sinc.cpp:254:37: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  254 |                                 ctx.time -= phases;
      |                                     ^~~~
program/audio/resampler/sinc.cpp:261:44: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  261 |                                 while (ctx.time < phases) {
      |                                            ^~~~
program/audio/resampler/sinc.cpp:264:58: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  264 |                                     unsigned phase = ctx.time >> ctx.subphase_bits;
      |                                                          ^~~~
program/audio/resampler/sinc.cpp:278:41: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  278 |                                     ctx.time += ratio;
      |                                         ^~~~
program/audio/resampler/sinc.cpp:278:49: error: 'ratio' was not declared in this scope
  278 |                                     ctx.time += ratio;
      |                                                 ^~~~~
program/audio/resampler/sinc.cpp:285:50: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  285 |                             while (frames && ctx.time >= phases) {
      |                                                  ^~~~
program/audio/resampler/sinc.cpp:297:37: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  297 |                                 ctx.time -= phases;
      |                                     ^~~~
program/audio/resampler/sinc.cpp:305:44: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  305 |                                 while (ctx.time < phases) {
      |                                            ^~~~
program/audio/resampler/sinc.cpp:309:58: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  309 |                                     unsigned phase = ctx.time >> ctx.subphase_bits;
      |                                                          ^~~~
program/audio/resampler/sinc.cpp:324:41: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  324 |                                     ctx.time += ratio;
      |                                         ^~~~
program/audio/resampler/sinc.cpp:324:49: error: 'ratio' was not declared in this scope
  324 |                                     ctx.time += ratio;
      |                                                 ^~~~~
program/audio/resampler/sinc.cpp: In static member function 'static void* Resampler::Sinc::memalign_alloc(size_t, size_t)':
program/audio/resampler/sinc.cpp:450:9: error: 'uintptr_t' was not declared in this scope
  450 |         uintptr_t addr = 0;
      |         ^~~~~~~~~
program/audio/resampler/sinc.cpp:450:9: note: 'uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
program/audio/resampler/sinc.cpp:455:9: error: 'addr' was not declared in this scope
  455 |         addr           = ((uintptr_t)ptr + sizeof(uintptr_t) + boundary)
      |         ^~~~
program/audio/resampler/sinc.cpp:455:38: error: expected ')' before 'ptr'
  455 |         addr           = ((uintptr_t)ptr + sizeof(uintptr_t) + boundary)
      |                          ~           ^~~
      |                                      )
program/audio/resampler/sinc.cpp: In member function 'void Resampler::Sinc::freeData()':
program/audio/resampler/sinc.cpp:525:13: error: 'struct Resampler::Sinc::<unnamed>' has no member named 'time'
  525 |         ctx.time = 0;
      |             ^~~~
make: *** [Makefile:90: obj/sinc.o] Error 1

Comments (5)

  1. PiCiJi repo owner

    fix compilation/building for Arch linux. please tell me if it works and i close this ticket.

  2. Log in to comment