SoftwareGuy / Ignorance

Ignorance utilizes the power of ENet to provide a reliable UDP networking transport for Mirror Networking.
Other
248 stars 31 forks source link

iOS Linker error _enet_address_set_hostname and others #62

Closed Marcurion closed 4 years ago

Marcurion commented 4 years ago

Hi,

I am trying to build Mirror Ignorance on iOS however some referenced functions seem to be missing from libenet.a. nm tools show me the functions are missing. image

However the same functions are missing in the windows .dll and it compiled and ran fine... image

The missing functions seem to be referenced in ENet.cs but no idea why it works under windows image

Any ideas, really would like to use UDP with our voice chat : /

henriquelalves commented 4 years ago

I'm also reproducing this error; in the Editor, I get a "Can't verify enet library" kind of error and Ignorance crashes when trying to play as iOS; XCode can't build the project.

SoftwareGuy commented 4 years ago

Oh hey, sorry for the delay in the response, I need to set Ignorance notifications to high priority it seems... 😅

What version of Ignorance are you using? v1.3.7 shouldn't have problems on iOS. If not, I screwed up somewhere. I'll try to build a very basic iOS demo through my MacBook Pro (I'm working on getting updated desktop Mac, the only iMac I have is a High Sierra one).

henriquelalves commented 4 years ago

I used the latest version, v1.3.7. It looked like it was a software certificate kind of error, but unfortunately I wasn't familiar with it.

henriquelalves commented 4 years ago

@SoftwareGuy I might be able to test something if you need logs about the problem, btw.

SoftwareGuy commented 4 years ago

Ugh, if it’s a software certificate issue then I might need to talk to Apple regarding it. Shouldn’t be though...

SoftwareGuy commented 4 years ago

I've been working on this, made a repro project, now I just need to compile for iOS and see if I get the linker error.

SoftwareGuy commented 4 years ago

Okay, I got compile errors on iOS. Looks like I broke something in the latest update.

Let me investigate.

SoftwareGuy commented 4 years ago

I'm going to push some new binaries to this repository that should fix the problem.

SoftwareGuy commented 4 years ago

This should be fixed, could you check @henriquelalves @Marcurion ?

henriquelalves commented 4 years ago

Np, but there isn't a new .unitypackage release after 1.3.7. Should we compile the project?

SoftwareGuy commented 4 years ago

Np, but there isn't a new .unitypackage release after 1.3.7. Should we compile the project?

@henriquelalves if you just clone this repo, then in your project delete the Ignorance folder, and then copy paste the Ignorance folder from this repo under Mirror/Runtime/Transport, you’ll have 1.3.7 with fixed up binaries for iOS and Mac targets. I’ve yet to build the Libraries again for Linux and Windows.

Backup your project before hand.

Alternatively I can provide you a updated unity package.

Marcurion commented 4 years ago

Hi,

compiles fine now for me, thank you.