mltframework/mlt

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.