Pierre Labastie via blfs-dev wrote:
When compiling seamonkey, I got an error (since I've fixed it,
I've mucked the log, sorry, so this is not the exact error message):
gettid first declared extern (in /usr/include/bits/unistd_ext.h)
then declared static (in mozilla/tools/profiler/core/platform.h).
I got the same error in thunderbird (except there is no mozilla subdir,
so the offending file is tools/profiler/core/platform.h.
The reason is the following: mozilla/tools/profiler/core/platform.h
has a comment:
// We need a definition of gettid(), but Linux libc implementations don't
// provide a wrapper for it
and they define it as static inline.
But according to glibc-2.30 release notes:
* On Linux, the getdents64, gettid, and tgkill functions have been added.
So gettid shouldn't be redefined by seamonkey/thunderbird.
Now, I am amazed nobody has seen this before me.
Maybe I have something different in my mozconfig, so I attach it
(the seamonkey one)
Forgot to tell that I have been able to build both packages by doing:
sed -i '/pid_t gettid/s@^@//@' mozilla/tools/profiler/core/platform.h
(remove mozilla/ for thunderbid).
Waiting for confirmation before including into the book.
Unsubscribe: See the above information page