Closed Bug 36844 Opened 25 years ago Closed 24 years ago

dual ojbdir build stopped working

Categories

(SeaMonkey :: Build Config, defect, P3)

x86
OSF/1
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: jim_nance, Assigned: cls)

Details

Attachments

(1 file)

I am trying to build mozilla under 2 different versions of tru64 Unix. The way I do this is to untar the mozilla source in a common NFS mounted directory, and run each build in a seperate obj directory. This used to work, but recently (in the last week?) it has stopped. The problem is that the build system creates a file called config/my_overrides.mk in the mozilla source directory, and this file needs to contain different things on the different systems. This file should probably be under the config directory in the objdirs. There is another file called config/my_config.mk that looks like it should probably be moved too.
I think the fix may be to just s/srcdir/MOZ_BUILD_ROOT/g in that clause.
Status: NEW → ASSIGNED
Well, that wasn't the fix (as I found out the hard way). Either we start sticking the my_config.mk files into config/{OS_ARCH}.OBJ on NSPR (which requires a change to the NSPRPUB_CLIENT_BRANCH) or we just say, use --enable-nspr-autoconf.
NSPR's my_config.mk and my_overrides.mk mechanism was added when Ramiro declared that mozilla's configure script would only support building in the srcdir. That's why we just create my_config.mk and my_overrides.mk in mozilla/nsprpub/config.
Excuse me while my head explodes. Mozilla's configure has *always* supported building in the objdir since the day it was conceived. I don't know what Ramiro was smoking but he should've shared.
--enable-nspr-autoconf and objdirs do not seem to mix well under Tru64 Unix. I get an error right up front where it tries to make a symlink to an existing dir: Script started on Thu Apr 27 11:12:57 2000 sh-2.02$ pwd /tmp/jln/build/nsprpub/pr/include/md sh-2.02$ make ../../../config/./nsinstall -R -m 444 /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_aix32.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_aix32in6.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_aix64.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_beos.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_bsdi.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_dgux.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_freebsd.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_hpux32.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_hpux64.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_irix32.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_irix64.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_linux.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_ncr.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_nec.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_netbsd.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_nextstep.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_nto.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_openbsd.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_openvms.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_os2.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_osf1.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_qnx.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_reliantunix.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_rhapsody.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_scoos.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_solaris32.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_solaris64.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_sony.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_sunos4.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_unixware.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_unixware7.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_win16.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_win95.cfg /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/_winnt.cfg /tmp/jln/build/dist/include/md ../../../config/./nsinstall -R -m 444 /house/jnance/mbuild/mozilla/nsprpub/pr/include/md/ /tmp/jln/build/dist/include ../../../config/./nsinstall: cannot make symbolic link /tmp/jln/build/dist/include/md: File exists make: *** [export] Error 1 sh-2.02$ exit script done on Thu Apr 27 11:13:04 2000
That is because MDCPUCFG_H was not set for Tru64. Whoops, there's no osf1 definition in nsprpub/configure.in. Ok, so slightly less than 85% chance this would work. :-/
I applied the patch, and it helps but things still dont work. The nspr test for pthread_create fails. I get an undefined reference to it when I build. I think this is because we are not including the pthread.h header file in the configure program, and they probably have it macroed or something. I tried adding the pthread.h header file and it complains because we have lied about the number of args the function takes. We already do a test for another pthread_ function before we get to the pthread_create() test. Is it really necessary to test for pthread_create?
This is a weakness of the autoconf macro AC_CHECK_LIB. It does not include the appropriate header files (in this case, <pthread.h>), and hence may miss the symbol renaming macros in the headers. On Tru64 UNIX, all the POSIX thread symbols get renamed to __pthread_xxx, so that they can coexist with the older DCE thread symbols, which also have the pthread_ prefix.
osf/1 changes for nspr autoconf have been checked in. Marking fixed.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
jim - can you mark this verified if it's working for you now?
Its working
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: