[Solved] (Was: Firefox Compilation Problems ( _PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex)))

Mike Hunter mhunter at ack.Berkeley.EDU
Thu Jul 22 12:14:43 PDT 2004


On Jul 22, "Mark Linimon" wrote:

> What settings do you have in /etc/make.conf?  (If you are doing this
> from portupgrade, any settings in /usr/local/etc/pkgtools.conf will be
> useful, as well.)

Thanks for your reply.

I was able to get the thing to build by running the command that
core-dumped by hand under gdb

cd /usr/ports....

gdb FreeBSD5.2_DBG.OBJ/shlibsign
set args -v -i /usr/ports/www/firefox/work/mozilla/dist/lib/libsoftokn3.so
...
success

(firefox builds its own build tools as part of compiling...sigh)

Don't know if the gdb part actually fixed it anything or if it was the by
hand part that was key.

So I got it to make and install, only to have it dump core upon startup
with the same message as it was dumping with during build:

Assertion failure: _PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex), at ptsynch.c:207

I went fishing and came across some trusty libmap.conf advice:

http://lists.freebsd.org/pipermail/freebsd-gnome/2004-June/007159.html

I added the following to my /etc/libmap.conf:

[/usr/X11R6/lib/firefox/lib/firefox-0.9.1/firefox-bin]
libpthread.so.1                        libc_r.so.5
libpthread.so                          libc_r.so

(notice that putting the firefox-bin binary file is important, it won't
work if you put the script /usr/X11R6/bin/firefox)

Everything is working now.  Yeah.

FTR this is my make.conf

# -- use.perl generated deltas -- #
# Created: Wed Sep  3 23:10:59 2003
# Setting to use base perl from ports:
PERL_VER=5.6.1
PERL_VERSION=5.6.1
PERL_ARCH=mach
NOPERL=yo
NO_PERL=yo
NO_PERL_WRAPPER=yo
WITH_LIBMAP=yes

My libmap.conf was all commented out at the time of the compile problem.

My /usr/local/etc/pkgtools.conf seems pretty vanilla:

module PkgConfig
  ENV['PORTSDIR'] ||= '/usr/ports'
  ENV['PACKAGES'] ||= ENV['PORTSDIR'] + '/packages'
  ENV['PKG_PATH'] ||= ENV['PACKAGES'] + '/All'
  SANITY_CHECK = true
  IGNORE_CATEGORIES = [
  ]
  EXTRA_CATEGORIES = [
  ]
  HOLD_PKGS = [
    'bsdpan-*',
  ]
  USE_PKGS = [
  ]
  USE_PKGS_ONLY = [
  ]
  ALT_PKGDEP = {
  }
  MAKE_ARGS = {
  }
  BEFOREBUILD = {
  }
  BEFOREDEINSTALL = {
  }
  AFTERINSTALL = {
    # Re-enable the X wrapper
    'x11-servers/XFree86-4-Server' => sprintf(
     'cd %s/bin && if [ -x Xwrapper-4 ]; then ln -sf Xwrapper-4 X; fi',
     x11base()),
  }
  PKG_SITES = [
    pkg_site_mirror(),
  ]
  PORTUPGRADE_ARGS = ENV['PORTUPGRADE']
end

So, the question that remains in my mind is why is firefox building itself
(and its build tools) with the "wrong" threading libraries and how can
that be influenced?

Thanks again,

Mike


More information about the freebsd-ports mailing list