Pierre Labastie via blfs-dev wrote:
Hi,

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.

Pierre
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to