-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Apothecary: OpenCv 2.4.9 #3137
Apothecary: OpenCv 2.4.9 #3137
Conversation
Glad that mostly worked out. Is the |
thanks for all your hard work on it! for OS X its unfortunately necessary to remove the lib prefix see: #2252 (comment) the libtool into a single .a just makes it a bit easier for manually adding opencv to an existing project. |
Hey @ofTheo I know we've talked about this before (your comment on #2252 being the location) but I'm still not sure why having the lib prefix would cause linking problems if a given project is set up correctly. The main motivation for tracking this down is that it makes the apothecary formulas much cleaner if we don't deviate from the default settings / names produced by each library's makefiles. Can you provide a quick reproducible example of where this fails for you? I'd like to try to track this down and figure out the exact cause (again, because it will make apothecary formulas for osx about 25% smaller). |
this last commit builds the 32bit and 64bit libs seperately in a subdirectory of _buildroot ac8bb9f the structure create looks like this: the lipo phase merges the libs from 32bit and 64bit into FAT and then the copy phase copies the includes and lib from FAT into the ofxOpenCv addon lib location. curious what you think of this approach @bakercp as a good practice for all libs. ( Windows wouldn't have the FAT folder just 32bit and 64bit ) |
@ofTheo I'm renaming and organizing the apothecary-related PRs. I moved parts of the title to the description. |
@ofTheo Let's make this PR the central PR for all platforms. I'd suggest that collaborators should PR against your branch so we can keep the formula, headers, and related build-settings in sync across platforms. |
perfect - sounds like a good plan! |
got iOS working. it might need some tweaks to do all the different arch we want. but it is doing the simulator + device now. |
Hey @ofTheo and @julapy Are we building iOS fat libs for: (armv6?) armv7 armv7s arm64 and for the simulator i386 x86_64 If so, which of those should be using libc++ and which of them should be using libstdc++? On desktop, all 32 bit osx platforms are staying with libstdc++ for now, so should all 32 bit ios related archs also use build using libstdc++? |
That's a great question! We should just do one I think.
|
@danoli3 has a much better handle on iOS libs compilation. |
Without an
and likely any to-be-releaed hardware updates. I'm not sure what the iOS plans are for OF-0.9.0, but if dependencies are built via Apothecary, why not build |
All of those archs (and @pizthewiz's reasoning) sound good to me. I'm going to proceed with all for Poco and FreeImage. They will be very FAT. :) |
Haha yeah! I'll work in getting those in for opencv
|
On a related note, could the iOS and iOS Simulator libs be united? Universal Binaries can of course technically handle this but I wasn't sure if we had a reason too. The Xcode build process will strip out the unused architectures (I believe the default setting). It might simplify the targets/linking too, just like |
Yeah, that's my plan lipo them all together in one giant fat lib. Should work no? |
Yup that'll work, for some reason I thought we had separate iOS and iOS Simulator libs - nothing to see here… |
i think i'm going to remove opencv binaries from linux and just add it to the install_dependencies script. the packages are usually up to date, ubuntu 14.04 has 2.4.8 and the next version to be released in october already has 2.4.9. only problem is if someone is on an older linux version but i think nothing should break unless you are on a really old version |
what about header changes in opencv, won't that be a problem, if we have the headers in OF, but the binaries from the OS? |
we can just ignore the headers through addons_config.mk and use the ones in the system |
but the the |
no, those files won't never be used with the right exclusion rule in addons_config |
oh, you mean that it might be different versions? yes but it's the same with every library in the core, from time to time we need to do some change specific to a different version in linux but it's ok cause at some point that same version is updated in every other platform |
the plan is to make iOS5 the minimum version in OF as per #2568 |
okay iOS is done. here is how it looks once I build for iOS and OS X - folders are created for each arch and then lipoed into the FAT folder. the only significant thing was that I can't create one mega lib. |
hey @ofTheo
Edit: Hmm no I think it just takes a long time to compile! haha XD 1 thing you may need to add for arm64 is |
ahh okay. |
…rom 3rd party builds
okay OS X and iOS libs are in there now. |
…o feature-new-opencv Conflicts: addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/devmem2d.hpp addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/gpu.hpp addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/gpumat.hpp addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/stream_accessor.hpp
ok android is ready too. one thing in the copy rule, it should delete the old folders sometimes some files are not there any more so it's not enough with overwriting them cause the old ones remain |
hey @elliotwoods could you take a look here, maybe help with checking vs/cb? you're the person who i think would be most frustrated if opencv broke on windows ;) |
heya! I'm upside-down busy between now and the end of the year. So I can check libs if they work, but setting up repos/apothecary isn't something I have the attention for right now sorry. If somebody could send me a zip of their repo with apothecary then I could try to run build on that here with apothecary and check some common opencv functions in a test app. Elliot |
closed for #3635 |
i'm reopening this since it seems the changes for android weren't included in the new PR. @ofTheo can you take a look and merge this with your version? |
Thats fine - sorry I missed those commits. |
just leaving a note, this probably solves #2081 |
with everything but windows solved, should we close this in favor of a windows-specific checklist issue? |
yup def should close. thanks! |
Static libs, headers and apothecary formulas for architectures included:
Creates a single FAT opencv.a lib with O3 optimization and 64bit libc++ and 32bit libstdc++
don't merge yet.
still to do.
ping @pizthewiz
changes
formula based off of @pizthewiz gist - addresses #3039