Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Won't build for iOS 8 or older #81

Closed
david-novak-legrand opened this issue Jun 7, 2019 · 18 comments

Comments

@david-novak-legrand
Copy link
Contributor

commented Jun 7, 2019

Hi @lganzzzo,

I'm working on the iOS app version of the Android app that @dmcamens-legrand discussed with you recently. The oat++ library is working well on Android now, and I'm trying to make it work on iOS as well.

Sadly, the even though the thread_local keyword was added to Xcode 8, it won't compile to devices running iOS 8 or earlier, even in the current version (Xcode 10).

Do you have any ideas for how to use this library without using the thread_local storage functionality from C++11?

Thank you!

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 7, 2019

Hello @david-novak-legrand ,

I have to investigate possible ways to work around this problem.

Will get back to you shortly.

Best Regards,
Leonid

@david-novak-legrand

This comment has been minimized.

Copy link
Contributor Author

commented Jun 7, 2019

Thank you!

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 7, 2019

Hey @david-novak-legrand ,

Please checkout this branch https://github.com/oatpp/oatpp/tree/compat_build_no_thread_local

Just build oatpp with -DOATPP_COMPAT_BUILD_NO_THREAD_LOCAL flag in order to build without thread_local.

cmake -DOATPP_COMPAT_BUILD_NO_THREAD_LOCAL=ON ..

Do you also need to be able to build oatpp-websocket module without thread_local ?
What other oatpp modules you are planning to use?

Regards,
Leonid

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 7, 2019

Hello @david-novak-legrand , @dmcamens-legrand ,

Please checkout:

Rebuild both oatpp and oatpp-websocket modules with -DOATPP_COMPAT_BUILD_NO_THREAD_LOCAL flag:

cmake -DOATPP_COMPAT_BUILD_NO_THREAD_LOCAL=ON ..

Please let me know if it worked for you.
Branches will be merged after you confirmation.

Best Regards,
Leonid

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

Hello @david-novak-legrand ,
Did you manage to build oatpp from specified branch for iOS8 ?

@david-novak-legrand

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

Hi @lganzzzo ,
Thanks for your help! I believe it's close. I'm running into issues compiling some of the implicit conversions from long long to size_t.

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

@david-novak-legrand. Cool, please let me know if you need some help from my side.
Also it would be cool if you prepare a PR with your "compatibility" changes!

Thank you.

@david-novak-legrand

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

@lganzzzo Just got it to build! I would be very happy to prepare a PR.

Thanks!

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

nice!

@david-novak-legrand

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

I noticed that you removed three files under commit 71630b6 (Better Router API):
Router.cpp
Subscriber.hpp
Subscriber.cpp

I'm not sure what required them, but I had to re-add them for it to build.

Any idea what might still require those files?

@david-novak-legrand

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

I don't want my PR to include them unless they are actually still required.

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

@david-novak-legrand
This files are not needed any more.
Routing functionality was refactored, and this files were removed.

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

@david-novak-legrand
I think you may just create PR to the compat_build_no_thread_local branch. And if there are any problems with merging - I'll help you to resolve them.

@david-novak-legrand

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

@lganzzzo Perfect. I found the references to those files in my project and removed them!

@david-novak-legrand

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

I don't have permission to push to a branch. Do I need to fork? Thanks!

@david-novak-legrand

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

And yes, oatpp and oatpp-websocket were the only modules that I needed, so thanks for working on both of those!

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

@david-novak-legrand

I don't have permission to push to a branch. Do I need to fork? Thanks!

Yes, just fork it and create PR from the fork.

@lganzzzo

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

And yes, oatpp and oatpp-websocket were the only modules that I needed, so thanks for working on both of those!

Great! Happy to help!

Regards,
Leonid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.