diff -ur kicad-5.0.2-patch/3d-viewer/3d_cache/3d_plugin_manager.cpp kicad-5.0.2/3d-viewer/3d_cache/3d_plugin_manager.cpp --- kicad-5.0.2-patch/3d-viewer/3d_cache/3d_plugin_manager.cpp 2018-11-27 01:59:28.000000000 +0300 +++ kicad-5.0.2/3d-viewer/3d_cache/3d_plugin_manager.cpp 2019-01-04 03:04:06.253162826 +0300 @@ -149,14 +149,10 @@ #endif #ifndef _WIN32 - // multiarch friendly determination of the plugin directory: the executable dir - // is first determined via wxStandardPaths::Get().GetExecutablePath() and then - // the CMAKE_INSTALL_LIBDIR path is appended relative to the executable dir. + // PLUGINDIR = CMAKE_INSTALL_FULL_LIBDIR path is the absolute path + // corresponding to the install path used for constructing KICAD_USER_PLUGIN - fn.Assign( wxStandardPaths::Get().GetExecutablePath() ); - fn.RemoveLastDir(); - wxString tfname = fn.GetPathWithSep(); - tfname.Append( wxString::FromUTF8Unchecked( PLUGINDIR ) ); + wxString tfname = wxString::FromUTF8Unchecked( PLUGINDIR ); fn.Assign( tfname, ""); fn.AppendDir( "kicad" ); #else diff -ur kicad-5.0.2-patch/3d-viewer/3d_plugin_dir.h.in kicad-5.0.2/3d-viewer/3d_plugin_dir.h.in --- kicad-5.0.2-patch/3d-viewer/3d_plugin_dir.h.in 2018-11-27 01:59:28.000000000 +0300 +++ kicad-5.0.2/3d-viewer/3d_plugin_dir.h.in 2019-01-04 03:05:06.992868907 +0300 @@ -1 +1 @@ -#define PLUGINDIR "@CMAKE_INSTALL_LIBDIR@" +#define PLUGINDIR "@CMAKE_INSTALL_FULL_LIBDIR@"