-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[osg] [osgearth] Plugins are not installed correctly on Linux #25919
Comments
Taking another look at this, I'm a bit confused as to why the plugins folder is moved from With I haven't done any tests that consume the libraries yet, but disabling the bit about moving the plugins appears to result in a successful osg and osgearth installation on |
The plugins are moved to get a fairly consistent installation layout for such items in vcpkg.
|
That makes sense, thanks for the clarification.
On this note, I don't think this problem isn't necessarily specific to |
@dg0yt Is the intention that the plugins be relocated on any platform (e.g. the .so files will be moved to plugins/ on Linux, just like the .dll files on Windows)? I believe I have a solution that will fix this, and another minor issue I've found with osgearth, but want to ensure I'm assuming the correct behavior before submitting anything. |
There was a tendency to promote |
Using dynamic linkage on Linux, the osg and osgEarth plugins are not installed properly. The osgPlugins folder will end up in
lib/osgPlugins-<version>/
, when it should be installed toplugins/osgPlugins-<version>
. I believe this is because the portfiles look for the plugins within thebin/
directory, whereas on non-Windows systems they will be located inlib/
instead.Here is the behavior I see for each of these ports:
osg:x64-linux-dynamic
will install without error, but the plugins won't be in the correct location.osgearth:x64-linux-dynamic
will result in the following error post-build:Could not determine osg plugins directory
.A quick and dirty test appears to confirm that replacing
bin
withlib
in the section of the portfiles referencing the plugins will fix the problem for osg. For osgearth, it will now install successfully, but the osgearth plugins seemingly disappear. They don't end up in theplugins/osgPlugins-<version>/
folder.Additional context
Here is the location in the portfiles where they first attempt to locate the plugins:
vcpkg/ports/osg/portfile.cmake
Line 123 in b2a22ff
vcpkg/ports/osgearth/portfile.cmake
Line 84 in b2a22ff
They will both exclusively search
${CURRENT_PACKAGES_DIR}/bin/
, but the osg and osgEarth builds will usebin/
for the library install path on Windows only. On other systems, the path is underlib/
.osg
osgEarth
The text was updated successfully, but these errors were encountered: