简体   繁体   English

eureka-1.11:命令行缺少DSO

[英]eureka-1.11: DSO missing from command line

I've been trying to install eureka-1.11 program (DooM map editor for Linux) and when I ran make command, I got the error: 我一直在尝试安装eureka-1.11程序(用于Linux的DooM地图编辑器),当我运行make命令时,出现了错误消息:


user_nout@linux-u90c:~/eureka-1.11-source> sudo make  
root's password:  

g++ obj_linux/editloop.o obj_linux/e_basis.o obj_linux/e_checks.o obj_linux/e_checks2.o obj_linux/e_cutpaste.o obj_linux/e_linedef.o obj_linux/e_loadsave.o obj_linux/e_nodes.o obj_linux/e_path.o obj_linux/e_sector.o obj_linux/e_things.o obj_linux/e_vertex.o obj_linux/im_arrows.o obj_linux/im_color.o obj_linux/im_img.o obj_linux/levels.o obj_linux/lib_adler.o obj_linux/lib_file.o obj_linux/lib_util.o obj_linux/main.o obj_linux/m_bitvec.o obj_linux/m_config.o obj_linux/m_files.o obj_linux/m_game.o obj_linux/m_keys.o obj_linux/m_select.o obj_linux/m_strings.o obj_linux/objects.o obj_linux/r_grid.o obj_linux/r_render.o obj_linux/sys_debug.o obj_linux/ui_about.o obj_linux/ui_browser.o obj_linux/ui_canvas.o obj_linux/ui_default.o obj_linux/ui_dialog.o obj_linux/ui_file.o obj_linux/ui_hyper.o obj_linux/ui_infobar.o obj_linux/ui_linedef.o obj_linux/ui_menu.o obj_linux/ui_misc.o obj_linux/ui_nombre.o obj_linux/ui_nodes.o obj_linux/ui_pic.o obj_linux/ui_prefs.o obj_linux/ui_replace.o obj_linux/u g ++ obj_linux / editloop.o obj_linux / e_basis.o obj_linux / e_checks.o obj_linux / e_checks2.o obj_linux / e_cutpaste.o obj_linux / e_linedef.o obj_linux / e_loadsave.o obj_linux / e_nodes.o.obj_linux / e.check_o o obj_linux / e_things.o obj_linux / e_vertex.o obj_linux / im_arrows.o obj_linux / im_color.o obj_linux / im_img.o obj_linux / levels.o obj_linux / lib_adler.o obj_linux / lib_obj.o obj_linux / lib_adler.o obj_linux / lib_obj.o o obj_linux / m_bitvec.o obj_linux / m_config.o obj_linux / m_files.o obj_linux / m_game.o obj_linux / m_keys.o obj_linux / m_select.o obj_linux / m_strings.o obj_linux / objects.o obj_linux / r_ender.o o obj_linux / sys_debug.o obj_linux / ui_about.o obj_linux / ui_browser.o obj_linux / ui_canvas.o obj_linux / ui_default.o obj_linux / ui_dialog.o obj_linux / ui_file.o obj_linux / ui_hyper.o obj_linux / ui_infobar。 o obj_linux / ui_menu.o obj_linux / ui_misc.o obj_linux / ui_nombre.o obj_linux / ui_nodes.o obj_linux / ui_pic.o obj_linux / ui_prefs.o obj_linux / ui_replace.o obj_linux / u i_sector.o obj_linux/ui_scroll.o obj_linux/ui_sidedef.o obj_linux/ui_thing.o obj_linux/ui_tile.o obj_linux/ui_vertex.o obj_linux/ui_window.o obj_linux/w_loadpic.o obj_linux/w_flats.o obj_linux/w_sprite.o obj_linux/w_texture.o obj_linux/w_wad.o obj_linux/x_hover.o obj_linux/x_loop.o obj_linux/x_mirror.o obj_linux/glbsp/analyze.o obj_linux/glbsp/blockmap.o obj_linux/glbsp/glbsp.o obj_linux/glbsp/level.o obj_linux/glbsp/node.o obj_linux/glbsp/reject.o obj_linux/glbsp/seg.o obj_linux/glbsp/system.o obj_linux/glbsp/util.o obj_linux/glbsp/wad.o -o eureka -L /lib64 -lfltk_images -lfltk_gl -lfltk -lX11 -lXext -lXft -lfontconfig -lXinerama -lpng -ljpeg -lGL -lz -lm i_sector.o obj_linux / ui_scroll.o obj_linux / ui_sidedef.o obj_linux / ui_thing.o obj_linux / ui_tile.o obj_linux / ui_vertex.o obj_linux / ui_window.o obj_linux / w_loadpic.o obj_linux / w_flats.o sp_o。 w_texture.o obj_linux / w_wad.o obj_linux / x_hover.o obj_linux / x_loop.o obj_linux / x_mirror.o obj_linux / glbsp / analyze.o obj_linux / glbsp / blockmap.o obj_linux / glbsp / glbsp / g obj_linux / level。 o obj_linux / glbsp / node.o obj_linux / glbsp / reject.o obj_linux / glbsp / seg.o obj_linux / glbsp / system.o obj_linux / glbsp / util.o obj_linux / glbsp / wad.o -o eureka -L / lib64 -lfltk_images -lfltk_gl -lfltk -lX11 -lXext -lXft -lfontconfig -lXinerama -lpng -ljpeg -lGL -lz -lm
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: /usr/local/lib64/libfltk.a(Fl_Native_File_Chooser.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5' /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:/usr/local/lib64/libfltk.a(Fl_Native_File_Chooser。 o):未定义对符号'dlsym @@ GLIBC_2.2.5'的引用
/lib64/libdl.so.2: error adding symbols: DSO missing from command line /lib64/libdl.so.2:添加符号时出错:命令行缺少DSO
collect2: error: ld returned 1 exit status collect2:错误:ld返回1退出状态
Makefile:158: recipe for target 'eureka' failed Makefile:158:目标“ Eureka”的配方失败
make: *** [eureka] Error 1 make:*** [eureka]错误1


I was searching a lot about this type of error, but in each topic it was something different comparing to my problem. 我一直在搜索有关此类错误的大量信息,但是与我的问题相比,在每个主题中它都有所不同。

For note: there is no configure file ; 注意: 没有配置文件 also I tried to put another LDFLAGS in make file. 我也试图在make文件中放入另一个LDFLAGS。

System: linux openSUSE Leap 42.1 系统:linux openSUSE Leap 42.1

The part of the makefile , if needed: Makefile的一部分(如果需要):


INSTALL_DIR=$(PREFIX)/share/eureka

CXXFLAGS=$(OPTIMISE) -Wall -D$(OS)  \
     -Iglbsp_src  \
     -D_THREAD_SAFE -D_REENTRANT

LDFLAGS=-L/usr/X11R6/lib

LIBS= \
 -lfltk_images -lfltk_gl -lfltk  \
 -lX11 -lXext -lXft -lfontconfig -lXinerama  \
 -lpng -ljpeg -lGL -lz -lm

Any ideas how to overcome this issue? 任何想法如何克服这个问题?

The question can be closed - Knud Larsen has published an answer in the comment above. 这个问题可以解决 -Knud Larsen在上面的评论中发布了答案。 All the thing was in not valid fltk on my system. 一切都在我的系统上失效了。

For reading the full answer to my question , see the comment, as I have already mentioned. 要阅读我的问题完整答案 ,请参阅我已经提到的评论。

Thanks for help! 感谢帮助!

Testing eureka-111 with OpenSuse Leap 42.1 : 使用OpenSuse Leap 42.1测试eureka-111:

# zypper in gcc-c++ fltk-devel fltk-devel-static libXft-devel libjpeg8-devel libpng12-devel xdg-utils

cd eureka-1.11-source/ && make ... and the executable eureka is created. cd eureka-1.11-source/ && make ...并创建了可执行文件eureka


PS : Reason for a difference with a manual build of fltk : The Suse 42.1 fltk packages were built with a different configure file ( Line 2685 edited ) : PS:手动构建fltk产生差异的原因:Suse 42.1 fltk软件包是使用不同的configure文件构建的(第2685行已编辑):

-            DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o"
+            DSOCOMMAND="\$(CXX) -Wl,--as-needed -Wl,--no-undefined \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o"

Ref. 参考 the patch fltk-1.3.2-underlinking.patch in the source SRPM, fltk-1.3.2-9.2.src.rpm 源SRPM fltk-1.3.2-9.2.src.rpm中的补丁fltk-1.3.2-underlinking.patch


声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM