sfztools/sfizz

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

yurivict opened this issue · 11 comments

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

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.

What version of abseil do you test with?

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?

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

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

Please fix it.

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

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.

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

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

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

The current master branch doesn't have this problem.