If the error mentions DynaLoader.pm, then the module itself can be found; it is rather a dynamic component of the module that is missing.
For example, the Socket module has a Socket.pm file, and a Socket.so file (on Unix) that is loaded by DynaLoader.
When you get an error like the one you mentioned, it's either because the module's extra file is missing, or is installed but with the wrong permissions for the current user. The dynamic library file for a module should be in the auto/ directory under the architecture-specific directory.
If Win32/ODBC.pm is at C:/perl/lib/perl5/5.00503/Win32/ODBC.pm,
then the dynamic library file would probably be at
C:/perl/lib/perl5/5.00503/MSWin32-x86/auto/Win32/ODBC/ODBC.dll. (Assuming that MSWin32-x86 is the architecture name and .dll is the dynamic library extension.)
If you don't find the dynamic library file, try reinstalling the module; if you do find it, make sure that it has the right permissions.
| [reply] [d/l] [select] |
I have checked the filenames, and it still does not work.
My module files do not seem to have an architecture-specific directory. (I tried it both ways.)
Considering that I am using MS Win 2000, what permissions would be right for the file?
TIA,
Sinan
| [reply] |
I have solved my problem, thanks everyone.
I was using the wrong version's files. :-(
Sinan
| [reply] |