Protobuf duplicate library causes crash
mattfbacon opened this issue · 3 comments
Running melt with the problematic frei0r-plugins causes the following crash:
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1709185148.241526 152974 descriptor_database.cc:633] File already exists in database: versions.proto
F0000 00:00:1709185148.241551 152974 descriptor.cc:2122] Check failed: GeneratedDatabase()->Add(encoded_file_descriptor, size)
*** Check failure stack trace: ***
fish: Job 1, 'melt' terminated by signal SIGABRT (Abort)
If I manually remove frei0r-plugins with pacman -Rdd frei0r-plugins, melt works perfectly.
Based on https://forums.gentoo.org/viewtopic-t-1166547-start-0.html I was able to determine that the issue is caused by a duplication of the protobuf library that causes the versions.proto file to be inserted twice. I don't know much more than that, but I know that removing frei0r-plugins (despite it being marked as a dependency of mlt) fixes it.
That is a build issue with frei0r that is outside of MLT. Cannot fix it here. Neither MLT or frei0r directly depends on protobuf; maybe it comes in through OpenCV, for example opencv/opencv#23791.
FYI, it is possible to configure frei0r build without the OpenCV-based plugins via cmake -DWITHOUT_OPENCV=ON
Thanks for the additional info. I transferred the issue to the frei0r repo and I will see if anyone responds over there.