Closed
Bug 1164617
Opened 10 years ago
Closed 9 years ago
Investigate compiler / binutils hacks and move them to mozbootstrap or remove tehm
Categories
(Release Engineering :: General, defect)
Release Engineering
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: dustin, Assigned: dustin)
References
Details
We have a few hacks in place to make builds on Ubuntu-14.04 work:
# So that the compiler can find installed libs
ENV LIBRARY_PATH /usr/lib/x86_64-linux-gnu:$LIBRARY_PATH
# a.out.h needs to exist one directory lower, or the compiler will not find it
RUN ln -s /usr/include/linux/a.out.h /usr/include/a.out.h
# Without this, zlib.h can't find zconf.h, so hey, symlinks to the rescue, right?
RUN ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include/zconf.h
If these are truly required, then they should be in mozbootstrap, rather than in the Dockerfile. If they're not required, then we should fix whatever caused the errors that led to these being introduced.
Updated•10 years ago
|
Assignee: dustin → winter2718
Comment 1•10 years ago
|
||
see: https://bugzilla.mozilla.org/show_bug.cgi?id=1164641
We had to add another symlink to account for the fact that tooltool's compiler package doesn't have anything which matches the ubuntu specific: x86_64-linux-gnu-gcc
We can fix this by adding a "x86_64-linux-gnu-gcc" binary to the compiler package.
Comment 2•10 years ago
|
||
I'll probably take a crack at this in the near future, I've been able to use the desktop-build image as-is for mac cross-compile builds, but I have to unset LIBRARY_PATH and CPLUS_INCLUDE_PATH for the build to work.
Comment 3•10 years ago
|
||
The right thing to do here is to rebuild the compiler to know about the multiarch paths instead of the redhat style lib64 paths.
Now, there are two downsides that I know to building on ubuntu instead of centos (independently on the compiler thing):
- Firefox will only look for extra addons in /usr/lib64/mozilla/extensions and plugins in /usr/lib64/mozilla/plugins if it's built on centos. Building on ubuntu would change this behavior on our builds (see HAVE_USR_LIB64_DIR in toolkit/xre/* and xpcom/io/*). There might be other things.
- The resulting Firefox will use new symbol versions from the glibc. In practice that means it's likely the resulting binary will not work on older distros it currently supports.
Comment 4•10 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #3)
> The right thing to do here is to rebuild the compiler to know about the
> multiarch paths instead of the redhat style lib64 paths.
We talked about this briefly on IRC, I guess glandium and dustin planned to chat about this in Whistler.
> Now, there are two downsides that I know to building on ubuntu instead of
> centos (independently on the compiler thing):
> - Firefox will only look for extra addons in /usr/lib64/mozilla/extensions
> and plugins in /usr/lib64/mozilla/plugins if it's built on centos. Building
> on ubuntu would change this behavior on our builds (see HAVE_USR_LIB64_DIR
> in toolkit/xre/* and xpcom/io/*). There might be other things.
This is weird. We should just fix this. Building on one linux distro shouldn't change our behavior on other distros.
> - The resulting Firefox will use new symbol versions from the glibc. In
> practice that means it's likely the resulting binary will not work on older
> distros it currently supports.
We'll need to fix this, but maybe we can find a solution that fits with the work to fix the first point.
Comment 5•10 years ago
|
||
bug 1179818 should fix the toolchain to not require the hacks.
Depends on: 1179818
Comment 6•9 years ago
|
||
It looks like bug 1189892 fixed this.
Updated•7 years ago
|
Component: General Automation → General
You need to log in
before you can comment on or make changes to this bug.
Description
•