viewer test breaks build

RESOLVED DUPLICATE of bug 121881

Status

Firefox Build System
General
--
minor
RESOLVED DUPLICATE of bug 121881
13 years ago
4 months ago

People

(Reporter: Peter Weilbacher, Assigned: Peter Weilbacher)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

13 years ago
When building without --disable-tests the viewer test does not build as it cannot find the required wdgtos2.lib.
(Assignee)

Comment 1

13 years ago
Created attachment 208493 [details] [diff] [review]
hackish fix

The break is because the respective Makefile wants to link to $(DIST)/lib/components/wdgtos2.lib which is not there (in fact no directory $(DIST)/lib/components/ exists). This instead points it to widget/src/os2/wdgtos2.lib which does exist, because I didn't find out how to get it copied to $(DIST)/lib/.

Or should we remove the viewer test altogether? It does not look very functional to me now that it has linked successfully...
Attachment #208493 - Flags: review?(mozilla)
(Assignee)

Updated

13 years ago
Status: NEW → ASSIGNED
(Assignee)

Comment 2

13 years ago
Argh, why the hell does "Accept bug" not assign it to me?!
Assignee: nobody → mozilla
Status: ASSIGNED → NEW

Comment 3

13 years ago
Interesting.

I think viewer.exe is supposed to be a giant executable so there should be a version of wdgtos2.lib that we create that is a shared lib, not an import lib.

No idea if that would actually work....

Any idea what changed to break this?

Windows does things totally different here, so we can't look there.
(Assignee)

Comment 4

13 years ago
The change occured somewhere between the 1.7 branch and the 1.8 branching and was that dist/lib/components/ disappeared. What caused that I have no clue.

Let me see if I can figure out the lib thing, but I currently don't see what would make it get copied to dist/lib.

Comment 5

13 years ago
I still get tons of unresolved externals with this fix...
Knut had a fix in his declspec patch.  It caused me some sort of problem in my builds as I wasn't building tests but I don't recall what it was now.
(Assignee)

Comment 7

13 years ago
(In reply to comment #5)
> I still get tons of unresolved externals with this fix...

That's weird, after my patch viewer.exe built, and I could even start it (I just couldn't get it to do anything). I am still using GCC 3.2.2, that might make a difference.

The change from 1.7 to 1.8 was that static builds were enabled. Now only those libs required for that are copied to dist/lib.
(Assignee)

Comment 8

13 years ago
Andy: Indeed, Knut's patch from bug 301064 has

+# bird: somehow this doesn't work automatically and the viewer.exe test 
+#       depends on this being installed.
+libs:: $(IMPORT_LIBRARY)
+	$(INSTALL) $(IFLAGS2) $(IMPORT_LIBRARY) $(DIST)/lib/components

for widget/src/os2/Makefile.in. But I doubt that this can work, at least here I don't even get a lib/components directory any more!
(Assignee)

Comment 9

13 years ago
Stumbled over bug 121881 which suggests that viewer is obsolete anyway.
(Assignee)

Comment 10

13 years ago
OK, removing viewer has happened, I therefore resolve this bug as dupe of bug 121881 which did the removal.

*** This bug has been marked as a duplicate of 121881 ***
Status: NEW → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → DUPLICATE
(Assignee)

Updated

13 years ago
Attachment #208493 - Flags: review?(mozilla)

Comment 11

13 years ago
I believe there is code that can be removed from widget now - also widget was exporting lots of extra stuff because of viewer.
(Assignee)

Comment 12

12 years ago
I just stumbled over this again because I get the same build break on the branches. Perhaps we should check the fix from attachment 208493 [details] [diff] [review] into 1.8 branch?

But I didn't find any special exports from widget as suggested by Mike in comment 11. Perhaps I misunderstand what is meant by "exports" in this case, but I don't see any special lines in the .def file or decorations to function names.

Comment 13

12 years ago
Now that I remember, it wasn't that widget exported specific stuff, it was that it exported everything - it wasn't a true component.

This was because viewer linked against stuff.

http://lxr.mozilla.org/seamonkey/source/widget/src/os2/Makefile.in#108

basically in rules.mk we don't just export NS_GetModule in that case.

http://lxr.mozilla.org/seamonkey/search?string=HAS_EXTRAEXPORTS

Updated

4 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.