[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: error with static build
From: |
Richard Shann |
Subject: |
Re: error with static build |
Date: |
Thu, 12 Oct 2023 16:57:03 +0100 |
User-agent: |
Evolution 3.46.4-2 |
On Thu, 2023-10-12 at 10:22 -0500, Jeremiah Benham wrote:
> Richard,
> I have managed to build all the dependencies of denemo in MXE for a
> 32
> bit statically but am stuck compiling denemo here:
>
> /media/jbenham/Sandisk1/mxe/usr/bin/i686-w64-mingw32.static-ld:
> /media/jbenham/Sandisk1/mxe/usr/i686-w64-
> mingw32.static/lib/libtermcap.a(termcap.o):termcap.c:(.bss+0x8):
> multiple definition of `PC';
> /media/jbenham/Sandisk1/mxe/usr/i686-w64-
> mingw32.static/lib/libreadline.a(terminal.o):/media/jbenham/Sandisk1/
> mxe/tmp-readline-i686-w64-mingw32.static/readline-8.2/terminal.c:930:
> first defined here
> collect2: error: ld returned 1 exit status
> make[3]: *** [Makefile:1162: denemo.exe] Error 1
>
> Do you know how to resolve the multiple definitions? I could give you
> the full log if you like.
It seems to be a known problem in MinGW: I found this
"I got around this when building some statically linked utility
programs by rebuilding Termcap with the PC variable renamed to
TERMCAP_PC (there's 4 places, 2 in termcap.h and 2 in termcap.c). It
doesn't seem to be used anywhere else, so it's probably safe."
in a discussion about it on
https://github.com/msys2/MINGW-packages/issues/8105
this same page also had a suggestion to use "LDFLAGS+=" -Wl,--allow-
multiple-definition"
I can't recall hearing about this sort of problem despite working at
one time on huge chunks of software that were statically linked. But it
was over twenty years ago ...
HTH
Richard
>
> Thanks,
> Jeremiah
>