borblytams
2020-1-4 17:01:58

thanks bro, bot for this i think im still not that advanced, any suggestion to catch up?


popa.bogdanp
2020-1-4 19:07:22

The Racket source README talks about cross compiling for iOS and provides an example configure line, but the build process fails unless you enable pthread support. Is this a documentation oversight?

Here’s an example configure invocation:

../configure --host=aarch64-apple-darwin \ --enable-ios=iPhoneOS \ --enable-racket=~/sandbox/racket/racket/bin/racket running make afterwards fails with:

/Users/bogdan/sandbox/racket-ios/racket/src/build/../rktio/rktio_file.c:262:5: error: implicit declaration of function 'rktio_update_system_fd' is invalid in C99 [-Werror,-Wimplicit-function-declaration] rktio_update_system_fd(rktio, existing_rfd, fd, modes); ^ everything builds fine if you invoke configure with --enable-pthread=yes.


popa.bogdanp
2020-1-4 19:14:37

Beyond that, it looks like the resulting .framework can’t be linked against an Xcode 11 project. If you add it to a project and tell Xcode to link against it and embed it, it’ll fail to codesign the framework because its “main executable” is a symlink (Racket.framework/Racket -> Racket.framework/Versions/Racket-$VERSION/Racket). IIUC codesign used to work fine in cases like these until recently. I’ve moved the object file into the “main executable position” and updated its location with install_name_tool -id 'Racket.framework/Racket' Racket.framework/Racket and I’m able to get everything to build and link, but the program crashes at runtime with a SIGABRT and Reason: image not found. I guess I must be misconfiguring the build somehow; it’s a little hard to say in all of these layers of IDE.


notjack
2020-1-4 19:17:31

What sort of things would you like to make?


0xk175un3
2020-1-4 20:59:45

@0xk175un3 has joined the channel