1

У меня Linux Mint 16 KDE, и я хотел установить эмулятор Texas Instruments с http://lpg.ticalc.org/prj_tilem/download.html.

Я скачал и извлек исходный код, и установил все необходимые пакеты, которые были упомянуты в установочном документе.

В терминале я набрал «./configure», а затем "make", после чего я получил следующее сообщение об ошибке:

"/usr/bin/ld: ../emu/libtilemcore.a(graycolor.o): undefined reference to symbol 'pow@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[1]: *** [tilem2] Error 1
make[1]: Leaving directory `/home/clearsky/Desktop/Texas Instruments/tilem-2.0/gui'
make: *** [all] Error 2"

Вот полный вывод из теминала:

./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for ar... ar
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for update-desktop-database... :
checking for update-mime-database... update-mime-database
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GTK... yes
checking for gtk_init... yes
checking for TICALCS... yes
checking for ticalcs_library_init... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking for inline... inline
checking for C/C++ restrict keyword... __restrict
checking for uintptr_t... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating emu/Makefile
config.status: creating db/Makefile
config.status: creating data/Makefile
config.status: creating gui/Makefile
config.status: creating gui/tilem2.rc
config.status: creating installer/win32/Makefile
config.status: creating installer/win32/installer.nsi
config.status: creating config.h
config.status: config.h is unchanged

make
cd emu && make
make[1]: Entering directory `/home/clearsky/Desktop/Texas Instruments/tilem-2.0/emu'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/clearsky/Desktop/Texas Instruments/tilem-2.0/emu'
cd db && make
make[1]: Entering directory `/home/clearsky/Desktop/Texas Instruments/tilem-2.0/db'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/clearsky/Desktop/Texas Instruments/tilem-2.0/db'
cd gui && make
make[1]: Entering directory `/home/clearsky/Desktop/Texas Instruments/tilem-2.0/gui'
gcc -g -O2 -W -Wall -Wwrite-strings    -o tilem2 tilem2.o address.o animatedgif.o animation.o breakpoints.o config.o charmap.o debugger.o disasmview.o emulator.o emucore.o emuwin.o event.o filedlg.o files.o fixedtreeview.o gifencod.o icons.o keybindings.o keypaddlg.o link.o macro.o memmodel.o memview.o memory.o pbar.o preferences.o sendfile.o screenshot.o skinops.o ti81prg.o menu.o rcvmenu.o tool.o  -L../db -ltilemdb -L../emu -ltilemcore -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgthread-2.0 -lglib-2.0   -lticalcs2 -lticables2 -ltifiles2 -lticonv -lglib-2.0   
/usr/bin/ld: ../emu/libtilemcore.a(graycolor.o): undefined reference to symbol 'pow@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[1]: *** [tilem2] Error 1
make[1]: Leaving directory `/home/clearsky/Desktop/Texas Instruments/tilem-2.0/gui'
make: *** [all] Error 2

Может ли кто-нибудь помочь мне найти решение этой проблемы?

2 ответа2

2

Я вошел в Makefile в подкаталоге gui и добавил -lm в строку GTK_LIBS, и это, похоже, исправило ошибку.

1

Если вы просто хотите, чтобы этот эмулятор работал, вместо того, чтобы выяснить, почему вы не можете его скомпилировать, рассмотрите возможность использования Omnimaga PPA или glennric PPA или другого PPA с пакетом tilem. Убедитесь, что вы выбрали правильную версию Ubuntu, на которой основана ваша версия Mint.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .