Closed Bug 1126859 Opened 9 years ago Closed 9 years ago

comm-central compilation error: ‘PL_DHashTableLookup’ was not declared in this scope, etc.

Categories

(Thunderbird :: Build Config, defect)

defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 38.0

People

(Reporter: ishikawa, Assigned: rkent)

References

Details

Attachments

(1 file, 2 obsolete files)

I have refreshed my local comm-central source tree a few hours ago.

Then I get the following compilation errors on my local PC.
I have not seen this before. So this is a new build regression.

It looks PD_DHashTableLookup, etc. are not declared in headers any more?
(The function itself seems to exist in the source tree.)

Oh, is it possible that I am seeing this since I have enabled
ac_add_options --disable-unified-compilation
in my MOZCONFIG file?

This is the error message:

   [...]
/REF-COMM-CENTRAL/comm-central/mailnews/extensions/bayesian-spam-filter/src/nsBayesianFilter.cpp: In member function ‘BaseToken* TokenHash::get(const char*)’:
/REF-COMM-CENTRAL/comm-central/mailnews/extensions/bayesian-spam-filter/src/nsBayesianFilter.cpp:201:68: error: ‘PL_DHashTableLookup’ was not declared in this scope
     PLDHashEntryHdr* entry = PL_DHashTableLookup(&mTokenTable, word);
                                                                    ^
/REF-COMM-CENTRAL/comm-central/mailnews/extensions/bayesian-spam-filter/src/nsBayesianFilter.cpp:202:37: error: ‘PL_DHASH_ENTRY_IS_BUSY’ was not declared in this scope
     if (PL_DHASH_ENTRY_IS_BUSY(entry))
                                     ^

