PABannier / encodec.cpp

Port of Meta's Encodec in C/C++
187 stars 15 forks source link

too many initializers #31

Closed bachittle closed 8 months ago

bachittle commented 8 months ago

get the following errors when compiling main and v0.1.0: image

It is related to ggml.c compilation, I believe you are using a custom fork with changes to it, and that version is not working, but it was since October 2023 so I'm unsure what the reason is.

Maybe it's because I'm using MSVC and Windows instead of Mac?

PABannier commented 8 months ago

Hi @bachittle ! Thanks for flagging this error. I just tried to compile the codebase, and it works fine on my Mac M1 Pro. Indeed, I suspect that the problem is stemming from your OS. I do not currently have CIs for Windows + MSVC.

Have you tried cloning ggml and compiling it?

bachittle commented 8 months ago

So the master branch of ggml compiles with MSVC just fine, I believe it is just the version in this submodule (since some changes have been made to it). Also confirming my theory, GCC and clang compile just fine, so it is definitely an MSVC issue.

PABannier commented 8 months ago

Alright! Thanks for checking. I'll add some CIs testing MSVC and Windows. Currently, we only have CIs for MacOS and Linux. Do you know what can cause these too many initializers errors?

If you are willing to open a PR to fix this issue on Windows (I do not have Windows), I am happy to guide you.

For context, you are right. I added some operations peculiar to encodec (e.g. reflect padding 1d) which are not merged on the main branch of ggml.

bachittle commented 8 months ago

Here is a PR: https://github.com/PABannier/encodec.cpp/pull/32 It allows for compilation on Windows, but I have yet to test if it runs without errors.

I also made a PR to your ggml fork to keep that in sync with this projects ggml submodule: https://github.com/PABannier/ggml/pull/1