herumi/bls-eth-go-binary

Is `-lstdc++` needed during linking?

gsora opened this issue · 8 comments

Hi!

Is -lstdc++ LDFLAGS flag needed for this library to work?

I just tried compiling the example file without it, and it appears to work just fine.

I'm wondering because its presence makes cross-compiling from Linux to macOS quite a bit painful.

Thanks!

It is necessary on x64 Linux. I'll change bls/link.go not to link it on M1 mac.

Does this patch work on your architecture?

Hey! Re-opening this issue to communicate that on darwin arm64 the issue is now fixed.

Do you believe we can get rid of -lstdc++ on darwin amd64 as well?

Thank you!

It is unnecessary if it runs well without -lstdc++. I'll remove it in the next version.

I did not test this case, but by logic if it works without it on arm64 I don’t see why it shouldn’t on amd64 as well.

Different source code is used for arm64 and amd64. Even if it is okay on macOS, I don't know if it is the same elsewhere without trying. In fact, on Windows, -lstdc++ is required on amd64.

Yeah I can see that being an issue.

Do you have an ETA for the release of a version embedding a fix?