Stas Sergeev wrote: > 28.01.2013 11:02, Frantisek Hanzlik пишет: >> Hello DOSEMU hackers, >> >> Just trying build git version DOSEMU (dosemu-1.4.0.8-111.g5205669 ?) >> I ends with linker error: >> >> ...onous-unwind-tables -o emu.o emu.c >> In file included from /usr/include/stdio.h:28:0, >> from emu.c:59: >> /usr/include/features.h:314:4: warning: #warning _FORTIFY_SOURCE requires >> compiling with optimization (-O) [-Wcpp] >> gcc -std=gnu99 -Wl,-warn-common -Wl,-z,relro -rdynamic -o >> ../1.4.0.8/bin/dosemu.bin emu.o \ >> -Wl,--whole-archive lib/libenv_video.a lib/libbase.a lib/libbase_async.a >> lib/libarch_linux_async.a lib/libarch_linux_mapping.a lib/libbase_misc.a >> lib/libbase_misc_libpcl.a lib/libbase_dev_misc.a lib/libemu-i386.a >> lib/libenv.a lib/libbase_speaker.a lib/libbase_dev_pic.a >> lib/libdosext_dpmi.a lib/libdosext_mfs.a lib/libdosext_misc.a >> lib/libbase_init.a lib/libbase_serial.a lib/libbase_mouse.a >> lib/libbase_dev_dma.a lib/libarch_linux_debugger.a lib/libdosext_net_net.a >> lib/libdosext_sound.a lib/libarch_linux_dosext_sound.a >> lib/libbase_dev_sb16.a lib/libbase_sound.a lib/libdosext_drivers.a >> lib/libbase_bios.a lib/libplugin_fluidsynth.a lib/libplugin_X.a >> lib/libplugin_gpm.a lib/libplugin_extra_charsets.a lib/libplugin_alsa.a >> lib/libplugin_term.a lib/libplugin_midimisc.a lib/libplugin_sdl.a >> lib/libplugin_kbd_unicode.a lib/libplugin_commands.a lib/libplugin_sndfile.a >> lib/libplugin_translate.a lib/libplugin_translate_charsets.a >> -Wl,--no-whole-archive -lvga -lrt -ldl -lm >> lib/libdosext_sound.a(sound.o): In function `sb_io_write': >> /mnt/ARCHIV/dist/RH/MyRPMs/BUILD/dosemu-1.4.0.8/src/dosext/sound/sound.c:768: >> undefined reference to `sb_mixer_register_write' >> collect2: error: ld returned 1 exit status >> make[2]: *** [../1.4.0.8/bin/dosemu.bin] Error 1 >> make[2]: Leaving directory >> `/mnt/ARCHIV/dist/RH/MyRPMs/BUILD/dosemu-1.4.0.8/src' >> make[1]: *** [dosemu] Error 2 >> >> >> Which may be bad? > Should be fixed in git. > In C99 mode, the "inline" functions do not produce an externally > visible symbol. But, in your case, this function had a _forward_ inline > declaration, and was not available at a call site, so, for some reason, > the direct call was generated. > This may be a gcc bug, or may not. gnu99 mode was in the game, > not C99, which gives the additional obscuring. > I simply removed inline.
Stas, thanks, now it work fine (dosemu-1.4.0.8-112.g760339c). Maybe latest Barts patch "No longer call vga_emu_init() and vbe_init() with NULL arguments" it is same cause as I in meantime tried compile it, and I got similar error for vgaemu.c/undefined reference to `vbe_pre_init': gcc -std=gnu99 -Wl,-warn-common -Wl,-z,relro -rdynamic -o ../1.4.0.8/bin/dosemu.bin emu.o \ -Wl,--whole-archive lib/libenv_video.a lib/libbase.a lib/libbase_async.a lib/libarch_linux_async.a lib/libarch_linux_mapping.a lib/libbase_misc.a lib/libbase_misc_libpcl.a lib/libbase_dev_misc.a lib/libemu-i386.a lib/libenv.a lib/libbase_speaker.a lib/libbase_dev_pic.a lib/libdosext_dpmi.a lib/libdosext_mfs.a lib/libdosext_misc.a lib/libbase_init.a lib/libbase_serial.a lib/libbase_mouse.a lib/libbase_dev_dma.a lib/libarch_linux_debugger.a lib/libdosext_net_net.a lib/libdosext_sound.a lib/libarch_linux_dosext_sound.a lib/libbase_dev_sb16.a lib/libbase_sound.a lib/libdosext_drivers.a lib/libbase_bios.a lib/libplugin_fluidsynth.a lib/libplugin_X.a lib/libplugin_gpm.a lib/libplugin_extra_charsets.a lib/libplugin_alsa.a lib/libplugin_term.a lib/libplugin_midimisc.a lib/libplugin_sdl.a lib/libplugin_kbd_unicode.a lib/libplugin_commands.a lib/libplugin_sndfile.a lib/libplugin_translate.a lib/libplugin_translate_charsets.a -Wl,--no-whole-archive -lvga -lrt -ldl -lm lib/libenv_video.a(vgaemu.o): In function `vga_emu_pre_init': /mnt/ARCHIV/dist/RH/MyRPMs/BUILD/dosemu-1.4.0.8/src/env/video/vgaemu.c:1644: undefined reference to `vbe_pre_init' lib/libdosext_sound.a(sound.o): In function `sb_io_write': /mnt/ARCHIV/dist/RH/MyRPMs/BUILD/dosemu-1.4.0.8/src/dosext/sound/sound.c:768: undefined reference to `sb_mixer_register_write' collect2: error: ld returned 1 exit status make[2]: *** [../1.4.0.8/bin/dosemu.bin] Error 1 make[2]: Leaving directory `/mnt/ARCHIV/dist/RH/MyRPMs/BUILD/dosemu-1.4.0.8/src' make[1]: *** [dosemu] Error 2 Many thanks to you both! ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ Dosemu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dosemu-devel
