magic icon indicating copy to clipboard operation
magic copied to clipboard

when install with "make", meet with error, how to solve it

Open youth1forever opened this issue 3 years ago • 5 comments

/home/yy/magic/tcltk/tclmagic.c:881: multiple definition of `TxGetLinePfix'; ../textio/libtextio.o:/home/yy/magic/textio/txInput.c:1108: first defined here collect2: error: ld returned 1 exit status make[2]: *** [Makefile:47: tclmagic.so] Error 1 make[2]: Leaving directory '/home/yy/magic/magic' make[1]: *** [Makefile:38: tcllibrary] Error 1 make[1]: Leaving directory '/home/yy/magic' make: *** [Makefile:26: tcl] Error 2

youth1forever avatar Jan 12 '23 12:01 youth1forever

This is caused by compiling without Tcl/Tk support, then reconfiguring with Tcl/Tk support, and running "make" again without first doing "make clean".

Do a "make clean" and recompile and it should be okay.

RTimothyEdwards avatar Jan 12 '23 14:01 RTimothyEdwards

Dear, Thanks for your answer. But when I do "make clean"->"make"->"make install", "make" is ok, but when I do "make install", Tcl may still meet with some problem. Hope for your advice.

The error picture is in the attachment. Thanks.

----- 原始邮件 ----- 发件人: "R. Timothy Edwards" @.> 收件人: "RTimothyEdwards/magic" @.> 抄送: "youth1forever" @.>, "Author" @.> 发送时间: 星期四, 2023年 1 月 12日 下午 10:27:13 主题: Re: [RTimothyEdwards/magic] when install with "make", meet with error, how to solve it (Issue #211)

This is caused by compiling without Tcl/Tk support, then reconfiguring with Tcl/Tk support, and running "make" again without first doing "make clean".

Do a "make clean" and recompile and it should be okay.

-- Reply to this email directly or view it on GitHub: https://github.com/RTimothyEdwards/magic/issues/211#issuecomment-1380436957 You are receiving this because you authored the thread.

Message ID: @.***>

youth1forever avatar Jan 12 '23 15:01 youth1forever

There was no attachment. Can you please send it?

RTimothyEdwards avatar Jan 12 '23 16:01 RTimothyEdwards

after "make clean" and then "make", the result is: --- making Tcl shared libraries for dir in magic net2ir tcltk; do
(cd $dir && make tcl-main) || exit 1; done make[2]: Entering directory '/home/yy/magic/magic' make[2]: Nothing to be done for 'tcl-main'. make[2]: Leaving directory '/home/yy/magic/magic' make[2]: Entering directory '/home/yy/magic/net2ir' echo "Nothing to do here" Nothing to do here make[2]: Leaving directory '/home/yy/magic/net2ir' make[2]: Entering directory '/home/yy/magic/tcltk' make[2]: Nothing to be done for 'tcl-main'. make[2]: Leaving directory '/home/yy/magic/tcltk' make[1]: Leaving directory '/home/yy/magic'

And then if I do "make install", there is still some error.

make[2]: *** [Makefile:62: /opt/magic-8.3/lib/magic/tcl/tclmagic.so] Error 1 make[2]: Leaving directory '/home/yy/magic/magic' make[2]: Entering directory '/home/yy/magic/net2ir' echo "Nothing to do here" Nothing to do here make[2]: Leaving directory '/home/yy/magic/net2ir' make[2]: Entering directory '/home/yy/magic/tcltk' rm -f /opt/magic-8.3/bin/magic.sh /opt/magic-8.3/bin/magic cp magic.sh /opt/magic-8.3/bin/magic cp: cannot create regular file '/opt/magic-8.3/bin/magic': No such file or directory make[2]: *** [Makefile:87: /opt/magic-8.3/bin/magic.sh] Error 1 make[2]: Leaving directory '/home/yy/magic/tcltk' make[1]: *** [Makefile:95: install-tcl-real] Error 2 make[1]: Leaving directory '/home/yy/magic' make: *** [Makefile:92: install-tcl] Error 2

In fact I have installed all the packages. config.status: creating defs.mak config.status: WARNING: 'defs.mak.in' seems to ignore the --datarootdir setting


Configuration Summary (principle requirements):

X11: yes Python3: yes OpenGL: yes Vector fonts: yes Cairo: yes Tcl/Tk: yes

Use 'make' to compile and 'make install' to install.


youth1forever avatar Jan 13 '23 01:01 youth1forever

As it is writing to /opt/, are you doing sudo make install?

RTimothyEdwards avatar Jan 13 '23 02:01 RTimothyEdwards