pristineio / webrtc-build-scripts

A set of build scripts useful for building WebRTC libraries for Android and iOS.
BSD 3-Clause "New" or "Revised" License
1.13k stars 447 forks source link

Duplicate symbol _MD5 #108

Closed zero1zero closed 9 years ago

zero1zero commented 9 years ago

Would be happy with a workaround here but am running into this issue in version 9514.2.0:

duplicate symbol _MD5_Update in:
/<snip>/osx/Remotely/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC-osx.a(nss_static.md5.o)
/<snip>/osx/Remotely/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC-osx.a(boringssl.md5.o)

Any way to get around this in settings?

thebehera commented 9 years ago

Not sure, however acccording to this commit: https://github.com/pristineio/webrtc-mirror/commit/71f6f4405c1c5f60097f8d10841378088e78e8b9 "Future work to get it working on OS/X, simulator (renders black screen currently) and with the Android AppRTCDemo. Currently protected with a compile time guard." so i don't think it works on OSX yet. However I had no issue with compiling on ios

zero1zero commented 9 years ago

I've been compiling on OSX up until more recent builds so I'm not sure what has gone wrong. Maybe it's something strange with my build that has changed. Still digging but on it's face, it looks like an inclusion of nss as well as boring ssl. Shouldn't there only be one?

thebehera commented 9 years ago

Hmm. it looks like there is an issue with the GYP defines. I'm making a new branch redefining the GYP defines and going to test. I'll post on here if there are any updates

thebehera commented 9 years ago

Can you try pulling the latest master and trying again?

zero1zero commented 9 years ago

Built with latest. The libWebRTC-9522-ios-x86_64-Release.a binary is the correct to use for OSX, yes?

thebehera commented 9 years ago

Try navigating to webrtc-build-scripts/ios/webrtc/libjingle_peerconnection_builds/archives/9526/Debug/libjingle_peerconnection/ There should be a libWebRTC.a and libWebRTC-osx.a

Your archives directory will contain all the builds by revision

thebehera commented 9 years ago

The iOS build should not work on mac...

zero1zero commented 9 years ago

Sure, I just wasn't sure of the naming scheme as you are technically still under the ios directory. So I don't have an archives directory or any binary similar to libWebRTC-osx.a. Is there a different procedure for OSX builds over sourcing the build script and dancing?

thebehera commented 9 years ago

https://github.com/pristineio/webrtc-build-scripts#building-the-libraries-1 Section on mac. Instead of dance, you do a build_webrtc_mac

thebehera commented 9 years ago

Can you do a fresh clone and try one more time? There should absolutely be a archives directory, thats how I grab the binary files and publish to cocoapods. Also you could just unextract the latest tar.bz2 file that cocoapods points to. That way you can just use a prebuilt one

zero1zero commented 9 years ago

Awesome, pulled the recent cocoapod and all is well. Derp, I should have remembered how to build osx from source, it had just been a while. For future webrtc build googlers, here was the relevant commit: https://github.com/pristineio/webrtc-build-scripts/commit/80aee1322d9afeb9136291bc4060eaa73c953bf1

Thanks a million Rahul.