emarsden / dash-mpd-rs

Rust library for parsing, serializing and downloading media content from a DASH MPD manifest.
MIT License
70 stars 22 forks source link

with 0.14.8 I can no longer build on mac m1 #52

Closed sbuzzard closed 5 months ago

sbuzzard commented 5 months ago

I moved from 0.14.7 to 0.14.8 (only using "scte35" feature - only doing serialization of MPDs, not fetching via lib) and now I get protobuf build/link errors

  ld: multiple errors: archive member '/' not a mach-o file in '/Users/buzz/comcast-development/viper/clo/clo.main/target/debug/build/protobuf-src-ac10cb5cd0b29ebe/out/install/build/src/.libs/libprotoc.a'; archive member '/' not a mach-o file in '/Users/buzz/comcast-development/viper/clo/clo.main/target/debug/build/protobuf-src-ac10cb5cd0b29ebe/out/install/build/src/.libs/libprotobuf.a'; archive member '/' not a mach-o file in '/Users/buzz/comcast-development/viper/clo/clo.main/target/debug/build/protobuf-src-ac10cb5cd0b29ebe/out/install/build/src/.libs/libprotobuf.a'

Any idea what I can do to get around it?

I figured if I wasn't using the non-serialization features I wouldn't bring them in as dependencies but it could be a transient dependency.

Thanks as always for the lib!

emarsden commented 5 months ago

This problem is triggered by the build script for the pssh-box crate, which is using the protobuf-src crate. If you don't have the "fetch" feature enabled, the pssh-box crate shouldn't be pulled in (the fetch feature defaults to enabled though; you need "default-features = false" to disable that).

It does also seem that the C++ compiler on your Mac is broken, but you shouldn't be needing it for this.

sbuzzard commented 5 months ago

Thanks so much for the quick reply - wasn't aware of default_features=false. That worked - will close. As for my c++ compiler config - yeah it may well be borked.