In the directory  /REF-OBJ-DIR/objdir-tb3/mailnews/extensions/bayesian-spam-filter/src
The following command failed to execute properly:
/usr/bin/ccache /usr/bin/g++-4.9 -fno-builtin-strlen -Wl,--gdb-index -Dfdatasync=fdatasync -DDEBUG=1 -DDEBUG_4GB_CHECK -DUSEHELGRIND=1 -o nsBayesianFilter.o -c -I../../../../dist/stl_wrappers -I../../../../dist/system_wrappers -include /REF-COMM-CENTRAL/comm-central/mozilla/config/gcc_hidden.h -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/REF-COMM-CENTRAL/comm-central/mailnews/extensions/bayesian-spam-filter/src -I. -I../../../../dist/include -I/REF-OBJ-DIR/objdir-tb3/dist/include/nspr -I/REF-OBJ-DIR/objdir-tb3/dist/include/nss -fPIC -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -MD -MP -MF .deps/nsBayesianFilter.o.pp -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DDEBUG -DTRACING -gsplit-dwarf -g -O -freorder-blocks -fno-omit-frame-pointer /REF-COMM-CENTRAL/comm-central/mailnews/extensions/bayesian-spam-filter/src/nsBayesianFilter.cpp
/REF-COMM-CENTRAL/comm-central/mozilla/config/rules.mk:930: recipe for target 'nsBayesianFilter.o' failed
make[4]: *** [nsBayesianFilter.o] Error 1
/REF-COMM-CENTRAL/comm-central/mozilla/config/recurse.mk:74: recipe for target 'mailnews/extensions/bayesian-spam-filter/src/target' failed
make[3]: *** [mailnews/extensions/bayesian-spam-filter/src/target] Error 2
make[3]: *** Waiting for unfinished jobs....
nsMsgCompFields.o
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp: In member function ‘nsresult nsMsgDatabase::RemoveHdrFromCache(nsIMsgDBHdr*, nsMsgKey)’:
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:682:96: error: ‘PL_DHashTableLookup’ was not declared in this scope
     PLDHashEntryHdr *entry = PL_DHashTableLookup(m_cachedHeaders, (const void *)(uintptr_t) key);
                                                                                                ^
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:683:37: error: ‘PL_DHASH_ENTRY_IS_BUSY’ was not declared in this scope
     if (PL_DHASH_ENTRY_IS_BUSY(entry))
                                     ^
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp: In member function ‘nsresult nsMsgDatabase::GetHdrFromUseCache(nsMsgKey, nsIMsgDBHdr**)’:
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:706:78: error: ‘PL_DHashTableLookup’ was not declared in this scope
     entry = PL_DHashTableLookup(m_headersInUse, (const void *)(uintptr_t) key);
                                                                              ^
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:707:37: error: ‘PL_DHASH_ENTRY_IS_BUSY’ was not declared in this scope
     if (PL_DHASH_ENTRY_IS_BUSY(entry))
                                     ^
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp: In member function ‘nsresult nsMsgDatabase::GetRefFromHash(nsCString&, nsMsgKey*)’:
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:4121:78: error: ‘PL_DHashTableLookup’ was not declared in this scope
   entry = PL_DHashTableLookup(m_msgReferences, (const void *) reference.get());
                                                                              ^
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:4122:35: error: ‘PL_DHASH_ENTRY_IS_BUSY’ was not declared in this scope
   if (PL_DHASH_ENTRY_IS_BUSY(entry))
                                   ^
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp: In member function ‘nsresult nsMsgDatabase::RemoveRefFromHash(nsCString&)’:
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:4184:80: error: ‘PL_DHashTableLookup’ was not declared in this scope
     entry = PL_DHashTableLookup(m_msgReferences, (const void *) reference.get());
                                                                                ^
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:4185:37: error: ‘PL_DHASH_ENTRY_IS_BUSY’ was not declared in this scope
     if (PL_DHASH_ENTRY_IS_BUSY(entry))
                                     ^
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp: In member function ‘nsresult nsMsgDatabase::ClearHdrCache(bool)’:
/REF-COMM-CENTRAL/comm-central/mailnews/db/msgdb/src/nsMsgDatabase.cpp:663:60: warning: ignoring return value of ‘bool PL_DHashTableInit(PLDHashTable*, const PLDHashTableOps*, uint32_t, const mozilla::fallible_t&, uint32_t)’, declared with attribute warn_unused_result [-Wunused-result]
                         mozilla::fallible_t(), m_cacheSize);
 [... the rest is omitted...]			 
                                                            ^
TIA
Yes this was announced on m.d.platform last night. See "PL_DHashTableLookup() is dead; long live PL_DHashTableSearch()" and bug 1120262. There he said "I haven't prepared patches for comm-central but there are only a handful of places that need changing and they should be very simple to change."
Blocks: 1121202
Blocks: 1124973
No longer blocks: 1121202
Attached patch The Fix (obsolete) — Splinter Review
Assignee: nobody → kent
Status: NEW → ASSIGNED
Attachment #8556054 - Flags: review?(Pidgeot18)
Attached patch My WIP Patch (obsolete) — Splinter Review
Attaching my version of the fix.
Attachment #8556069 - Flags: review?(kent)
Attachment #8556069 - Attachment is obsolete: true
Attachment #8556069 - Flags: review?(kent)
Attachment #8556076 - Flags: review?(kent)
Attachment #8556054 - Attachment is obsolete: true
Attachment #8556054 - Flags: review?(Pidgeot18)
Comment on attachment 8556076 [details] [diff] [review]
WIP patch with qref

Review of attachment 8556076 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM.
Attachment #8556076 - Flags: review?(kent) → review+
http://hg.mozilla.org/comm-central/rev/6e9559ab36ee
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
OS: Linux → All
Hardware: x86_64 → All
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 38.0
Side note: we ought to switch from composition to inheritance so that we can use static_cast instead of reinterpret_cast in a couple of spots. See the patches on the original bug.
Blocks: 1127307
Thank you for the fix. TB builds now!
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: