ggerganov / whisper.cpp

Port of OpenAI's Whisper model in C/C++
MIT License
35.97k stars 3.67k forks source link

member access into incomplete type 'ggml_cgraph #2434

Open MonkeybreadSoftware opened 2 months ago

MonkeybreadSoftware commented 2 months ago

Hello, just cloned the repository and made a "make all" on my Mac. just "make" works, but "make all" fails!?

I ccache not found. Consider installing it for faster compilation.
I whisper.cpp build info: 
I UNAME_S:   Darwin
I UNAME_P:   arm
I UNAME_M:   arm64
I CFLAGS:    -Iggml/include -Iggml/src -Iinclude -Isrc -Iexamples -D_XOPEN_SOURCE=600 -D_DARWIN_C_SOURCE -DNDEBUG -DGGML_USE_ACCELERATE -DGGML_USE_BLAS -DACCELERATE_NEW_LAPACK -DACCELERATE_LAPACK_ILP64 -DGGML_USE_METAL -DGGML_METAL_EMBED_LIBRARY  -std=c11   -fPIC -O3 -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -pthread -Wunreachable-code-break -Wunreachable-code-return -Wdouble-promotion 
I CXXFLAGS:  -std=c++11 -fPIC -O3 -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wmissing-declarations -Wmissing-noreturn -pthread   -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi -Iggml/include -Iggml/src -Iinclude -Isrc -Iexamples -D_XOPEN_SOURCE=600 -D_DARWIN_C_SOURCE -DNDEBUG -DGGML_USE_ACCELERATE -DGGML_USE_BLAS -DACCELERATE_NEW_LAPACK -DACCELERATE_LAPACK_ILP64 -DGGML_USE_METAL -DGGML_METAL_EMBED_LIBRARY 
I NVCCFLAGS: -std=c++11 -O3 
I LDFLAGS:   -framework Accelerate -framework Foundation -framework Metal -framework MetalKit 
I CC:        Apple clang version 16.0.0 (clang-1600.0.26.3)
I CXX:       Apple clang version 16.0.0 (clang-1600.0.26.3)

c++ -std=c++11 -fPIC -O3 -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wmissing-declarations -Wmissing-noreturn -pthread   -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi -Iggml/include -Iggml/src -Iinclude -Isrc -Iexamples -D_XOPEN_SOURCE=600 -D_DARWIN_C_SOURCE -DNDEBUG -DGGML_USE_ACCELERATE -DGGML_USE_BLAS -DACCELERATE_NEW_LAPACK -DACCELERATE_LAPACK_ILP64 -DGGML_USE_METAL -DGGML_METAL_EMBED_LIBRARY  -c tests/test-backend-ops.cpp -o tests/test-backend-ops.o
tests/test-backend-ops.cpp:442:15: error: member access into incomplete type 'ggml_cgraph'
  442 |             gf->nodes[gf->n_nodes++] = sentinel;
      |               ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:442:25: error: member access into incomplete type 'ggml_cgraph'
  442 |             gf->nodes[gf->n_nodes++] = sentinel;
      |                         ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:601:41: error: member access into incomplete type 'ggml_cgraph'
  601 |         int n_runs = std::min((size_t)gf->size - gf->n_nodes, target_size / op_size(out)) + 1;
      |                                         ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:601:52: error: member access into incomplete type 'ggml_cgraph'
  601 |         int n_runs = std::min((size_t)gf->size - gf->n_nodes, target_size / op_size(out)) + 1;
      |                                                    ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:603:15: error: member access into incomplete type 'ggml_cgraph'
  603 |             gf->nodes[gf->n_nodes++] = out;
      |               ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:603:25: error: member access into incomplete type 'ggml_cgraph'
  603 |             gf->nodes[gf->n_nodes++] = out;
      |                         ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:618:31: error: member access into incomplete type 'ggml_cgraph'
  618 |         for (int i = 0; i < gf->n_nodes; i++) {
      |                               ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:619:35: error: member access into incomplete type 'ggml_cgraph'
  619 |             if (ggml_is_view_op(gf->nodes[i]->op) || gf->nodes[i] == out) {
      |                                   ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:619:56: error: member access into incomplete type 'ggml_cgraph'
  619 |             if (ggml_is_view_op(gf->nodes[i]->op) || gf->nodes[i] == out) {
      |                                                        ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:622:37: error: member access into incomplete type 'ggml_cgraph'
  622 |             mem += tensor_op_size(gf->nodes[i]);
      |                                     ^
ggml/include/ggml.h:361:12: note: forward declaration of 'ggml_cgraph'
  361 |     struct ggml_cgraph;
      |            ^
tests/test-backend-ops.cpp:1676:29: error: no matching function for call to 'ggml_flash_attn_ext'
 1676 |         ggml_tensor * out = ggml_flash_attn_ext(ctx, q, k, v, m, 1.0f/sqrtf(hs), max_bias);
      |                             ^~~~~~~~~~~~~~~~~~~
ggml/include/ggml.h:1804:35: note: candidate function not viable: requires 8 arguments, but 7 were provided
 1804 |     GGML_API struct ggml_tensor * ggml_flash_attn_ext(
      |                                   ^
 1805 |             struct ggml_context * ctx,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 1806 |             struct ggml_tensor  * q,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~
 1807 |             struct ggml_tensor  * k,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~
 1808 |             struct ggml_tensor  * v,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~
 1809 |             struct ggml_tensor  * mask,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1810 |             float                 scale,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1811 |             float                 max_bias,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1812 |             float                 logit_softcap);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 errors generated.
make: *** [tests/test-backend-ops] Error 1

Not sure what is wrong here. Maybe a regression?

ggerganov commented 2 months ago

Just pushed a fix - try again with latest master