Lodable Modules in 5.0
Not logged in

Back to 5.0.0-doc main page



This tech note is specifically intended for Windows, but it could be someway useful also for other operating systems (Linux, Mac Os X etc)

New packaging of pre-built binary Loadable Modules for Windows

Relevant changes affecting Windows 10

Something important has changed when loading a dynamic module.
All previous versions of the MS operating system reported two different error messages in the case of failure when loading a DLL:
  1. Something like "unable to load the required module"
    This first error message meant that the system was unable to locate the requested DLL (mod_spatialite or mod_rasterlite2).
  2. Something like "abcd.dll not found"
    This second error message meant that the requested DLL was succesfully located, but some missing dependency was forbidding to successfully load it;
    and in this case the name of the missing DLL was reported, thus making easier toidentify and resolve the issue.
On Windows 10 the behavior has changed, and just the first generic message is reported in both cases; the name of the missing dependency is no longer reported.
Consequently, some uncertainty could arise in correctly identifying the real cause of failure.

Useful hint

In order to resolve any possible trouble you simply have to use the wonderful Dependency Walker.
This useful tool will examine all dependencies required by mod_spatialite or mod_reasterlite2
and will output a diagnostic report identifying any possible issue.

Useful resources:
  • tool for checking 32 bit DLLs
  • tool for checking 64 bit DLLs

A quick and simple diagnostic test

Works on any operating system, not only on Windows
  1. open a command shell
  2. execute the SQLite CLI front end
  3. execute the following SQL statements:
    .nullvalue NULL
    select load_extension('mod_rasterlite2');
    select load_extension('mod_spatialite');
    select load_extension('mod_virtualpg');
    SELECT spatialite_target_cpu();
    SELECT spatialite_version();
    SELECT rl2_version();
    .q
    
  4. if anything runs smoothly and no error message appears then you'll have a positive confirmation that nothing forbids to load the dynamic modules.
    If the problem still persist in your own Python or Java application it almost surely means that the extension module itself can't be successfully located.
  5. Note: a copy of sqlite3.exe is included within the binary packages for Windows.
picture


Back to 5.0.0-doc main page