Author Topic: DOSBox Issue - STDCPP6?  (Read 25341 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4710
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
DOSBox Issue - STDCPP6?
« on: May 23, 2020, 09:40:07 pm »
Hi

I have an ArcaOS 5.0.4 VM with the updated libraries from ANPM, and today I installed DOSBox 0.74 (30 March, 2019)

I'm getting this error and it is not running.
Code: [Select]
[C:\Programs\DOSBOX]dosbox
DOSBox version SVN
Copyright 2002-2019 DOSBox Team, published under GNU GPL.
---

Killed by SIGSEGV
pid=0x00c7 ppid=0x00c4 tid=0x0001 slot=0x00db pri=0x0200 mc=0x0001 ps=0x0010
C:\PROGRAMS\DOSBOX\DOSBOX.EXE
STDCPP6 0:0001b26d
cs:eip=005b:1e24b26d      ss:esp=0053:0289fb20      ebp=0289fb38
 ds=0053      es=0053      fs=150b      gs=0000     efl=00012287
eax=0289fe2c ebx=00000000 ecx=199b5f00 edx=199b5f00 edi=0289feb8 esi=0289fb5c
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

No POPUPLOG. I tried erasing all the duplicated DLLs from the DOSBox directory, and even trying SDL-1.2.15-20160303.zip runtime and I still have the same error.

Anybody experiencing a similar issue? Any ideas how to make it work?

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Andreas Schnellbacher

  • Hero Member
  • *****
  • Posts: 827
  • Karma: +14/-0
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #1 on: May 23, 2020, 10:51:35 pm »
I have probably the same problem here. I don't know, if that's caused by SMP or by the updated \usr\lib files. I guess, the first. I've changed on 2020-04-04 from an 15-years old system to a more recent AMD FM2+ system with 4 cores.

Since I've written the WarpIN macros for the next version, I had tried the installation on the newer system with the result that DOSBox isn't working. Unfortunately I haven't tried that before on that machine. It works well in my ArcaOS VirtualBox guest on a different system.

I haven't addressed Jochen so far and haven't heard from him since a long time.
« Last Edit: May 23, 2020, 11:09:28 pm by Andreas Schnellbacher »

Andreas Schnellbacher

  • Hero Member
  • *****
  • Posts: 827
  • Karma: +14/-0
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #2 on: May 23, 2020, 11:22:13 pm »
Here's the log from trying out my recent .wpi build with the binaries from the last released DOSBOX0.74_30.03.19.EXE. The installation works and finds no DLLs that require installation, but the first startup of dosbox.exe fails:

Code: [Select]
epm: C:\Programs\DOSBox > dosbox.exe
DOSBox version SVN
Copyright 2002-2019 DOSBox Team, published under GNU GPL.
---

Killed by SIGSEGV
pid=0x0c88 ppid=0x0c86 tid=0x0001 slot=0x009a pri=0x0200 mc=0x0001 ps=0x0010
C:\PROGRAMS\DOSBOX\DOSBOX.EXE
STDCPP6 0:0001b26d
cs:eip=005b:1c94b26d      ss:esp=0053:0289fb20      ebp=0289fb38
 ds=0053      es=0053      fs=150b      gs=0000     efl=00010287
eax=0289fe2c ebx=00000000 ecx=17bc5f00 edx=17bc5f00 edi=0289feb8 esi=0289fb5c
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

epm: C:\Programs\DOSBox >

Joop

  • Hero Member
  • *****
  • Posts: 633
  • Karma: +5/-0
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #3 on: May 24, 2020, 12:43:33 am »
It is a long time ago that I installed DosBox, I'm not on the latest and I do now that it is important to have a right dosbox.conf. At first it did not start on my system because I didn't have this file correctly.

Andreas Schnellbacher

  • Hero Member
  • *****
  • Posts: 827
  • Karma: +14/-0
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #4 on: May 24, 2020, 01:06:52 am »
It is a long time ago that I installed DosBox, I'm not on the latest and I do now that it is important to have a right dosbox.conf. At first it did not start on my system because I didn't have this file correctly.
Sure, that is known. My installation creates a valid one if it doesn't exist.

Here's my README.OS2 version, see the section "Basic configuration":

Code: [Select]
_____________________________________________________________________________

   Information
_____________________________________________________________________________

   DOSBox is a DOS emulator that uses the SDL library which makes DOSBox very
   easy to port to different platforms. DOSBox has already been ported to
   many different platforms, such as Windows, BeOS, Linux, MacOS X etc.

   DOSBox also emulates CPU:286/386 realmode/protected mode, Directory
   FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a
   SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility
   with older games etc.

   You can "re-live" the good old days with the help of DOSBox, it can run
   plenty of the old classics that don't run on your new computer!

   DOSBox is totally free of charge and open source.


_____________________________________________________________________________

   License
_____________________________________________________________________________

   GNU General Public License (GPL) version 2.


_____________________________________________________________________________

   OS/2 port
_____________________________________________________________________________

   OS/2 package maintained by Jochen Schäfer.
   Icons provided by David Graser.
   Installation scripts and packaging by Andreas Schnellbacher.

   If you have problems with running DOSBOX, please contact me:
   josch (at) joschs-robotics.de


_____________________________________________________________________________

   Web sites
_____________________________________________________________________________

   DOSBox/2 for OS/2 and eCS Web Site:

      http://www.joschs-robotics.de/dosbox/

   DOSBox Official Web Site:

      http://dosbox.sourceforge.net/


_____________________________________________________________________________

   Installation
_____________________________________________________________________________

   The WarpIN installation is complex and feature-rich for maximal
   convenience. Usually a log file is created for easier error-catching.

   __________________________________________________________________________
   System DLLs

   Used system DLLs are checked for existence. On the WarpIN 'DLL detection'
   page, all DLLs and their states are listed.

   When missing system DLLs are detected, the package 'DOSBox/2 Support DLLs'
   is activated on the Packages page. Missing DLLs are then installed by a
   call to yum. That requires an RPM/YUM installation.

   This package doesn't provide the support DLLs anymore. If you didn't
   already install the DLLs, or don't use RPM/YUM, you can fetch the DLLs
   from here:

      http://rpm.netlabs.org/release/00/zip

   For maximal compatibility with other applications, please don't use
   outdated DLLs.

   __________________________________________________________________________
   Update

   The current version can be installed over an old one without
   uninstallation.

   The previously installed language package is selected automatically. Note
   that this applies only to systems where at least version 0,74.3 is
   installed.

   On updating an existing version, old files that don't stem from the
   current installation, are deleted. That applies also to system DLLs within
   the DOSBox installation directory. (Old versions provided the installation
   of all used system DLLs.)

   __________________________________________________________________________
   Language setup

   On selecting and installing a language package, the configuration file
   dosbox.conf is automatically edited. For more details, see the section
   'Basic configuration' below.

   Note that this file is copied from the eng subdirectory to the
   installation directory, if it doesn't exist.

   When multiple languages are selected, then the last one in the list wins.

   __________________________________________________________________________
   Verbosity and Configuration, Installation and Distribution (CID)

   The verbosity during installation can be controlled in three ways: Logfile
   output, messages and error beeps. For configuration, environment variables
   can be used:
                           Values
      Environment var.  Default  CID
      DOSBOX_INSTCID       0      1 (1 sets all other values)
      DOSBOX_INSTLOG       1      1
      DOSBOX_INSTMSG       1      0
      DOSBOX_INSTBEEP      0      0

   The default installation method is manually. Therefore both log file
   output and messages are activated. 'Messages' means that in case of an
   error, message boxes pop up that need interaction. For an automated (CID)
   installation, these messages are unwanted. To achieve that, set the
   environment variable

      DOSBOX_INSTCID=1

   __________________________________________________________________________
   Log files

   The log file is named dosbox_inst.log. It is usually written to the
   directory pointed to by the environment variable LOGFILES. Its value is
   usually:

      <boot_drive>\var\log

   If that directory doesn't exist, it is created in DOSBox\inst. If the
   DOSBox installation directory is not found, it is created in the path of
   the WarpIN archive.

   Three generations of LOG files are kept:

      dosbox_inst.log    (newest one)
      dosbox_inst_2.log
      dosbox_inst_3.log

   __________________________________________________________________________
   REXX version

   The installation was tested with Classic REXX. It may lead to
   unpredictable results when Object REXX is used.


_____________________________________________________________________________

   Basic configuration
_____________________________________________________________________________

   For configuration, the file 'dosbox.conf' in the directory of 'dosbox.exe'
   (dosbox directory) can be used. For OS/2, an English version is copied
   from the 'eng' subdirectory to the dosbox directory, but only, if it
   doesn't already exist.

   __________________________________________________________________________
   Language

   To activate one of the optionally installed .lng or .lang files, ensure
   that dosbox.conf contains the following entry:

      [dosbox]
      language=<language_filename>

   <language_filename> should be replaced by e.g. 'deu.lng'. This file should
   either be placed in the directory of 'dosbox.exe' or the 'language' value
   must also include the subpath or full path of that .lng file. This entry
   must match and the file must exist. Otherwise DOSBox creates a trap on its
   start.

   Alternatively, you can also use the 'dosbox.exe' parameters:

     -lang <language_filename>
     -conf <config_filename>

   __________________________________________________________________________
   Keyboard

   In the OS/2 version, the keyboard layout is not selected automatically.
   The 'auto' value for 'keyboardlayout', which is the default, doesn't seem
   to work:

      [dos]
      keyboardlayout=auto

   It can be changed by changing the 'keyboardlayout' value. E.g. for using
   German keyboard layout with the default codepage 858 (similar to 850, but
   contains the Euro sign), add this to 'dosbox.conf':

      [dos]
      keyboardlayout=gr

   Alternatively, it can be changed with the 'keyb' command:

      [autoexec]
      keyb gr

   Some usual keyboard layout values for existing translations:

      us       eng  English
      gr       deu  German
      fr       fra  French
      it       ita  Italian
      no       nor  Norwegian
      ru       rus  Russian
      cz       cze  Czech
      dk       dan  Danish
      es       esp  Spanish
      fi       fin  Finnish
      hu       hun  Hungarian
               kor  Korean (DBCS)
      nl       ned  Dutch
      pl       pol  Polish
      po       prt  Portuguese
      tr       tur  Turkish

   See the table in 'KEYB\layouts.txt', column 'File' for more keyboard
   layouts and section '8. Keyboard Layout' in 'README'.

   Also bundled is mKEYB, a replacement of KEYB, which has the keyboard
   tables compiled in. See the help file in 'mkeyb\README.TXT'.

   __________________________________________________________________________
   Configuration file with NLS comments

   A recent and complete config file with NLS comments can be created as a
   starting point:

      o  Add the language file and the keyboard layout values to
         'dosbox.conf', as described above.

      o  Start 'dosbox.exe' with an existing 'dosbox.conf'.

      o  From the host system, rename 'dosbox.conf' to 'dosbox.conf.bak'.

      o  Export the current configuration, together with NLS comments to the
         dosbox directory:

            config -wcp dosbox.conf

         This new file contains the values of the renamed file 'dosbox.conf'
         from the startup of DOSBox and NLS comments, if the 'language'
         value was configured before.

   You can also use one of the examples in the NLS subdirectories as
   template.

   __________________________________________________________________________
   Mount host directories as local drives

   For mounting host directories, use the mount command:

      [autoexec]
      mount <local_drive_letter> <host_dir>

   Example:

      mount D F:\Apps\DOSBox

   __________________________________________________________________________
   Further information

   See the detailed descriptions in 'README', sections '4. Internal Programs'
   and '3. Command Line Parameters'.


Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #5 on: May 24, 2020, 01:47:12 am »
It's likely the updated stdcpp6. Try updating again, yum update, and if that doesn't fix the issue, file an issue at Bitwises Github, probably under GCC.

Pete

  • Hero Member
  • *****
  • Posts: 1281
  • Karma: +9/-0
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #6 on: May 24, 2020, 02:46:34 am »
Hi All

I had the following release of dosbox 0.74 installed which worked fine on ArcaOS5.0.4:-

    8-07-15  9:26p     3,188,956    342 a---  dosbox.exe

Just downloaded and installed DOSBOX0.74_30.03.19.EXE to update existing installation. Works fine - even after I manually deleted all the *.dll support files previous versions used.

Not sure what libs this build requires but libc, libgcc, libstdc++6 are current.
Dropping dosbox.exe onto PMdll suggests those are the only *nixy support files needed.


Regards

Pete

Pete

  • Hero Member
  • *****
  • Posts: 1281
  • Karma: +9/-0
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #7 on: May 24, 2020, 03:54:17 am »
Hi All

I may have found the dosbox problem...

After updating libstdc++ to 9.2.0-4 which dragged in gcc-stdc++-shared-library 4.4.6-15 (not previously installed) I now find dosbox does not work.

I tried to "Downgrade" libstdc++ to the previous installed version which worked, 4.4.6.17-1.oc00.
This fails with this ANPM "Download Failed" message displayed:-


   An error occurred when trying to download or install packages.

   djvulibre-3.5.27-3.oc00.i686 requires stdcpp6.dll


The above error not seen prior to installing libstdc++ to 9.2.0-4 and gcc-stdc++-shared-library 4.4.6-15 just a few minutes previously.

Do other users have the above suspect files installed?

It also looks like the above installation has resulted in libstdc++6 and libsupc++6 no longer being displayed as "Installed" by ANPM which shows them as "Available".

However, trying to Install either of those libraries or "Downgrade" them results in a message that the packages are already installed, nothing to do...

How do I resolve the following problems:-

1] "Downgrade" libstdc++ to 4.4.6.17-1.oc00?

