RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    lr-dosbox compilation error

    Scheduled Pinned Locked Moved Help and Support
    lr-dosbox
    9 Posts 4 Posters 1.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Race
      last edited by

      Good day.
      English is not my native language, so I try explain how I can.
      I have Raspberry PI3 B+, Retropie 4.4 official image. And try to install lr-dosbox from retropie-setup. Package not installing with this error:

      libretro/libretro.cpp: In function ‘void retro_init()’:
      libretro/libretro.cpp:671:40: error: aggregate ‘retro_midi_interface midi_interface’ has incomplete type and cannot be defined
           static struct retro_midi_interface midi_interface;
                                              ^~~~~~~~~~~~~~
      libretro/libretro.cpp: In function ‘void retro_run()’:
      libretro/libretro.cpp:806:53: error: invalid use of incomplete type ‘struct retro_midi_interface’
           if (retro_midi_interface && retro_midi_interface->output_enabled())
                                                           ^~
      libretro/libretro.cpp:94:15: note: forward declaration of ‘struct retro_midi_interface’
       extern struct retro_midi_interface *retro_midi_interface;
                     ^~~~~~~~~~~~~~~~~~~~
      libretro/libretro.cpp:807:29: error: invalid use of incomplete type ‘struct retro_midi_interface’
               retro_midi_interface->flush();
                                   ^~
      libretro/libretro.cpp:94:15: note: forward declaration of ‘struct retro_midi_interface’
       extern struct retro_midi_interface *retro_midi_interface;
                     ^~~~~~~~~~~~~~~~~~~~
      Makefile.libretro:189: recipe for target 'libretro/libretro.o' failed
      make: *** [libretro/libretro.o] Error 1
      make: *** Waiting for unfinished jobs....
      /home/pi
      Could not successfully build lr-dosbox - DOS emulator (/home/pi/RetroPie-Setup/tmp/build/lr-dosbox/dosbox_libretro.so not found).
      
      gcc --version
      gcc (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516
      Copyright (C) 2016 Free Software Foundation, Inc.
      This is free software; see the source for copying conditions.  There is NO
      warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
      

      Anyone knows what is missing for the installation and what needs to be done?
      Thanks.

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        The problem is not related to RetroPie or your configuration, the upstream project has an error. It's already been reported - https://github.com/libretro/dosbox-libretro/issues/103 - so we'll have to wait for a fix from their side.

        R 1 Reply Last reply Reply Quote 0
        • R
          Race @mitu
          last edited by

          @mitu
          too bad, but ok - waiting... thanks for reply

          1 Reply Last reply Reply Quote 0
          • SuperFromNDS
            SuperFromND
            last edited by SuperFromND

            Here's my copy of the core, if you want to install it manually. This was compiled mere days ago, so it's about as up-to-date as you can get. Do note that you might not get support for using this pre-compiled core.

            In the meantime, here's a few other bits and pieces of info about lr-dosbox:

            • Windows 3.1 applications seem to be much more stable in the core than in standalone DOSbox; I was able to run Internet Explorer 3 and browse some local sites properly.
            • RetroArch isn't able to use DOSbox's mapper to my knowledge, so you'll have to futz around with the core options to get controller support. I'm sure that this will be streamlined in the future.

            ▲▼▲▼▲▼▲▼▲▼
            IKEMEN Go
            SRB2Kart
            ▼▲▼▲▼▲▼▲▼▲

            edmaul69E R 2 Replies Last reply Reply Quote 0
            • edmaul69E
              edmaul69 @SuperFromND
              last edited by edmaul69

              @supercatfooz i have no issues with windows 3.1 in the standalone version. I dont get on the internet but i have about 100 games on it. I am curious how you got the internet setup on lr-dosbox. I havent used lr-dosbox because every game i tried playing was slow.

              SuperFromNDS 1 Reply Last reply Reply Quote 0
              • SuperFromNDS
                SuperFromND @edmaul69
                last edited by

                @edmaul69 I bumped up the cycle count in RetroArch settings to ~9,000; works well enough for the most part though it is a tad on the slow side. I'm not 100% sure why lr-dosbox works better than standalone DOSbox when it comes to Windows 3.1, but it's pretty neat nonetheless.

                ▲▼▲▼▲▼▲▼▲▼
                IKEMEN Go
                SRB2Kart
                ▼▲▼▲▼▲▼▲▼▲

                edmaul69E 1 Reply Last reply Reply Quote 0
                • edmaul69E
                  edmaul69 @SuperFromND
                  last edited by

                  @supercatfooz so what runs better on lr-dosbox than standalone dosbox with windows 3.1? I havent had any issues so im not sure what issues there are?

                  1 Reply Last reply Reply Quote 0
                  • R
                    Race @SuperFromND
                    last edited by

                    @supercatfooz said in lr-dosbox compilation error:

                    Here's my copy of the core, if you want to install it manually.

                    Can you explain howto install it manually?

                    SuperFromNDS 1 Reply Last reply Reply Quote 0
                    • SuperFromNDS
                      SuperFromND @Race
                      last edited by SuperFromND

                      @race Navigate to /opt/retropie/libretrocores, create a new folder named lr-dosbox, put the dosbox-libretro.so file into it, then add this line to /opt/retropie/configs/pc/emulators.cfg:

                      lr-dosbox = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-dosbox/dosbox_libretro.so --config /opt/retropie/configs/pc/retroarch.cfg %ROM%"
                      

                      [Assuming you've already installed regular DOSbox here.]

                      ▲▼▲▼▲▼▲▼▲▼
                      IKEMEN Go
                      SRB2Kart
                      ▼▲▼▲▼▲▼▲▼▲

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                      Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.