Closed Bug 579186 Opened 10 years ago Closed 9 years ago

Mozilla-central N810 builds do not launch (GLIBCXX_3.4.9 not found)

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Maemo
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: jhford, Assigned: pavlov)

References

Details

Attachments

(1 file)

I downloaded a tinderbox-build of fennec for maemo4 built against trunk and am getting the message

/builds/fennec/fennec: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not
found (required by /builds/fennec/libxul.so)

I am also getting 100% of tests failing on the device with the message:

INFO | automation.py | Application pid: 1602
/builds/fennec/fennec: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not
found (required by /builds/fennec/libxul.so)
TEST-UNEXPECTED-FAIL | automation.py | Exited with code 1 during test run
INFO | automation.py | Application ran for: 0:00:00.195434
INFO | automation.py | Reading PID log: /var/tmp/tmpeC37hipidlog
WARNING | automationutils.processLeakLog() | refcount logging is off, so leaks
can't be detected!

REFTEST INFO | runreftest.py | Running tests: end.

Unfortunately, the results of the test runs are green, so it is very difficult to find the regression range.

I have filed bug 579184 to make sure that the green test results on failing runs doesn't happen again in the future.

N900 builds launch and run fine.
That looks very much like Vlad's ANGLE patch requiring a later version of libstdc++ than is present on the n810s.
I guess this means that we either need to start shipping our own libstdc++, disable that patch for maemo4 builds or stop building maemo4 for mozilla-central.
It looks like the SDK has a version of libstdc++ that does have this string (6.0.9) but the devices don't actually have that version.  The devices and the SDK both have 6.0.3, which does not have this string.

I wonder if we could build forcing linking to libstdc++.so.6.0.3.  If we were to do this, I wonder if this is going to work with the ANGLE patch.


[sbox-FREMANTLE_ARMEL: /usr/lib] > strings libstdc++.so.6.0.9  | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_FORCE_NEW

[sbox-CHINOOK-ARMEL-2007: /usr/lib] > strings libstdc++.so.6.0.9 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_FORCE_NEW
[sbox-CHINOOK-ARMEL-2007: /usr/lib] > strings libstdc++.so.6.0.3 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_FORCE_NEW

maemo-n810-31:~# ls /usr/lib/libstdc\+\+.so.6*
/usr/lib/libstdc++.so.6      /usr/lib/libstdc++.so.6.0.3
N810/maemo4 is definitely a lower priority going forward, but being able to build and run should be a goal. What would statically linking a libstdc++ entail?
Met Stuart, he'll look at it.
(In reply to comment #4)
> N810/maemo4 is definitely a lower priority going forward, but being able to
> build and run should be a goal. What would statically linking a libstdc++
> entail?

I am not sure how to do that specifically.

I just copied libstdc++.so.6.0.9 to /usr/lib on the phone and changed the /usr/lib/libstdc++.so.6 to point to 6.0.9

This resulted in a fennec that launched.  I did some extremely limited testing and it seems like it is stable.

The source of the stray v6.0.9 library seems to be related to us using the cs2007q3-glibc2.5-arm7 toolchain instead of cs2005q3.2-glibc-arm.
(In reply to comment #5)
> Per bug 578880, this might be angle:
> https://bugzilla.mozilla.org/show_bug.cgi?id=578880#c5

yes, but the solution that we have for that platform will not work on device without us distributing our own copy of libstdc++ aiui
(In reply to comment #6)
> Met Stuart, he'll look at it.

Fixed missing assignment.
Assignee: nobody → pavlov
(In reply to comment #9)
> (In reply to comment #6)
> > Met Stuart, he'll look at it.
> 
> Fixed missing assignment.

Ping - any update?(In reply to comment #6)
summary of quick meeting with vlad/stuart/joduinn:

stuart/vlad will get change the build config to remove dependency on this library. Possible ETA this week sometime.
(In reply to comment #11)
> summary of quick meeting with vlad/stuart/joduinn:
> 
> stuart/vlad will get change the build config to remove dependency on this
> library. Possible ETA this week sometime.

stuart: ping?
No longer blocks: 578880
Blocks: 578880
N810s were EOLed long before the N900s, which are now EOLed.
Blocks: maemo-tier3
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.