Closed Bug 1447907 Opened 2 years ago Closed 2 years ago

Port bug 1429875 to TB: Windows: MapiProxy.lib : fatal error LNK1120: 5 unresolved externals, Linux, Mac: Link errors related to libical.

Categories

(Thunderbird :: Build Config, defect, blocker)

defect
Not set
blocker

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 61.0

People

(Reporter: Paenglab, Assigned: Fallen)

References

Details

Attachments

(2 files, 2 obsolete files)

For Linux/Mac you see the problem a few lines above
https://treeherder.mozilla.org/logviewer.html#?job_id=169580285&repo=comm-central&lineNumber=28539

INFO -  /builds/worker/workspace/build/src/comm/calendar/base/backend/libical/calICSService.cpp:356: undefined reference to `icalvalue_get_datetime'
and many more.

Or on Mac:
INFO -        _icalvalue_new_from_string_with_error in Unified_c_libical_src_libical1.o
INFO -  ld: symbol(s) not found for architecture x86_64
and many more.
Severity: normal → blocker
Flags: needinfo?(philipp)
Flags: needinfo?(mozilla)
Summary: MapiProxy.lib : fatal error LNK1120: 5 unresolved externals → Port bug 1429875 to TB: Windows: MapiProxy.lib : fatal error LNK1120: 5 unresolved externals, Linux, Mac: Link errors related to libical.
Version: unspecified → Trunk
This fixes ical and probably Linux and Mac. On Windows there is still:

 1:14.86 MapiProxy.dll
 1:14.98 MapiProxy.def : error LNK2001: unresolved external symbol DllCanUnloadNow
 1:14.98 MapiProxy.def : error LNK2001: unresolved external symbol DllGetClassObject
 1:14.98 MapiProxy.def : error LNK2001: unresolved external symbol DllRegisterServer
 1:14.98 MapiProxy.def : error LNK2001: unresolved external symbol DllUnregisterServer
 1:14.98 MapiProxy.def : error LNK2001: unresolved external symbol GetProxyDllInfo
 1:14.98 MapiProxy.lib : fatal error LNK1120: 5 unresolved externals
That's expected. It's Philipp's WIP.
OK, that works on Mac, so landing what we have.
Flags: needinfo?(philipp)
Flags: needinfo?(mozilla)
Keywords: leave-open
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/f44cfb13e72d
Port bug 1429875 to TB: re-write linkage logic in moz.build. rs=bustage-fix DONTBUILD CLOSED TREE
Great job, Philipp. We still need the MAPI stuff, but this got us going again!!
Attached patch win.patch (obsolete) β€” β€” Splinter Review
Patch supplied by Philipp via IRC.

This goes further, but gives:
 4:29.95 msgMapiImp.obj : error LNK2001: unresolved external symbol IID_nsIMapi
 4:29.95 xul.dll : fatal error LNK1120: 1 unresolved externals

The problem appears to be that msgMapi_i.c which is created from msgMapi.idl is not used when building msgMapiImp.obj.

The next hack addresses that. Only for those who want to build again.
Attached patch MAPI Fix - v1 β€” β€” Splinter Review
Attachment #8961612 - Attachment is obsolete: true
Attachment #8961701 - Flags: review?(jorgk)
Attachment #8961611 - Attachment is obsolete: true
If you would like to defer the review to a build person please go ahead, but I suspect you'll be landing this with rs=bustage-fix anyway.
Comment on attachment 8961701 [details] [diff] [review]
MAPI Fix - v1

Thanks for attending to this quickly. I'm really quite unqualified as a reviewer since I don't understand any of this magic. For example, what do the ! do in the SOURCES? Maybe they tell the system not to check for those files up-front because they are generated during the process?

I tried it and it works for me, thanks again.
Attachment #8961701 - Flags: review?(jorgk) → review+
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/e58b200fabf3
Adapt link logic for mapi component. rs=jorgk,bustage-fix
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Philipp, if you want another review, please request it. We sometimes have to land follow-ups in bustage fix cases, but at least we're back to a manageable state where others can work.
Target Milestone: --- → Thunderbird 61.0
You need to log in before you can comment on or make changes to this bug.