Closed Bug 1122859 Opened 9 years ago Closed 9 years ago

Slave loan request for a bld-linux64-ec2 vm to try installing gstreamer 1.0

Categories

(Infrastructure & Operations Graveyard :: CIDuty, task)

x86_64
Linux
task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: firefox, Assigned: firefox)

References

Details

(Whiteboard: [buildduty][capacity][buildslaves][loaner])

Per bug 973274, I'm looking to try to get Firefox building with gstreamer 1.0, which is not available on centos 6 and needs to be installed from source.

I tried building Firefox in a Centos 6 VM, but it seems clear that some key items aren't stock (requires both python and gcc upgrade..) so I thought there wouldn't be much point unless I try it on an actual build server.

I don't have a Mozilla VPN setup.
Blocks: 973274
Hi Bryan,

Thanks for looking into this.

Mozilla VPN access is normally a prerequisite for this type of loan, *however* since our AWS instances do have publicly-accessible IPs, I may be able to get something setup for you today. Nobody else has volunteered to help with the gstreamer work, so a little extra effort on our part is warranted here.
Assignee: nobody → coop
Thanks!
I do have SSH keys available here: https://launchpad.net/~bryanquigley/+sshkeys
Bryan: I have an instance setup, but need to setup the security group/access. What IP(s) do you plan on connecting from so I can limit appropriately?

Feel free to msg me the IPs on IRC if you prefer (nick: coop or coop|buildduty)
Flags: needinfo?(gQuigs+bugs)
Email sent to Bryan for further instructions. 

Loaning slaves: 
- 184.73.163.138 (dev-linux64-ec2-gquigs)

Hi Bryan, 

I am going to assign this to you to keep track of the loan. 

When you are finished with the loan forever, please comment stating so here in the bug, and mark the bug as RESOLVED.

By the way, now that this aws instance has been created, starting and stopping it can happen in a flash! If you are not going to be using this machine for multiple hours, let us know in this bug and we can stop it.

Comment again when you want it started back up.

* For really fast turnaround, ping #releng (look for nick with 'buildduty')
Assignee: coop → gQuigs+bugs
Flags: needinfo?(gQuigs+bugs)
Depends on: 1126534
We are going at this from two ways. 1) comment 5 ^ 2) giving you the network flow to reach tooltool without auth: https://bugzil.la/1126539 and https://bugzil.la/1126540
sounds like https://bugzilla.mozilla.org/show_bug.cgi?id=1126534#c1 won't help you but hopefully something comes from: https://bugzil.la/1126540
You can turn it off for now, thanks!

Some notes on progress:
git clone  http://anongit.freedesktop.org/git/gstreamer/gstreamer.git
git clone  http://anongit.freedesktop.org/git/gstreamer/gst-plugins-base.git
git clone  https://git.gnome.org/browse/glib

wget http://mirror.centos.org/centos/6.6/os/x86_64/Packages/libtool-2.2.6-15.5.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/vim-minimal-7.2.411-1.8.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/cvs-1.11.23-16.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/gettext-0.17-18.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/bison-2.4.1-5.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/flex-2.5.35-9.el6.x86_64.rpm

http://mirror.centos.org/centos/6.6/os/x86_64/Packages/libffi-devel-3.0.5-3.2.el6.x86_64.rpm #for glib

and install the above in moch shell: rpm -ivh libtool-2.2.6-15.5.el6.x86_64.rpm

cd glib/
git checkout glib-2-32
./autogen.sh --disable-gtk-doc
make
make install


cd gstreamer/
git checkout 1.0
./autogen.sh --enable-maintainer-mode --enable-failing-tests --enable-poisoning --disable-gtk-doc-pdf --disable-gtk-doc

cd gst-plugins-base/
git checkout 1.0

Notes of things that didn't work
Doesn't work (doesn't build):
configure.ac
+#GLIB_REQ=2.32.0  Bryan's change.. aH!
+GLIB_REQ=2.22.0

switched to gstreamer 1.0 from 1.4 due to autoconf version (found 2.63, need higher)

Current Issue (in gstreamer build):
checking for register_printf_function... yes
checking for dladdr in -ldl... yes
checking for GLIB... no
configure: Requested 'glib-2.0 >= 2.32.0' but version of GLib is 2.22.5
configure: error: This package requires GLib >= 2.32.0 to compile.
  configure failed
I got a working build with gstreamer1.0!  Just tried the built version on my machine.  What's the next step for this?