2] (Re)Install libstdc++6 and libsupc++6


Regards

Pete





Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #8 on: May 24, 2020, 04:05:02 am »
You could try, on a command line
Code: [Select]
yum downgrade libstdc++
and keep adding other packages that yum complains about,
Code: [Select]
yum downgrade libstdc++ djvulibre
etc.
Really someone needs to open an issue and let the developers know about this problem and hopefully they can fix. Baring a fix, things will need recompiling

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4710
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: DOSBox Issue - STDCPP6?
« Reply #9 on: May 24, 2020, 04:28:32 am »
Hi

From ANPM I get the following errors when trying to downgrade libstdc++.
Quote
splix-2.0.0-2.i686 requires stdcpp6.dll
qt5-designer-5.13.1-1.oc00.i686 requires stdcpp6.dll
brlaser-4.0.0-0.i686 requires stdcpp6.dll
qt5-qtbase-devel-5.13.1-1.oc00.i686 requires stdcpp6.dll

With "yum downgrade libstdc++" I get:

Quote
Resolving Dependencies
--> Running transaction check
---> Package libstdc++.i686 0:9.2.0-2.oc00 will be a downgrade
--> Processing Dependency: libgcc = 9.2.0-2.oc00 for package: libstdc++-9.2.0-2.
oc00.i686
---> Package libstdc++.i686 0:9.2.0-4.oc00 will be erased
--> Finished Dependency Resolution
Error: Package: libstdc++-fwd-9.2.0-4.oc00.i686 (installed)
           Requires: libstdc++ = 9.2.0-4.oc00
           Removing: libstdc++-9.2.0-4.oc00.i686 (installed)
               libstdc++ = 9.2.0-4.oc00
           Downgraded By: libstdc++-9.2.0-2.oc00.i686 (netlabs-rel)
               libstdc++ = 9.2.0-2.oc00
           Available: libstdc++-4.4.6.17-1.oc00.i386 (netlabs-rel)
               libstdc++ = 4.4.6.17-1.oc00
Error: Package: libstdc++-9.2.0-2.oc00.i686 (netlabs-rel)
           Requires: libgcc = 9.2.0-2.oc00
           Installed: libgcc-9.2.0-4.oc00.i686 (installed)
               libgcc = 9.2.0-4.oc00
           Available: libgcc-9.2.0-2.oc00.i686 (netlabs-rel)
               libgcc = 9.2.0-2.oc00
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


It seems it will give me some trouble to downgrade.

I will try it just to test if DOSBox works again.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #10 on: May 24, 2020, 05:02:47 am »
Here is a rebuilt dosbox.exe. Move all DLLs and dosbox.exe out of your dosbox install directory, I'd just create a bak directory or such and move them there, then unzip this one into your dosbox install directory and test. All I know is that it started up here.
Edit: this uses the latest DLLs from netlabs-rel including SDL.
« Last Edit: May 24, 2020, 05:07:12 am by Dave Yeo »

Pete

  • Hero Member
  • *****
  • Posts: 1281
  • Karma: +9/-0
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #11 on: May 24, 2020, 06:00:53 am »
Hi All

Both the problems are explained by use of yum on the command line:-

[J:\USR\BIN]yum install libstdc++6
Setting up Install Process
Package libstdc++6-4.9.2.1-3.oc00.i686 is obsoleted by libstdc++-9.2.0-4.oc00.i6
86 which is already installed
Nothing to do

