sfztools / sfizz

SFZ parser and synth c++ library, providing a JACK standalone client
https://sfz.tools/sfizz/
BSD 2-Clause "Simplified" License
406 stars 58 forks source link

error: no member named 'StrCat' in namespace 'absl' #1262

Closed yurivict closed 5 months ago

yurivict commented 5 months ago

Build fails:

/usr/ports/audio/sfizz/work/sfizz-1.2.3/src/sfizz/Synth.cpp:430:28: error: no member named 'StrCat' in namespace 'absl'
  430 |             image_ = absl::StrCat(defaultPath_, absl::StrReplaceAll(trim(member.value), { { "\\", "/" } }));
      |                      ~~~~~~^
/usr/ports/audio/sfizz/work/sfizz-1.2.3/src/sfizz/Synth.cpp:433:37: error: no member named 'StrCat' in namespace 'absl'
  433 |             image_controls_ = absl::StrCat(defaultPath_, absl::StrReplaceAll(trim(member.value), { { "\\", "/" } }));
      |                               ~~~~~~^
2 errors generated.

Version: 1.2.3 abseil-20230125.3 clang-18 FreeBSD 14.0

redtide commented 5 months ago

AFAICS absl::StrCat() is still part of the absl::strings library and the build should succeed; we also test via CI for release builds, so I have no idea what's going on there.

yurivict commented 5 months ago

What version of abseil do you test with?

redtide commented 5 months ago

personally both the one I have in Arch ATM and the bundled one, I can make a build for testing the one you mentioned but is it possible a missing #include <absl/strings/str_cat.h> could be the reason?

yurivict commented 5 months ago

Yes, adding the include fixes it. It needs to be added in all .cpp files that uses this function.

redtide commented 5 months ago

OK, do you mind to send a PR? Or I'll fix it later this night

yurivict commented 5 months ago

Please fix it.

redtide commented 5 months ago

OK, but I see only Synth.cpp missing it.

redtide commented 5 months ago

Looks like my checkout was older than current develop, where it seems it's already fixed. So I guess if it's about to create a release from the 1.2.3 tarball, you should add a patch.

yurivict commented 5 months ago

No, there is also src/sfizz/effects/Lofi.cpp

redtide commented 5 months ago

No, there is also src/sfizz/effects/Lofi.cpp

I don't see any StrCat in that file. Have you an updated develop checkout?

yurivict commented 5 months ago

The current master branch doesn't have this problem.