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

Install gstreamer on mac with optional codecs #898

Closed
wants to merge 3 commits into from
Closed

Install gstreamer on mac with optional codecs #898

wants to merge 3 commits into from

Conversation

@jdm
Copy link
Member

jdm commented Oct 8, 2018

This change is Reviewable

@jdm
Copy link
Member Author

jdm commented Oct 8, 2018

----------
          ID: mac-gstreamer
    Function: pkg.installed
      Result: False
     Comment: Brew command failed. Additional info follows:

              result:
                  ----------
                  pid:
                      68734
                  retcode:
                      1
                  stderr:
                      Updating Homebrew...
                      Error: You are using macOS 10.11.
                      We (and Apple) do not provide support for this old version.
                      You will encounter build failures and other breakages.
                      Please create pull-requests instead of asking for help on Homebrew's
                      GitHub, Discourse, Twitter or IRC. As you are running this old version,
                      you are responsible for resolving any issues you experience.
                      Error: You are using macOS 10.11.
                      We (and Apple) do not provide support for this old version.
                      You will encounter build failures and other breakages.
                      Please create pull-requests instead of asking for help on Homebrew's
                      GitHub, Discourse, Twitter or IRC. As you are running this old version,
                      you are responsible for resolving any issues you experience.
                  stdout:
                      ==> Auto-updated Homebrew!
                      Updated 3 taps (homebrew/cask, homebrew/cask-versions, homebrew/core).
                      ==> New Formulae
                      bundletool
                      geant4
                      i2pd
                      mallet
                      opensubdiv
                      opentracing-cpp
                      stanford-corenlp
                      tdlib
                      ==> Updated Formulae
                      abcde
                      aircrack-ng
                      alexjs
                      ammonite-repl
                      ansible
                      apache-geode
                      apache-spark
                      app-engine-java
                      ark
                      aws-elasticbeanstalk
                      aws-okta
                      babel
                      ballerina
                      bazel
                      bcal
                      bettercap
                      bitcoin
                      black
                      blink1
                      caffe
                      carthage
                      cern-ndiff
                      cgal
                      checkbashisms
                      circleci
                      clamav
                      clang-format
                      clipper
                      cloc
                      cmake
                      cmocka
                      commandbox
                      container-diff
                      convox
                      cpprestsdk
                      cromwell
                      crystal
                      darksky-weather
                      dbhash
                      dita-ot
                      dnscrypt-proxy
                      doctl
                      elasticsearch
                      elm-format
                      eslint
                      evince
                      exercism
                      exiftool
                      faas-cli
                      fail2ban
                      ffmbc
                      flatbuffers
                      fn
                      folly
                      fpc
                      futhark
                      fzf
                      geckodriver
                      git
                      git-annex
                      git-archive-all
                      git-sizer
                      glances
                      glide
                      go
                      godep
                      goenv
                      golang-migrate
                      grakn
                      grv
                      gst-editing-services
                      gst-libav
                      gst-plugins-bad
                      gst-plugins-base
                      gst-plugins-good
                      gst-plugins-ugly
                      gst-python
                      gst-rtsp-server
                      gst-validate
                      gstreamer
                      gtk-mac-integration
                      haproxy
                      highlight
                      hledger
                      hyperfine
                      i2p
                      iamy
                      ipv6calc
                      ipython
                      jbake
                      jenkins
                      jetty
                      jetty-runner
                      jfrog-cli-go
                      jhipster
                      jmeter
                      joplin
                      kerl
                      kibana
                      kotlin
                      krakend
                      kubernetes-cli
                      kubernetes-helm
                      kubernetes-service-catalog-client
                      landscaper
                      languagetool
                      ldc
                      libepoxy
                      libgda
                      libheif
                      libopkele
                      libphonenumber
                      libssh
                      libvirt
                      links
                      llnode
                      logstash
                      mame
                      mariadb
                      mariadb@10.2
                      meson
                      metabase
                      micronaut
                      mkdocs
                      mkvtoolnix
                      mosquitto
                      mpv
                      mscgen
                      mujs
                      nginx
                      nifi-registry
                      nim
                      node-build
                      nodebrew
                      nomad
                      numpy
                      openapi-generator
                      opencv
                      orc-tools
                      pandoc
                      pandoc-citeproc
                      pass
                      pegtl
                      phoronix-test-suite
                      php-code-sniffer
                      phpunit
                      pixz
                      poppler
                      pre-commit
                      presto
                      prometheus
                      protobuf-swift
                      pulumi
                      puzzles
                      quicktype
                      rabbitmq
                      rakudo-star
                      rom-tools
                      rtags
                      rust
                      rustup-init
                      safe
                      saxon
                      sbcl
                      scala
                      serverless
                      shpotify
                      skaffold
                      skafos
                      smlnj
                      solr
                      sops
                      sqldiff
                      sqlite
                      sqlite-analyzer
                      stellar-core
                      strongswan
                      suricata
                      swiftformat
                      swiftgen
                      tcpflow
                      telegraf
                      terragrunt
                      texmath
                      topgrade
                      typescript
                      unrar
                      vert.x
                      vice
                      vim
                      weaver
                      webpack
                      wireguard-go
                      wireguard-tools
                      wtf
                      x265
                      xonsh
                      yamllint
                      yarn
                      ykman
                      youtube-dl
                      yubico-piv-tool
                      zenity
                      zig
                      zstd
                      ==> Deleted Formulae
                      asciinema2gif
                      casperjs
                      qt@5.5
                      redis@2.8
                      sonarlint

                      ==> Installing dependencies for gst-plugins-bad: fontconfig, glib, gdbm, sqlite, gobject-introspection, bison, gstreamer, graphite2, harfbuzz, pango, gst-plugins-base, opus
                      ==> Installing gst-plugins-bad dependency: fontconfig
                      ==> Downloading https://homebrew.bintray.com/bottles/fontconfig-2.13.1.el_capitan.bottle.tar.gz
                      ==> Pouring fontconfig-2.13.1.el_capitan.bottle.tar.gz
                      ==> Regenerating font cache, this may take a while
                      ==> /usr/local/Cellar/fontconfig/2.13.1/bin/fc-cache -frv
                      🍺  /usr/local/Cellar/fontconfig/2.13.1: 531 files, 3.3MB
                      ==> Installing gst-plugins-bad dependency: glib
                      ==> Downloading https://homebrew.bintray.com/bottles/glib-2.58.1.el_capitan.bottle.tar.gz
                      ==> Pouring glib-2.58.1.el_capitan.bottle.tar.gz
                      🍺  /usr/local/Cellar/glib/2.58.1: 435 files, 18.5MB
                      ==> Installing gst-plugins-bad dependency: gdbm
                      ==> Downloading https://homebrew.bintray.com/bottles/gdbm-1.18.el_capitan.bottle.tar.gz
                      ==> Pouring gdbm-1.18.el_capitan.bottle.tar.gz
                      🍺  /usr/local/Cellar/gdbm/1.18: 20 files, 589.2KB
                      ==> Installing gst-plugins-bad dependency: sqlite
                      ==> Downloading https://sqlite.org/2018/sqlite-autoconf-3250200.tar.gz
                      ==> ./configure --prefix=/usr/local/Cellar/sqlite/3.25.2 --enable-dynamic-extensions --enable-readline --disable-editline
                      ==> make install
                      ==> Caveats
                      sqlite is keg-only, which means it was not symlinked into /usr/local,
                      because macOS provides an older sqlite3.

                      If you need to have sqlite first in your PATH run:
                        echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.bash_profile

                      For compilers to find sqlite you may need to set:
                        export LDFLAGS="-L/usr/local/opt/sqlite/lib"
                        export CPPFLAGS="-I/usr/local/opt/sqlite/include"

                      For pkg-config to find sqlite you may need to set:
                        export PKG_CONFIG_PATH="/usr/local/opt/sqlite/lib/pkgconfig"

                      ==> Summary
                      🍺  /usr/local/Cellar/sqlite/3.25.2: 11 files, 3.8MB, built in 58 seconds
                      ==> Installing gst-plugins-bad dependency: gobject-introspection
                      ==> Downloading https://homebrew.bintray.com/bottles/gobject-introspection-1.58.0.el_capitan.bottle.tar.gz
                      ==> Pouring gobject-introspection-1.58.0.el_capitan.bottle.tar.gz
                      🍺  /usr/local/Cellar/gobject-introspection/1.58.0: 187 files, 9.9MB
                      ==> Installing gst-plugins-bad dependency: bison
                      ==> Downloading https://homebrew.bintray.com/bottles/bison-3.1.el_capitan.bottle.tar.gz
                      ==> Pouring bison-3.1.el_capitan.bottle.tar.gz
                      ==> Caveats
                      bison is keg-only, which means it was not symlinked into /usr/local,
                      because some formulae require a newer version of bison.

                      If you need to have bison first in your PATH run:
                        echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.bash_profile

                      For compilers to find bison you may need to set:
                        export LDFLAGS="-L/usr/local/opt/bison/lib"

                      ==> Summary
                      🍺  /usr/local/Cellar/bison/3.1: 56 files, 2.2MB
                      ==> Installing gst-plugins-bad dependency: gstreamer
                      ==> Downloading https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.14.4.tar.xz
                      ==> ./configure --prefix=/usr/local/Cellar/gstreamer/1.14.4 --disable-gtk-doc --enable-introspection=yes
                      ==> make
                      Last 15 lines from /Users/administrator/Library/Logs/Homebrew/gstreamer/02.make:
                          ss.parse_files(filenames)
                        File "/usr/local/Cellar/gobject-introspection/1.58.0/lib/gobject-introspection/giscanner/sourcescanner.py", line 262, in parse_files
                          self._parse(headers)
                        File "/usr/local/Cellar/gobject-introspection/1.58.0/lib/gobject-introspection/giscanner/sourcescanner.py", line 307, in _parse
                          self._cpp_options)
                        File "/usr/local/Cellar/gobject-introspection/1.58.0/lib/gobject-introspection/giscanner/ccompiler.py", line 210, in preprocess
                          extra_postargs=extra_postargs)
                        File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/unixccompiler.py", line 113, in preprocess
                          raise CompileError, msg
                      distutils.errors.CompileError: command 'clang' terminated by signal 11
                      make[4]: *** [Gst-1.0.gir] Error 1
                      make[3]: *** [all-recursive] Error 1
                      make[2]: *** [all] Error 2
                      make[1]: *** [all-recursive] Error 1
                      make: *** [all] Error 2

                      Do not report this issue to Homebrew/brew or Homebrew/core!
     Started: 11:56:13.554100
    Duration: 201889.278 ms
     Changes:
@jdm
Copy link
Member Author

jdm commented Oct 8, 2018

That's what happened when I tried to deploy this change.

@jdm
Copy link
Member Author

jdm commented Oct 8, 2018

This is an error that occurs on our macOS 10.11 builders with gstreamer 1.14.4 (without any other optional codecs) or gstreamer 1.14.2 with the optional codecs. I have not been able to figure out how to extract the actual error from the compiler, nor how to see if forcing clang-6.0 instead of apple's clang can work around it. We may need to upgrade the builders to 10.13.

@jdm jdm mentioned this pull request Oct 8, 2018
3 of 3 tasks complete
@Manishearth
Copy link
Member

Manishearth commented Oct 8, 2018

I'm going to try following the steps directly to see if I can build gstreamer with those flags.

@Manishearth
Copy link
Member

Manishearth commented Oct 8, 2018

When doing so for gstreamer itself I get configure: WARNING: unrecognized options: --with-libogg, --with-libvorbis, --with-opus, --with-theora (which makes sense I guess since these options are for the plugins?)

@Manishearth
Copy link
Member

Manishearth commented Oct 8, 2018

Hmm, I was able to brew upgrade gstreamer just fine on servo-mac1.

I wonder what salt's doing differently.

@Manishearth
Copy link
Member

Manishearth commented Oct 8, 2018

servo-mac1 was able to handle brew upgrade gstreamer gst-plugins-good gst-plugins-bad gst-plugins-base --with-libogg --with-libvorbis --with-opus --with-theora without errors. Curious.

Trying a reinstall.

@Manishearth
Copy link
Member

Manishearth commented Oct 8, 2018

Reinstalling works.

@Manishearth
Copy link
Member

Manishearth commented Oct 9, 2018

salt 'servo-mac*' state.sls_id mac-gstreamer servo-build-dependencies.init works as well?

I'm unable to reproduce the original brokenness.

@Manishearth
Copy link
Member

Manishearth commented Oct 9, 2018

Full rehighstate also works (couple red entries due to the buildbot user problem)

@jdm
Copy link
Member Author

jdm commented Oct 9, 2018

With respect to servo/servo#21543 (comment), I first uninstalled the gstreamer packages on all the machines before highstating, and that's when I encountered the problem I described earlier.

@Manishearth
Copy link
Member

Manishearth commented Oct 9, 2018

So I did do that when testing with sls_id (and when testing locally), I should try that again I guess.

@Manishearth
Copy link
Member

Manishearth commented Oct 9, 2018

And maybe try it with a full highstate.

bors-servo added a commit to servo/servo that referenced this pull request Oct 9, 2018
Revert "Disable event_timeupdate_noautoplay test on mac"

Hopefully the builders now have the right gstreamer things.

From #21543 , needs servo/saltfs#898

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21895)
<!-- Reviewable:end -->
bors-servo added a commit to servo/servo that referenced this pull request Oct 9, 2018
Revert "Disable event_timeupdate_noautoplay test on mac"