The same message is displayed when trying to install libsupc++6.

Would have been helpful to see that message in ANPM...

Installed Daves dosbox-074.3 which works fine.

So, Thank you Dave for both the dosbox build and the suggestion of using yum directly.


Regards

Pete



Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #12 on: May 24, 2020, 06:47:04 am »
Update about my build, seems here it is using SDL12.DLL in @unixroot\usr\local\lib, not the RPM installed one. They both have the same name and presumably the same exports so should be interchangable, but who knows until tested.
This is just the latest tarball from sourceforge that I built as I couldn't find the source that Josh used. Luckily he/someone seems to have got the OS/2 patches committed upstream.
As for downgrading libstdc++, so much is going to depend on it as it is a basic system type library that downgrading isn't advised.

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 576
  • Karma: +27/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #13 on: May 24, 2020, 08:07:42 am »
Had the same issue, resolved it by only replacing the SDL.DLLs with those from Version

SDL-1215-20160303.zip

Have not seen any sideeffects on other appplications so far.

This is what popuplog looked like before:

05-24-2020  07:22:32  SYS2070  PID 0039  TID 0001  Slot 008f
C:\APPS\SYSTEM\DOSBOX\DOSBOX.EXE
DOSBOX->STDCPP6.__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcE
127
------------------------------------------------------------

05-24-2020  07:22:39  SYS2070  PID 003a  TID 0001  Slot 008f
C:\APPS\SYSTEM\DOSBOX\DOSBOX.EXE
DOSBOX->STDCPP6.__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcE
127
------------------------------------------------------------

05-24-2020  07:22:43  SYS2070  PID 003b  TID 0001  Slot 008f
C:\APPS\SYSTEM\DOSBOX\DOSBOX.EXE
DOSBOX->STDCPP6.__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcE
127
------------------------------------------------------------

05-24-2020  07:24:02  SYS2070  PID 003c  TID 0001  Slot 008f
C:\APPS\SYSTEM\DOSBOX\DOSBOX.EXE
DOSBOX->STDCPP6.__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcE
127
« Last Edit: May 24, 2020, 08:09:21 am by Sigurd Fastenrath »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: DOSBox Issue - STDCPP6?
« Reply #14 on: May 24, 2020, 08:41:09 am »
wchar() problem? Wonder if all translations will be handled? There's been quite a few wchar() fixes that come with GCC9.9.2. wchar = wide char = utf8 or utf16.