Author Topic: Seamonkey fails to start - Couldn't load xpcom  (Read 643 times)

Steven Levine

  • Full Member
  • ***
  • Posts: 150
  • Karma: +16/-0
Re: Seamonkey fails to start - Couldn't load xpcom
« Reply #30 on: July 24, 2026, 05:07:20 am »
It must be something else then.  This is a rebuild of a build that used to work, is it not?

Git tells us arc4random_buf was added to libc with

commit e2e275c0159a1a258681b64241f88b492b2b9345
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Sun Oct 19 23:34:54 2025 -0700

    Add `arc4random_buf`.
   
    The implementation is trivial (and differs from current FreeBSD)
    but it should be sufficient for ports needing this function.
   
    Closes #151.

Is it possible you are run picking up the right stdlib.h?

Not that it should matter, but what gcc are you building with?


Dave Yeo

  • Hero Member
  • *****
  • Posts: 6055
  • Karma: +167/-1
Re: Seamonkey fails to start - Couldn't load xpcom
« Reply #31 on: July 24, 2026, 06:09:58 am »
It must be something else then.  This is a rebuild of a build that used to work, is it not?

Yes, looking at logs, previously configure didn't find arc4random_buf so the build worked. Now check_func does find it. As you point out, it has been added.
Quote
Git tells us arc4random_buf was added to libc with

commit e2e275c0159a1a258681b64241f88b492b2b9345
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Sun Oct 19 23:34:54 2025 -0700

    Add `arc4random_buf`.
   
    The implementation is trivial (and differs from current FreeBSD)
    but it should be sufficient for ports needing this function.
   
    Closes #151.

Is it possible you are run picking up the right stdlib.h?

Yes, I'm picking up the right stdlib.h. Used to be that it was easy to add -E to CXXFLAGS and look at the preprocessor output, but not now.
I've refactored some stuff and added the define to CXXFLAGS, we'll see in about 45 minutes if the build succeeds.
Quote
Not that it should matter, but what gcc are you building with?

The system 9.2.0
Edit: forgot to mention that editing mozilla-config.h to remove #define HAVE_ARC4RANDOM_BUF 1 allows the build to succeed as expected. Shouldn't need to edit config.h.
« Last Edit: July 24, 2026, 06:15:36 am by Dave Yeo »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 6055
  • Karma: +167/-1
Re: Seamonkey fails to start - Couldn't load xpcom
« Reply #32 on: July 24, 2026, 06:35:42 am »
Build has the same failure. The define didn't get picked up. Try again with a slight different environment.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 6055
  • Karma: +167/-1
Re: Seamonkey fails to start - Couldn't load xpcom
« Reply #33 on: July 25, 2026, 03:20:03 am »
Even with the define getting picked up, same failure. I decided just to remove the test from configure and things are compiling fine.

KO Myung-Hun

  • Full Member
  • ***
  • Posts: 117
  • Karma: +26/-0
Re: Seamonkey fails to start - Couldn't load xpcom
« Reply #34 on: July 25, 2026, 03:02:50 pm »
How about using _BSD_SOURCE or _GNU_SOURCE.

And, calling ::arc4random_buf() may help if it was not.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 6055
  • Karma: +167/-1
Re: Seamonkey fails to start - Couldn't load xpcom
« Reply #35 on: July 26, 2026, 07:15:08 am »
Thanks for the reminder. -D_BSD_SOURCE does fix the compile. I should have remembered that it is usually _BSD_SOURCE but the guard does have __BSD_SOURCE.