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] Unable to install/compile: /home/pi/RetroPie-Setup/tmp/build/lr-dosbox/dosbox_libretro.so not found

    Scheduled Pinned Locked Moved Help and Support
    lr-dosboxerror
    2 Posts 1 Posters 820 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.
    • SuperFromNDS
      SuperFromND
      last edited by SuperFromND

      Update: I have since sent and merged a PR that fixes this issue.

      Log file: https://hastebin.com/ikocalikax.xml
      RetroPie version: 4.4
      Hardware: Raspberry Pi 3 Model B [not to be confused with the 3B+]

      I've attempted to compile lr-dosbox at least twice, and every time it give me this error. The piece of code responsible for the error appears to be with lr-dosbox's code itself:

      In file included from src/misc/cross.cpp:30:0:
      src/misc/../../libretro/libretro.h:1272:8: error: redefinition of ‘struct retro_midi_interface’
       struct retro_midi_interface
              ^~~~~~~~~~~~~~~~~~~~
      src/misc/../../libretro/libretro.h:1213:8: error: previous definition of ‘struct retro_midi_interface’
       struct retro_midi_interface
              ^~~~~~~~~~~~~~~~~~~~
      Makefile.libretro:189: recipe for target 'src/misc/cross.o' failed
      make: *** [src/misc/cross.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).
      

      Anyone know of a fix?

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

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

        Update: I found the culprit! Turns out that the file libretro.h had this struct definition twice:

        struct retro_midi_interface
        {
           retro_midi_input_enabled_t input_enabled;
           retro_midi_output_enabled_t output_enabled;
           retro_midi_read_t read;
           retro_midi_write_t write;
           retro_midi_flush_t flush;
        };
        

        This confused make since you can't redefine a struct once you declare it, causing errors and an eventual crash. Removing one of the struct definitions appears to have fixed this issue.

        ▲▼▲▼▲▼▲▼▲▼
        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.