On Wed, Aug 28, 2019, 3:47 PM <w1252675...@gmail.com> wrote:

> I find the package you build with 'go build buildmode=c-archive/c-shared',
> when you build you code with the lib, the outer need to have main func, I
> don't know why.
>

That requirement is documented here:
https://golang.org/cmd/go/#hdr-Build_modes


> 在 2016年5月18日星期三 UTC+8上午11:11:57,Justin Israel写道:
>>
>> I'm wondering if someone can tell me if this is either a limitation of
>> buildmode=c-archive static libs, or if I am really just doing something
>> wrong.
>>
>> Problematic steps:
>>
>>    1. export functions to  libgofoo.a using buildmode=c-archive
>>    2. statically link libgofoo.a into another library to produce libfoo.a
>>    3. Someone else consumes libfoo.a and libgofoo.a in their library,
>>    and get linker errors about:
>>    ld: libgofoo.a(go.o): relocation R_X86_64_TPOFF32 against
>>    `runtime.tlsg` can not be used when making a shared object; recompile with
>>    -fPIC
>>    libgofoo.a: could not read symbols: Bad value
>>
>> But library that wants to consume these libs can do so if they
>> dynamically link with shared libs from c-shared. Also, if the consumer
>> of the libs is a main binary, then the static linking works and does not
>> complain. It is only when the target is a library.
>>
>> I could swear I went through and ensured -fPIC was being used, but it
>> didn't seem to make a difference. Am I infact just messing up my
>> compilation settings and failing to add this flag as it suggests, or is
>> there a known limitation related to the steps I have outlined?
>>
>> Thanks!
>> Justin
>>
>> --
> You received this message because you are subscribed to a topic in the
> Google Groups "golang-nuts" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/golang-nuts/EhndTzcPJxQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/2032198a-00dd-40a8-a8aa-489e9ae406bf%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/2032198a-00dd-40a8-a8aa-489e9ae406bf%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAPGFgA3jXOrEVf8pFrC5GxF%2B%3Dmg_DUZOPj-LDS1e-scj_%3D_LLA%40mail.gmail.com.

Reply via email to