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
- In all previous releses two distinct packages were distributed, one for mod_spalitalite and the other for mod_rasterlite2
- Starting from 5.0.0 both Loadable Modules will be released in a single package.
- A quick rationale:
- mod_spatialite depends on PROJ, that in its recent versions depends on libtiff (required in order to support geodetic grid data).
- and in turn libtiff depends on libjpeg and liblzma
- short conclusion: mod_spatialite now depends on several typical imaging libraries, the same required by mod_rasterlite2.
Packaging both modules altogether simplifies the distribution and minimizes the size of downloads.
- Further new: this unified package will now include also mod_virtualpg, so to distribute all Loadable Modules in a single package.
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:
- 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). - 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.
Consequently, some uncertainty could arise in correctly identifying the real cause of failure.
Useful hintIn 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: |
A quick and simple diagnostic test
Works on any operating system, not only on Windows |
- open a command shell
- execute the SQLite CLI front end
- 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
- 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. - Note: a copy of sqlite3.exe is included within the binary packages for Windows.
Back to 5.0.0-doc main page