libretro / dosbox-libretro

Port of DOSBox (upstream) to the libretro API.
GNU General Public License v2.0
61 stars 40 forks source link

Build failure: undefined symbol `co_active_handle' can not be used when making a shared object #115

Open candrews opened 5 years ago

candrews commented 5 years ago

With the current commit 7216efe33153f028573ad68a843d897bdb11a69c I'm getting a build failure. I do not get this failure with the previous commit 8f2d7318b6e66e397448a5905b30bc4f92de7133

x86_64-pc-linux-gnu-g++ -o dosbox_libretro.so ./libretro-common/file/retro_dirent.o ./libretro-common/file/retro_stat.o ./libretro-common/libco/libco.o ./libretro/dos_gfx.o ./libretro/dosbox.o ./libretro/libretro.o ./libretro/mapper.o ./libretro/mixer-retro.o ./libretro/nonlibc/snprintf.o ./libretro/render.o ./libretro/render_scalers.o ./src/cpu/callback.o ./src/cpu/core_dyn_x86.o ./src/cpu/core_dynrec.o ./src/cpu/core_full.o ./src/cpu/core_normal.o ./src/cpu/core_prefetch.o ./src/cpu/core_simple.o ./src/cpu/cpu.o ./src/cpu/flags.o ./src/cpu/mmx.o ./src/cpu/modrm.o ./src/cpu/paging.o ./src/dos/cdrom.o ./src/dos/cdrom_image.o ./src/dos/dos.o ./src/dos/dos_classes.o ./src/dos/dos_devices.o ./src/dos/dos_execute.o ./src/dos/dos_files.o ./src/dos/dos_ioctl.o ./src/dos/dos_keyboard_layout.o ./src/dos/dos_memory.o ./src/dos/dos_misc.o ./src/dos/dos_mscdex.o ./src/dos/dos_programs.o ./src/dos/dos_tables.o ./src/dos/drive_cache.o ./src/dos/drive_fat.o ./src/dos/drive_iso.o ./src/dos/drive_local.o ./src/dos/drive_virtual.o ./src/dos/drives.o ./src/fpu/fpu.o ./src/hardware/adlib.o ./src/hardware/cmos.o ./src/hardware/dbopl.o ./src/hardware/disney.o ./src/hardware/dma.o ./src/hardware/gameblaster.o ./src/hardware/gus.o ./src/hardware/hardware.o ./src/hardware/iohandler.o ./src/hardware/joystick.o ./src/hardware/keyboard.o ./src/hardware/memory.o ./src/hardware/mpu401.o ./src/hardware/pci_bus.o ./src/hardware/pcspeaker.o ./src/hardware/pic.o ./src/hardware/sblaster.o ./src/hardware/serialport/directserial.o ./src/hardware/serialport/libserial.o ./src/hardware/serialport/misc_util.o ./src/hardware/serialport/nullmodem.o ./src/hardware/serialport/serialdummy.o ./src/hardware/serialport/serialport.o ./src/hardware/serialport/softmodem.o ./src/hardware/tandy_sound.o ./src/hardware/timer.o ./src/hardware/vga.o ./src/hardware/vga_attr.o ./src/hardware/vga_crtc.o ./src/hardware/vga_dac.o ./src/hardware/vga_draw.o ./src/hardware/vga_gfx.o ./src/hardware/vga_memory.o ./src/hardware/vga_misc.o ./src/hardware/vga_other.o ./src/hardware/vga_paradise.o ./src/hardware/vga_s3.o ./src/hardware/vga_seq.o ./src/hardware/vga_tseng.o ./src/hardware/vga_xga.o ./src/ints/bios.o ./src/ints/bios_disk.o ./src/ints/bios_keyboard.o ./src/ints/ems.o ./src/ints/int10.o ./src/ints/int10_char.o ./src/ints/int10_memory.o ./src/ints/int10_misc.o ./src/ints/int10_modes.o ./src/ints/int10_pal.o ./src/ints/int10_put_pixel.o ./src/ints/int10_vesa.o ./src/ints/int10_video_state.o ./src/ints/int10_vptable.o ./src/ints/mouse.o ./src/ints/xms.o ./src/midi/midi.o ./src/midi/munt/Analog.o ./src/midi/munt/BReverbModel.o ./src/midi/munt/File.o ./src/midi/munt/FileStream.o ./src/midi/munt/LA32Ramp.o ./src/midi/munt/LA32WaveGenerator.o ./src/midi/munt/MidiStreamParser.o ./src/midi/munt/Part.o ./src/midi/munt/Partial.o ./src/midi/munt/PartialManager.o ./src/midi/munt/Poly.o ./src/midi/munt/ROMInfo.o ./src/midi/munt/Synth.o ./src/midi/munt/TVA.o ./src/midi/munt/TVF.o ./src/midi/munt/TVP.o ./src/midi/munt/Tables.o ./src/midi/munt/sha1/sha1.o ./src/misc/cross.o ./src/misc/messages.o ./src/misc/programs.o ./src/misc/setup.o ./src/misc/support.o ./src/shell/shell.o ./src/shell/shell_batch.o ./src/shell/shell_cmds.o ./src/shell/shell_misc.o -Wl,-O1 -Wl,--as-needed -flto -Wl,--hash-style=gnu -shared -Wl,--version-script=libretro/link.T -Wl,-O1 -Wl,--as-needed -flto -Wl,--hash-style=gnu  -lm -fPIC
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/games-emulation/libretro-dosbox-9999/temp/ccn6ex6K.ltrans0.ltrans.o: warning: relocation against `co_active_handle' in read-only section `.text'
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/games-emulation/libretro-dosbox-9999/temp/ccn6ex6K.ltrans0.ltrans.o: relocation R_X86_64_PC32 against undefined symbol `co_active_handle' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile.libretro:209: dosbox_libretro.so] Error 1