OS2 World Community Forum
OS/2, eCS & ArcaOS - Technical => Applications => Topic started by: David Graser on October 19, 2018, 09:46:16 am
-
Checking some of the programs found in ArcaOS 5.03 or that I install and use, I noticed some would say that a dll was not found in libpath when tested with PMDLL. I do not know how important that is for the program to work properly. To fix this, I just make another directory called copied_dlls on the drive root, added it to the libpath statement in my config.sys, and copied these dlls to it and the errors PMDLL showed went away.
Dragtext:
drgtxt39.dll
dtinit39.dll
FM/2:
fm3dll.dll
XWP 1.0.12 GA
XWPhook,dll
Lucide 1.41.b10
ludoc.dll
Warpin 1.22
wpirtl.dll
-
Reports of a full sack of rice falling over have been greatly exaggerated. It is true though that half a sack of rice fell over. The rice was yet unboiled and the incident will have no negative effect on Chinese economy.
-
David, did you report this on the [official tracker (https://mantis.arcanoae.com/login_page.php)]? Maybe it is of interest for the developers.
-
David,
Those DLLs are in the program directories and I have notices that Pmdll often misses DLLs in the program directory. I assume it is because it does not use the . in the libpath for some reason.
-
I assume it is because it does not use the . in the libpath for some reason.
No, PMDll works well with the current directory for me.
First make sure that you have the latest one. Older version have more bugs with e.g. GCC binaries.
Then make sure that the current directory for PMDll is that of the .exe or .dll to test. E.g. to make a program object work for dropping a binary file on it, delete the working directory of the program object.
Note that you can change the current directory and the system DLL path from PMDll's GUI.
-
There are more ways for a program to find its DLLs then the LIBPATH. For example DLLs registered with the WPS don't have to be on the LIBPATH or a program might dynamically load its DLL from a known location such as its program directory. Some programs even shouldn't have their DLLs on the LIBPATH such as the Mozilla programs.
The question is, do the programs work fine without the DLLs on the LIBPATH? I think you'll find all those programs, except maybe Warpin, work fine as installed.
-
It is always the same programs, no matter what version of ArcaOS2. When the *.exe is tested, PMDLL states that those dlls are not found in the libpath.
Dave, based on what you have said, then probably the XWP and the Dragtext dlls don't necessarily need be found using pmdll.
FM/2 and Warpin are I believe PM programs. Not sure why PMDLL reports on their dlls the way it does.
One thing I noticed is that AMouse had a problem in ArcaOS version 5.02 which I stated some months back. The error no longer exists in ArcaOS version 5.03
I just wanted to bring this up in case it might be a problem.
Thanks for all the input. Not being a programmer, I need others to enlighten me.
-
It is always the same programs, no matter what version of ArcaOS2. When the *.exe is tested, PMDLL states that those dlls are not found in the libpath.
But did you use PM DLL's UI to change the current directory to the directory of the tested EXE? Otherwise try http://hobbes.nmsu.edu/download/pub/os2/util/system/whatisthedot12.zip (http://hobbes.nmsu.edu/download/pub/os2/util/system/whatisthedot12.zip).
-
FM/2 can probably find its own DLLs and Warpin IIRC, only needs that DLL when creating WPI packages. You do have to run the stuff from the Warpin directory when creating packages.
One example I'm familiar with is the Mozilla apps such as Firefox, which looks in its own directory for its runtime. SeaMonkey also loads a dll from .\components.
In preparation for rpms, now they also look in \usr\lib\$PROGRAM or for firefox, \usr\lib\firefox-45.9 with firefox.exe in \usr\bin
-
It is always the same programs, no matter what version of ArcaOS2. When the *.exe is tested, PMDLL states that those dlls are not found in the libpath.
But did you use PM DLL's UI to change the current directory to the directory of the tested EXE? Otherwise try http://hobbes.nmsu.edu/download/pub/os2/util/system/whatisthedot12.zip (http://hobbes.nmsu.edu/download/pub/os2/util/system/whatisthedot12.zip).
Andre
OK, I changed the working directory for the PMDLL program object to point to each program directory and the error goes away. But why for these few programs and not others?
I just tried WhatstheDot and the errors go away. Thanks again.
-
Pmdll often misses DLLs in the program directory. I assume it is because it does not use the . in the libpath for some reason.
Presumably the "." in a LIBPATH then refers to the current directory. Which typically will be PMDLL.EXE's directory.
One may assume that PMDLL cannot find x:\SeaMonkey\XUL.DLL of x:\Seamonkey\SEAMONKEY.EXE, but in reality y:\SysTools\PMDLL\PMDLL.EXE PMDLL cannot find y:\SysTools\PMDLL\XUL.EXE, unless the uses changes the current directory of PMDLL (menu option). It's an user error. WhatsTheDot uses the directory of the tested EXE; not of PMDLL.EXE.
-
But why for these few programs and not others?
Dunno, I'm not one of the happy few users of ArcaOS and I don't have a clue what's installed how and where.
A shared generic property may be that those apps use both common, modern LIBPATH DLLs and DLLs in an own directory which is not a LIBPATH directory. Hence the need to change the current directory ... of PMDLL.EXE. False positives.
-
Dave said it all:
There are more ways for a program to find its DLLs then the LIBPATH.
-
One thing I noticed is that AMouse had a problem in ArcaOS version 5.02 which I stated some months back. The error no longer exists in ArcaOS version 5.03
What version of Amouse do you have in ArcaOS 503?
-
Dave said it all:
There are more ways for a program to find its DLLs then the LIBPATH.
Sure. But apparently PMDLL doesn't fully respect that by default. Typically by using its own directory as the current directory, instead of the own directory of a tested DLL or EXE. PMDLL isn't wrong, but the way it works does suprise users.
In another thread this could be relevant too. Could. "Cannot find XUL.DLL". According to ...?