Closed Bug 31287 Opened 26 years ago Closed 26 years ago

Unable to build with --enable-boehm on Linux: mulitple definition errors in gc_cpp.cc

Categories

(SeaMonkey :: Build Config, defect, P3)

x86
Linux

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: hacksaw, Assigned: beard)

Details

Attachments

(3 files)

* Overview Description: Compiling with the --enable-boehm option on gcc 2.95.2 reports 3 seperate "multiple definition" errors in "gc_cpp.cc". * Steps to Reproduce: 1) compile with ----enable-boehm on Linux * Actual Results: See attached file for a snippet of (g)make's output. In short, the following sybols were apparently redefined: GC_push_all_stacks, GC_stop_world, and GC_start_world. Expected Results: A complete build resulting in a browser that never leaks memory and saves the world. ;-) * Reproducibility: I'm currently only able to test this on my Debian (Potato) GNU/Linux (2.2.13) machine. * Build Date & Platform Bug Found: Mar. 7-9 CVS HEAD * Additional Information: The problem seems to be in generic_threads.c vs. linux_threads.c: both contain different definitions of GC_stop_world, GC_start_world etc.
Attached file make output snippet.
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Ok, I was able to get gc/boehm to build but viewer & mozilla segfaulted in xpcom::nsLeakDetector. I played with it some more and was able to get all of the components registered before it segfaulted. Looking at gc/boehm/README.linux, I'm wondering if there's not a less invasive gc we could use. For using boehm with threads, it appears to expect you to include "gc.h" in every file that makes a thread call. Or is that only necessary if you're doing some sort of gc on threads? I'm guessing that would include NSPR as well. Beard, any suggestions?
The patches have been checked in but if I understand correctly, there are still some changes that need to be made to at least NSPR for this option to work correctly.
> The patches have been checked in [...] Great work! I have it running now, though for some strange reason I can't start a second instance or restart after exiting (I had another build do this earlier today).
>I have it running now [...] Just an update--it's now back to segfaulting as cls described. Is there any particular aspect of the NSPR stuff I could help look into?
The build option compiles again but some changes remain to allow gc work with nspr on linux. Reassigning to beard as he's the one actually doing the integration.
Assignee: cls → beard
Status: ASSIGNED → NEW
Target Milestone: --- → M16
mass re-assign of all bugs where i was listed as the qa contact
QA Contact: cyeh → chofmann
Working on it...
Status: NEW → ASSIGNED
I have changes in my tree for this.
Target Milestone: M16 → M18
Wade Hennessey is working on this, and it's almost ready. Nominating for beta3 checkin. This code will go in under #ifdef, so it's safe.
Keywords: nsbeta3
I think we can close this bug now, given wade's recent checkins.
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: