Closed Bug 1318735 Opened 3 years ago Closed 3 years ago

Fold suite binary component into xul / Cannot compile due to XPCOM

Categories

(SeaMonkey :: Build Config, defect, blocker)

SeaMonkey 2.50 Branch
defect
Not set
blocker

Tracking

(seamonkey2.49esr unaffected, seamonkey2.50 fixed)

RESOLVED FIXED
seamonkey2.50
Tracking Status
seamonkey2.49esr --- unaffected
seamonkey2.50 --- fixed

People

(Reporter: vlposta, Assigned: frg)

References

Details

(Keywords: verifyme)

Attachments

(1 file, 4 obsolete files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0 SeaMonkey/2.46
Build ID: 20161017003456

Steps to reproduce:

I cannot compille ...


Actual results:

Creating config.status
Reticulating splines...
Traceback (most recent call last):
  File "c:/Users/Vlada/comm-central/configure.py", line 32, in <module>
    sys.exit(main(sys.argv))
  File "c:/Users/Vlada/comm-central/configure.py", line 29, in main
    return config_status(config)
  File "c:\Users\Vlada\comm-central\mozilla\configure.py", line 102, in config_status
    return config_status(args=[], **encode(sanitized_config, encoding))
  File "c:\Users\Vlada\comm-central\mozilla\python\mozbuild\mozbuild\config_status.py", line 147, in config_status
    definitions = list(definitions)
  File "c:\Users\Vlada\comm-central\mozilla\python\mozbuild\mozbuild\frontend\emitter.py", line 237, in emit
    objs = list(self._emit_libs_derived(contexts))
  File "c:\Users\Vlada\comm-central\mozilla\python\mozbuild\mozbuild\frontend\emitter.py", line 271, in _emit_libs_derived
    self._link_libraries(context, obj, variable)
  File "c:\Users\Vlada\comm-central\mozilla\python\mozbuild\mozbuild\frontend\emitter.py", line 443, in _link_libraries
    % obj.name, context
mozbuild.frontend.reader.SandboxValidationError:
==============================
ERROR PROCESSING MOZBUILD FILE
==============================

The error occurred while processing the following file or one of the files it includes:

    c:/Users/Vlada/comm-central/suite/build/moz.build

The error occurred when validating the result of the execution. The reported error is:

    suite depends on the XPCOM glue. No new dependency on the XPCOM glue is allowed.


*** Fix above errors and then restart with\
               "c:/mozilla-build/mozmake/mozmake -f client.mk build"
client.mk:360: recipe for target 'configure' failed
mozmake: *** [configure] Error 1
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
Version: SeaMonkey 2.46 Branch → SeaMonkey 2.50 Branch
Attached patch 318735-xpcom-suite.patch (obsolete) — Splinter Review
The patch won't do you much good. You also need to back out Bug 1314955 part C. suite does need to be made internal.
Severity: normal → blocker
Depends on: 1316450, 1317674
OS: Windows 10 → All
Hardware: x86_64 → All
See Also: → 1314955
Comment 0 should be already fixed by my patch which is now on m-c.
(that's assuming SM sets MOZ_BUILD_APP like TB and IB do...)
Status: UNCONFIRMED → NEW
Ever confirmed: true
aleth I think yes but its a mood point. We need to get rid of the suite component as a binary-component because of bug 1314955.

'MOZ_BUILD_APP': '../suite',
I wonder why  TB isn't affected by bug 1314955 in mail\components\build?
I see a XPCOMBinaryComponent('mailcomps').
(In reply to Frank-Rainer Grahl from comment #5)
> I wonder why  TB isn't affected by bug 1314955 in mail\components\build?
> I see a XPCOMBinaryComponent('mailcomps').

I don't think MOZ_INCOMPLETE_EXTERNAL_LINKAGE is set by default.
>> I don't think MOZ_INCOMPLETE_EXTERNAL_LINKAGE is set by default.

Yes you are right. And from what I see it will no longer work and should probably completly removed. Only used in c-c.
Attached patch 1318735-wip.patch (obsolete) — Splinter Review
If someone wants to take a test drive. Feeds briefly checked. If someone could test the profile functions I would be glad.
Attachment #8812288 - Attachment is obsolete: true
Attached patch 1318735-wip.patch (obsolete) — Splinter Review
Missed a new file
Attachment #8812544 - Attachment is obsolete: true
Attached patch 1318735-Suite2XUL.patch (obsolete) — Splinter Review
Tested with Windows and Linux. Unable to test migration. Is this still working in a current SeaMonkey? 

I cleaned up the CIDs. If this can cause problems let me know but I do not see how looking at the code and Firefox does it in the same way.

Stefan can you try it with OSX? Bug 1318798 is still in m-i and currently needs to be applied for a successful compile too.
Assignee: nobody → frgrahl
Attachment #8812545 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #8812574 - Flags: feedback?(stefanh)
Attachment #8812574 - Flags: feedback?(philip.chee)
Attachment #8812574 - Flags: feedback?(iann_bugzilla)
Comment on attachment 8812574 [details] [diff] [review]
1318735-Suite2XUL.patch

diff --git a/suite/shell/src/nsMacShellService.h b/suite/shell/src/nsMacShellService.h
--- a/suite/shell/src/nsMacShellService.h
+++ b/suite/shell/src/nsMacShellService.h
@@ -6,21 +6,17 @@
 #ifndef nsmacshellservice_h____
 #define nsmacshellservice_h____
 
 #include "nsShellService.h"
 #include "nsIWebProgressListener.h"
 #include "nsIFile.h"
 #include "nsCOMPtr.h"
 #include "mozilla/Attributes.h"
-
-#include <CoreFoundation/CoreFoundation.h>
-
-#define NS_SUITEMACINTEGRATION_CID \
-{0xac17e6f0, 0x50c9, 0x4901, {0xab, 0x08, 0xf8, 0x70, 0xbf, 0xcd, 0x12, 0xce}}
+#include "nsSuiteCID.h"

We want the CoreFoundation include there, because 'sDefaultHandlerForProtocol(CFStringRef aScheme);' needs it. So you need to move it back (you moved it to the .cpp file). When putting it back, please put it after the nsSuiteCID.h include (with an empty line between). With this change, it builds fine on mac.
Attachment #8812574 - Flags: feedback?(stefanh) → feedback+
Thanks. Updated the patch.
Attachment #8812574 - Attachment is obsolete: true
Attachment #8812574 - Flags: feedback?(philip.chee)
Attachment #8812574 - Flags: feedback?(iann_bugzilla)
Attachment #8812605 - Flags: feedback?(philip.chee)
Attachment #8812605 - Flags: feedback?(iann_bugzilla)
Comment on attachment 8812605 [details] [diff] [review]
1318735-Suite2XUL-V2.patch

Works per irc so asking for review.
Attachment #8812605 - Flags: review?(philip.chee)
Attachment #8812605 - Flags: review?(iann_bugzilla)
Attachment #8812605 - Flags: feedback?(philip.chee)
Attachment #8812605 - Flags: feedback?(iann_bugzilla)
Comment on attachment 8812605 [details] [diff] [review]
1318735-Suite2XUL-V2.patch

> +#if defined(MOZ_WIDGET_GTK)
>  #include "nsIImageToPixbuf.h"
> +#endif
This will always be true so there is no need to test for MOZ_WIDGET_GTK.
These changes are quite extensive so I'm going to revive the super-review? flag
Attachment #8812605 - Flags: superreview?(iann_bugzilla)
Attachment #8812605 - Flags: review?(philip.chee)
Attachment #8812605 - Flags: review?(neil)
Attachment #8812605 - Flags: review+
Comment on attachment 8812605 [details] [diff] [review]
1318735-Suite2XUL-V2.patch

>+++ b/suite/app.mozbuild
>@@ -19,9 +19,10 @@ if CONFIG['MOZ_CALENDAR']:
>     DIRS += [
>         '/calendar/lightning',
>         '/calendar/timezones'
>     ]
> 
> DIRS += [
>     '/xpfe/components/autocomplete',
>     '/suite',
>+    '/suite/build',
> ]

>+++ b/suite/moz.build
>@@ -29,12 +29,11 @@ DIRS += [
> if CONFIG['MAKENSISU']:
>     DIRS += ['installer/windows']
> 
> if CONFIG['MOZ_BUNDLED_FONTS']:
>     DIRS += ['/mozilla/browser/fonts']
> 
> # app is always last as it packages up the built files on mac.
> DIRS += [
>-    'build',
>     'app',
> ]

Are these changes needed?
r/a=me with that answered
Attachment #8812605 - Flags: review?(iann_bugzilla) → review+
Nit from Ratty and comments from IanN taken care of. I originally had problems with the dependency checking so I changed app.mozbuild and moz.build in suite. No longer needed after properly fixing the cause and I forgot to revert them. 

https://hg.mozilla.org/comm-central/rev/c2e84907d49c68601bb6669b8bdb4666de705eac
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.50
UA:"Mozilla/5.0 (X11; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0 SeaMonkey/2.50a1" 
ID:20161206141608 en-US 
c-c:8881e860371794a64312b206e086ec10f7f9a827 
m-c:ad993783599ab2ede0cf931fdec02f4df40a7a6d

This is the second tinderbox-build after the 3-week interruption. AFAICT, it works. I'm setting "verifyme" keyword rather than VERIFIED status because I can test neither Windows nor Mac, and L32 only as L32-on-L64.

Kudos for frg and the other developers who IIRC made this new "breakage due to XPCOM" much shorter than the previous one (when frozen linkages got unfrozen, near the time when the "release train" system was introduced).
Keywords: verifyme
P.S. cZ and DOMi (and debugQA) are still packaged-in (in INSTALLDIR/distribution/extensions/) in this en-US build.
>>
P.S. cZ and DOMi (and debugQA) are still packaged-in (in INSTALLDIR/distribution/extensions/) in this en-US build.
<<

The plans for now are to fix l10n builds not to remove them. 2.46 the exception because it just needs to be released fast.

FRG
Comment on attachment 8812605 [details] [diff] [review]
1318735-Suite2XUL-V2.patch

Cancelling sr but leaving r? for neil in case he wants to comment.
Attachment #8812605 - Flags: superreview?(iann_bugzilla)
Possibly: Bug 1306327 - Build an XPCOM startup API specifically for the Firefox stub which doesn't need the XPCOM glue
Summary: Cannot compile due to XPCOM → Fold suite binary component into xul / Cannot compile due to XPCOM
Blocks: 1533062
You need to log in before you can comment on or make changes to this bug.