Hopefully the builders now have the right gstreamer things.

From #21543 , needs servo/saltfs#898

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21895)
<!-- Reviewable:end -->
bors-servo added a commit to servo/servo that referenced this pull request Oct 9, 2018
Revert "Disable event_timeupdate_noautoplay test on mac"

Hopefully the builders now have the right gstreamer things.

From #21543 , needs servo/saltfs#898

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21895)
<!-- Reviewable:end -->
@Manishearth
Copy link
Member

Manishearth commented Oct 9, 2018

This was missing some deps from the readme, pushed

bors-servo added a commit to servo/servo that referenced this pull request Oct 9, 2018
Revert "Disable event_timeupdate_noautoplay test on mac"

Hopefully the builders now have the right gstreamer things.

From #21543 , needs servo/saltfs#898

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21895)
<!-- Reviewable:end -->
bors-servo added a commit to servo/servo that referenced this pull request Oct 9, 2018
Revert "Disable event_timeupdate_noautoplay test on mac"

Hopefully the builders now have the right gstreamer things.

From #21543 , needs servo/saltfs#898

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21895)
<!-- Reviewable:end -->
bors-servo added a commit to servo/servo that referenced this pull request Oct 9, 2018
Revert "Disable event_timeupdate_noautoplay test on mac"

Hopefully the builders now have the right gstreamer things.

From #21543 , needs servo/saltfs#898

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21895)
<!-- Reviewable:end -->
bors-servo added a commit to servo/servo that referenced this pull request Oct 9, 2018
Revert "Disable event_timeupdate_noautoplay test on mac"

Hopefully the builders now have the right gstreamer things.

From #21543 , needs servo/saltfs#898

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21895)
<!-- Reviewable:end -->
bors-servo added a commit to servo/servo that referenced this pull request Oct 10, 2018
Revert "Disable event_timeupdate_noautoplay test on mac"

Hopefully the builders now have the right gstreamer things.

From #21543 , needs servo/saltfs#898

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21895)
<!-- Reviewable:end -->
@jdm
Copy link
Member Author

jdm commented Oct 11, 2018

@Manishearth What ended up being deployed? Can it go in this PR so we can merge it?

@bors-servo
Copy link
Contributor

bors-servo commented Oct 11, 2018

💔 Test failed - status-travis

@jdm
Copy link
Member Author

jdm commented Oct 11, 2018

[ FAIL ] Trailing whitespace found on files and lines:
         ./servo-build-dependencies/init.sls:120:# to any dependencies that are built. Thus it is imperative we-
@Manishearth Manishearth force-pushed the jdm-patch-32 branch from d5b38ee to 7c31b9c Oct 11, 2018
@Manishearth
Copy link
Member

Manishearth commented Oct 11, 2018

@bors-servo r=jdm

@bors-servo
Copy link
Contributor

bors-servo commented Oct 11, 2018

📌 Commit 7c31b9c has been approved by jdm

@bors-servo
Copy link
Contributor

bors-servo commented Oct 11, 2018

Testing commit 7c31b9c with merge cb0ba0c...

bors-servo added a commit that referenced this pull request Oct 11, 2018
Install gstreamer on mac with optional codecs

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/saltfs/898)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Oct 11, 2018

💔 Test failed - status-travis

@Manishearth
Copy link
Member

Manishearth commented Oct 11, 2018

@bors-servo retry

seems to be a network issue?

@bors-servo
Copy link
Contributor

bors-servo commented Oct 11, 2018

Testing commit 7c31b9c with merge b7ac121...

bors-servo added a commit that referenced this pull request Oct 11, 2018
Install gstreamer on mac with optional codecs

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/saltfs/898)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Oct 11, 2018

💔 Test failed - status-travis

@jdm
Copy link
Member Author

jdm commented Oct 11, 2018

I fear it may be timing out while compiling and no output appears, but I've restarted the failed job.

@Manishearth
Copy link
Member

Manishearth commented Oct 11, 2018

oh, that's definitely it.

we should travis_wait that step i guess? Or somehow get it to throw up more output

@jdm
Copy link
Member Author

jdm commented Oct 27, 2018

Upstream homebrew has switched from --with-foo to --disable-foo flags (ie. the optional features now default to enabled), so we should be able to close this and upgrade our homebrew installations to use newer releases.

@Manishearth
Copy link
Member

Manishearth commented Oct 27, 2018

Homebrew/homebrew-core#33071 removed these options, they're on by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.