[Bug 26350] Dungeons demo doesn't run (LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH and relative path)
wine-bugs at winehq.org
wine-bugs at winehq.org
Sat Apr 7 14:02:32 CDT 2012
http://bugs.winehq.org/show_bug.cgi?id=26350
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
URL|http://www.bigdownload.com/ |http://www.gamershell.com/d
|games/dungeons/pc/dungeons- |ownload_69192.shtml
|demo/ |
CC| |focht at gmx.net
Summary|Dungeons demo doesn't run |Dungeons demo doesn't run
| |(LoadLibraryEx with
| |LOAD_WITH_ALTERED_SEARCH_PA
| |TH and relative path)
--- Comment #2 from Anastasius Focht <focht at gmx.net> 2012-04-07 14:02:32 CDT ---
Hello,
confirming, still present.
As Louis said, needs 'winetricks dotnet35' prerequisite.
--- snip ---
18:35:03.760: > Ogre: Loading library dlls/RenderSystem_Direct3D9.dll
18:35:03.762: *ERROR* > Ogre: OGRE EXCEPTION(7:InternalErrorException): Could
not load dynamic library dlls/RenderSystem_Direct3D9.dll. System Error: Module
not found.
in DynLib::load at
..\..\Ogre\OgreMain\src\OgreDynLib.cpp (line 91)
18:35:03.764: *ERROR* > System.Runtime.InteropServices.SEHException: External
component has thrown an exception.
at Ogre.Root.loadPlugin(Root* ,
basic_string<char\,std::char_traits<char>\,std::allocator<char> >* )
at Mogre.Root.LoadPlugin(String pluginName)
at
Realmforge.MogreUtil.Application.Ogre.LoadPlugins(Root root)
at Realmforge.MogreUtil.Application.Ogre..ctor(Form
form, GameApplicationData appData)
at
Realmforge.MogreUtil.Application.Ogre.InitInstance(Form form,
GameApplicationData appData)
at
Realmforge.MogreUtil.Application.MainApplication`3.Run()
18:35:03.767: *ERROR* > External component has thrown an exception.
--- snip ---
Source of "OGRE" component used: http://www.ogre3d.org/download/source
--- snip OgreDynLib.h ---
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
# define DYNLIB_HANDLE hInstance
# define DYNLIB_LOAD( a ) LoadLibraryEx( a, NULL,
LOAD_WITH_ALTERED_SEARCH_PATH )
# define DYNLIB_GETSYM( a, b ) GetProcAddress( a, b )
# define DYNLIB_UNLOAD( a ) !FreeLibrary( a )
--- snip OgreDynLib.h ---
--- snip OgreDynLib.cpp ---
void DynLib::load()
{
// Log library load
LogManager::getSingleton().logMessage("Loading library " + mName);
String name = mName;
...
#elif OGRE_PLATFORM == OGRE_PLATFORM_WIN32
// Although LoadLibraryEx will add .dll itself when you only specify
the library name,
// if you include a relative path then it does not. So, add it to be
sure.
if (name.substr(name.length() - 4, 4) != ".dll")
name += ".dll";
#endif
m_hInst = (DYNLIB_HANDLE)DYNLIB_LOAD( name.c_str() );
if( !m_hInst )
OGRE_EXCEPT(
Exception::ERR_INTERNAL_ERROR,
"Could not load dynamic library " + mName +
". System Error: " + dynlibError(),
"DynLib::load" );
}
...
--- snip OgreDynLib.cpp ---
The comment indicates they really use relative paths on LoadLibraryEx().
Refining summary.
$ du -sh dungeons_demo_int.zip
518M dungeons_demo_int.zip
$ du -sh dungeons_demo_int.msi
525M dungeons_demo_int.msi
$ sha1sum dungeons_demo_int.zip
ca30387b3ef033ee1f9ae09e57fe164009b055aa dungeons_demo_int.zip
$ sha1sum dungeons_demo_int.msi
2972801ef889bc9788d20598233ddc24ebda8069 dungeons_demo_int.msi
$ wine --version
wine-1.5.1-197-g73e7346
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list