Instructions follow;
**Installed to mock shell*
wget http://mirror.centos.org/centos/6.6/os/x86_64/Packages/libtool-2.2.6-15.5.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/vim-minimal-7.2.411-1.8.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/cvs-1.11.23-16.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/gettext-0.17-18.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/bison-2.4.1-5.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/flex-2.5.35-9.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/libffi-devel-3.0.5-3.2.el6.x86_64.rpm #for glib

and install the above in moch shell.

**Installed to Host/both**
I ended up upgrading the following too (not entirely sure they are required):
wget http://mirror.centos.org/centos/6.6/os/x86_64/Packages/glib2-2.28.8-4.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/glib2-devel-2.28.8-4.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/shared-mime-info-0.70-6.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/zlib-1.2.3-29.el6.x86_64.rpm
http://mirror.centos.org/centos/6.6/os/x86_64/Packages/zlib-devel-1.2.3-29.el6.x86_64.rpm

**Assuming libraries get installed to /usr/local/lib**
Add "/usr/local/lib" to a new file /etc/ld.so.conf.d/glib-x86_64.conf


#Unless otherwise noted, I was working in /builds/git-shared/
**Glib**
git clone  https://git.gnome.org/browse/glib
cd glib/
git checkout glib-2-34  #glib-2-32 didn't seem to have everything we needed.
./autogen.sh --disable-gtk-doc
make
make install

[pkgconfig copy]  #prob a better way to do this
cd /usr/local/lib/pkgconfig/
cp * /usr/lib64/pkgconfig/ -vR

**gstreamer1**
git clone  http://anongit.freedesktop.org/git/gstreamer/gstreamer.git
cd gstreamer/
git checkout 1.0  #switched to gstreamer 1.0 from 1.4 due to autoconf version (found 2.63, need higher)
./autogen.sh --disable-gtk-doc-pdf --disable-gtk-doc --disable-gst-debug
make
make install
[pkgconfig again]

**gst-plugins-base**
git clone  http://anongit.freedesktop.org/git/gstreamer/gst-plugins-base.git
cd gst-plugins-base/
git checkout 1.0
./autogen.sh --disable-gtk-doc-pdf --disable-gtk-doc --disable-gst-debug
make
make install
[pkgconfig again]

Then it's on to using mach to make the build.
nice work.

as per your request over irc, I am stopping this slave for now.
Thanks for working on this Bryan. This has been rising in priority for us in the media playback team. We keep having to work around bugs in obsolete gstreamer 0.10 elements. Please let me know if I can help with the packaging.
@rillian,coop
What exactly needs to be done packaging wise?  Do you needs RPMS of gstreamer1? (I have no idea how to do that..)

I think I could cut some of the packages I installed (or downgrade them to centos6.4).  Some were me trying out glib2.28 from centos6.6 to see if that would help (it didn't).
Actually... It seems like gstreamer1 got installed for Feb 14th+ nighly builds.   Awesome :)
(In reply to Bryan Quigley from comment #13)
> Actually... It seems like gstreamer1 got installed for Feb 14th+ nighly
> builds.   Awesome :)

Are you sure? Can you point be at the branch/build/logs where you see this?

We *did* update our base platform from CentOS 6.2 -> 6.5, so there *may* have been an associated change to the base packages on the system. However, since Firefox builds for Linux still happen in a mock env, I don't think there's been any change to the chroot env.

For example, here's the the log for yesterday's nightly on Linux x64:

http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2015/02/2015-02-17-03-02-13-mozilla-central/mozilla-central-linux64-nightly-bm77-build1-build2.txt.gz

It's still using gstreamer 0.10.29-1.el6.
Sorry, guess I got excited.

With build: http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2015/02/2015-02-13-03-04-56-mozilla-central/
H264 shows missing

With build:
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2015/02/2015-02-14-03-02-38-mozilla-central/
H264 support is available

Now it doesn't appear to actually work.. but it definitely appears to be gstreamer related (disabling gstreamer in about:config makes it go off).  I'll report a bug if I can find the cause..
Per discussion in 973274, I'm done with this instance.  Thanks everyone for their help getting this going.

(as per my H264 appearing in comments 13-15, it appears this went away again, I wasn't able to find the cause but it appears to have been reverted)
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
I was wrong per discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=947287#c42.  Can I have a loan back?
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Blocks: 1212916
Filed new Bug 1212916
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Component: Loan Requests → Buildduty
Product: Release Engineering → Infrastructure & Operations
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in before you can comment on or make changes to this bug.