Author Topic: DLLs not found in libpath  (Read 9068 times)

David Graser

  • Hero Member
  • *****
  • Posts: 870
  • Karma: +84/-0
    • View Profile
DLLs not found in libpath
« 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
« Last Edit: October 19, 2018, 09:52:00 am by David Graser »

Bogdan

  • Jr. Member
  • **
  • Posts: 93
  • Karma: +1/-0
    • View Profile
Re: DLLs not found in libpath
« Reply #1 on: October 19, 2018, 09:59:36 am »
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.

Mathias

  • Full Member
  • ***
  • Posts: 196
  • Karma: +2/-0
  • using ArcaOS
    • View Profile
    • IRC
Re: DLLs not found in libpath
« Reply #2 on: October 19, 2018, 10:28:58 am »
David, did you report this on the [official tracker]? Maybe it is of interest for the developers.

ivan

  • Hero Member
  • *****
  • Posts: 1557
  • Karma: +17/-0
    • View Profile
Re: DLLs not found in libpath
« Reply #3 on: October 19, 2018, 11:37:24 am »
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.

Andreas Schnellbacher

  • Hero Member
  • *****
  • Posts: 827
  • Karma: +14/-0
    • View Profile
Re: DLLs not found in libpath
« Reply #4 on: October 19, 2018, 04:10:21 pm »
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.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: DLLs not found in libpath
« Reply #5 on: October 19, 2018, 04:17:41 pm »
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.

David Graser

  • Hero Member
  • *****
  • Posts: 870
  • Karma: +84/-0
    • View Profile
Re: DLLs not found in libpath
« Reply #6 on: October 19, 2018, 04:40:56 pm »
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.
« Last Edit: October 19, 2018, 04:51:24 pm by David Graser »

xynixme

  • Guest
Re: DLLs not found in libpath
« Reply #7 on: October 19, 2018, 05:28:34 pm »
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.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: DLLs not found in libpath
« Reply #8 on: October 19, 2018, 05:36:35 pm »
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

David Graser

  • Hero Member
  • *****
  • Posts: 870
  • Karma: +84/-0
    • View Profile
Re: DLLs not found in libpath
« Reply #9 on: October 19, 2018, 05:48:44 pm »
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.

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.
« Last Edit: October 19, 2018, 05:59:17 pm by David Graser »

xynixme

  • Guest
Re: DLLs not found in libpath
« Reply #10 on: October 19, 2018, 10:06:46 pm »
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.
« Last Edit: October 19, 2018, 10:22:46 pm by AndrĂ© Heldoorn »

xynixme

  • Guest
Re: DLLs not found in libpath
« Reply #11 on: October 19, 2018, 10:26:50 pm »
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.

Andreas Schnellbacher

  • Hero Member
  • *****
  • Posts: 827
  • Karma: +14/-0
    • View Profile
Re: DLLs not found in libpath
« Reply #12 on: October 19, 2018, 11:02:11 pm »
Dave said it all:

There are more ways for a program to find its DLLs then the LIBPATH.

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: DLLs not found in libpath
« Reply #13 on: October 19, 2018, 11:38:29 pm »
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?

xynixme

  • Guest
Re: DLLs not found in libpath
« Reply #14 on: October 20, 2018, 01:11:01 pm »
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 ...?