我一直在尝试安装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_linu x / ui_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
/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:添加符号时出错:命令行中缺少DSO
collect2:错误:ld返回1退出状态
Makefile:158:目标' eureka'失败
make:*** [eureka]错误1
我正在搜索这种类型的错误,但在每个主题中,与我的问题相比,它有所不同。
注意:没有配置文件;我也尝试在make文件中添加另一个LDFLAGS。
系统:linux openSUSE Leap 42.1
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
任何想法如何克服这个问题?
答案 0 :(得分:0)
答案 1 :(得分:0)
使用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
...并创建了可执行文件eureka
。
P.S。 :与手动构建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"
参考。源SRPM中的补丁fltk-1.3.2-underlinking.patch
,fltk-1.3.2-9.2.src.rpm