Skip to content

Conversation

@Trouffman
Copy link
Collaborator

This is a hotfix to master to fix the issue with backward compatibility with libndi v6 on linux. The work/re-work on this file must be credited to collaborators on this file in the develop branch.

This is a hotfix to master to fix the issue with backward compatibility with libndi v6 on linux.
The work/re-work on this file must be credited to collaborators on this file in the develop branch.
@Trouffman Trouffman requested a review from paulpv July 11, 2024 15:56
@Trouffman Trouffman self-assigned this Jul 15, 2024
@Trouffman Trouffman added linux (supported) Installation Target installation improvments, issues, scripts, bugs. labels Jul 15, 2024
@Trouffman Trouffman linked an issue Jul 15, 2024 that may be closed by this pull request


echo "Adding backward compatibility tweaks for older plugins version to work with NDI v6"
sudo ln -s /usr/local/lib/libndi.so.6 /usr/local/lib/libndi.so.5
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see this as not true, and a bit of the opposite.

I do not think that it is precisely correct to say "Adding backward compatibility tweaks for older plugins version to work with NDI v6".

This symlink makes it so that the currently released code, 4.13.2, that has NDI SDK 5 #define NDILIB_LIBRARY_NAME "libndi.so.5" compiled into it, and that will only look for a libndi.so.5 file, can see NDI6's libndi.so.6.

So, I have always considered creating this symlink to be a forward compatibility hack that allows any plugin version that has NDI5 paths compiled into it to see and use NDI6.

From NDI6's point of view, adding this symlink makes NDI6 backwards compatible with OBS-NDI 4.13.2 that is compiled to use NDI5.
But I do not think it makes much sense to word this from NDI's perspective.

I think it makes more sense to word this from our/DistroAV's perspective.
From OBS-NDI 4.13.2's point of view, adding this symlink makes it, that is compiled for NDI5, forward compatible with NDI6.

So I recommend the comment to say:
Adding symbolic link from libndi.so.5 to libndi.so.6 to make DistroAV forward compatible with NDI v6

For the actual DistroAV 6.x release, it will be compiled against the NDI6 SDK that #define NDILIB_LIBRARY_NAME "libndi.so.6", so this symlink/hack won't be needed.

Copy link
Collaborator Author

@Trouffman Trouffman Jul 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valid point. Just wording can be just "adding compatibility for older plugin version with NDI 6 runtime"

Knowing that we have distroAV rebrand on V6 with ndi 6 That means. V6 requires NDI 6 runtime son this should not even trigger anymore ^^

Key point: don't care about the text, this must be fixed asap, it breaks plugin working os someone is still using NDI runtime 5.

@paulpv paulpv merged commit 7d193c8 into master Jul 23, 2024
@paulpv paulpv deleted the linux-install-script-hotfix branch July 23, 2024 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Installation Target installation improvments, issues, scripts, bugs. linux (supported)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: NDI Runtime not found - pop OS install script

3 participants