Kaydet (Commit) 09bc28fb authored tarafından Joachim Lingner's avatar Joachim Lingner

jl144: #i106132# nss does not build on MacOS 10.6 because of libsqlite3

üst a297f034
...@@ -175,6 +175,8 @@ FREEBL=freebl3 ...@@ -175,6 +175,8 @@ FREEBL=freebl3
.ENDIF # "$(OS)" == "SOLARIS" .ENDIF # "$(OS)" == "SOLARIS"
#On Linux/Unix sqlite is delivered to $(SOLARLIBDIR)/sqlite/libsqlite3.so
#See readme.txt in module nss
NSS_MODULE_RUNTIME_LIST:= \ NSS_MODULE_RUNTIME_LIST:= \
$(FREEBL) \ $(FREEBL) \
nspr4 \ nspr4 \
...@@ -186,7 +188,7 @@ NSS_MODULE_RUNTIME_LIST:= \ ...@@ -186,7 +188,7 @@ NSS_MODULE_RUNTIME_LIST:= \
plds4 \ plds4 \
smime3 \ smime3 \
softokn3 \ softokn3 \
sqlite3 \ sqlite/sqlite3 \
ssl3 ssl3
...@@ -200,13 +202,13 @@ $(MISC)$/unpacked_$(TARGET)_inc $(BIN)$/mozruntime.zip ...@@ -200,13 +202,13 @@ $(MISC)$/unpacked_$(TARGET)_inc $(BIN)$/mozruntime.zip
echo >& $(NULLDEV) echo >& $(NULLDEV)
$(foreach,lib,$(LIBLIST) rm -f $(LB)$/$(lib) &&) \ $(foreach,lib,$(LIBLIST) rm -f $(LB)$/$(lib) &&) \
echo >& $(NULLDEV) echo >& $(NULLDEV)
$(foreach,lib,$(BIN_RUNTIMELIST) zip -d $(BIN)$/mozruntime.zip $(DLLPRE)$(lib)$(DLLPOST) &&) \ $(foreach,lib,$(BIN_RUNTIMELIST) zip -d $(BIN)$/mozruntime.zip $(DLLPRE)$(lib:f)$(DLLPOST) &&) \
echo >& $(NULLDEV) echo >& $(NULLDEV)
.IF "$(GUI)"=="WNT" .IF "$(GUI)"=="WNT"
$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARBINDIR)$/$(DLLPRE)$(lib)$(DLLPOST) &&) \ +$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARBINDIR)$/$(DLLPRE)$(lib:f)$(DLLPOST) &&) \
echo >& $(NULLDEV) echo >& $(NULLDEV)
.ELSE .ELSE
$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARLIBDIR)$/$(DLLPRE)$(lib)$(DLLPOST) &&) \ +$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARLIBDIR)$/$(lib:d)$(DLLPRE)$(lib:f)$(DLLPOST) &&) \
echo >& $(NULLDEV) echo >& $(NULLDEV)
.ENDIF .ENDIF
$(TOUCH) $@ $(TOUCH) $@
......
--- misc/mozilla/nsprpub/config/rules.mk 2009-05-02 01:08:01.000000000 +0200 --- misc/mozilla/nsprpub/config/rules.mk Sat May 2 01:08:01 2009
+++ misc/build/mozilla/nsprpub/config/rules.mk 2009-09-17 10:29:39.823155149 +0200 +++ misc/build/mozilla/nsprpub/config/rules.mk Fri Nov 27 13:07:24 2009
@@ -350,7 +350,12 @@ @@ -350,7 +350,12 @@
ifdef NS_USE_GCC ifdef NS_USE_GCC
$(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $< $(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
endif # GCC endif # GCC
@echo $(RES) finished @echo $(RES) finished
endif endif
--- misc/mozilla/nsprpub/configure 2009-05-08 15:12:31.000000000 +0200 --- misc/mozilla/nsprpub/configure Fri May 8 15:12:31 2009
+++ misc/build/mozilla/nsprpub/configure 2009-09-17 10:31:55.064081763 +0200 +++ misc/build/mozilla/nsprpub/configure Fri Nov 27 13:07:24 2009
@@ -3898,7 +3898,7 @@ @@ -3898,7 +3898,7 @@
PR_MD_CSRCS=linux.c PR_MD_CSRCS=linux.c
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
_OPTIMIZE_FLAGS=-O2 _OPTIMIZE_FLAGS=-O2
_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that _DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
# combo is not yet good at debugging inlined # combo is not yet good at debugging inlined
--- misc/mozilla/security/coreconf/Darwin.mk 2009-07-30 23:36:02.000000000 +0200 --- misc/mozilla/security/coreconf/Darwin.mk Thu Jul 30 23:36:02 2009
+++ misc/build/mozilla/security/coreconf/Darwin.mk 2009-09-17 11:11:36.442683705 +0200 +++ misc/build/mozilla/security/coreconf/Darwin.mk Fri Nov 27 13:07:24 2009
@@ -39,8 +39,12 @@ @@ -39,8 +39,12 @@
DEFAULT_COMPILER = cc DEFAULT_COMPILER = cc
...@@ -42,8 +42,8 @@ ...@@ -42,8 +42,8 @@
RANLIB = ranlib RANLIB = ranlib
ifndef CPU_ARCH ifndef CPU_ARCH
--- misc/mozilla/security/coreconf/Linux.mk 2009-07-30 01:43:41.000000000 +0200 --- misc/mozilla/security/coreconf/Linux.mk Thu Jul 30 01:43:41 2009
+++ misc/build/mozilla/security/coreconf/Linux.mk 2009-09-17 10:39:40.372245066 +0200 +++ misc/build/mozilla/security/coreconf/Linux.mk Fri Nov 27 13:07:24 2009
@@ -46,8 +46,11 @@ @@ -46,8 +46,11 @@
IMPL_STRATEGY = _PTH IMPL_STRATEGY = _PTH
endif endif
...@@ -67,8 +67,8 @@ ...@@ -67,8 +67,8 @@
DSO_LDFLAGS = DSO_LDFLAGS =
LDFLAGS += $(ARCHFLAG) LDFLAGS += $(ARCHFLAG)
--- misc/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200 --- misc/mozilla/security/coreconf/SunOS5.mk Thu Jun 11 02:55:32 2009
+++ misc/build/mozilla/security/coreconf/SunOS5.mk 2009-09-17 10:42:17.845459669 +0200 +++ misc/build/mozilla/security/coreconf/SunOS5.mk Fri Nov 27 13:07:24 2009
@@ -89,8 +89,12 @@ @@ -89,8 +89,12 @@
# OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer # OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
endif endif
...@@ -84,8 +84,8 @@ ...@@ -84,8 +84,8 @@
ASFLAGS += -Wa,-P ASFLAGS += -Wa,-P
OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG) OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
ifndef BUILD_OPT ifndef BUILD_OPT
--- misc/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200 --- misc/mozilla/security/coreconf/arch.mk Fri Jun 5 04:14:49 2009
+++ misc/build/mozilla/security/coreconf/arch.mk 2009-09-17 10:45:27.710858021 +0200 +++ misc/build/mozilla/security/coreconf/arch.mk Fri Nov 27 13:07:24 2009
@@ -324,7 +324,12 @@ @@ -324,7 +324,12 @@
# IMPL_STRATEGY may be defined too. # IMPL_STRATEGY may be defined too.
# #
...@@ -100,8 +100,8 @@ ...@@ -100,8 +100,8 @@
ifeq (,$(filter-out WIN%,$(OS_TARGET))) ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifndef BUILD_OPT ifndef BUILD_OPT
--- misc/mozilla/security/coreconf/rules.mk 2009-08-11 05:23:39.000000000 +0200 --- misc/mozilla/security/coreconf/rules.mk Tue Aug 11 05:23:39 2009
+++ misc/build/mozilla/security/coreconf/rules.mk 2009-09-17 10:48:07.361462582 +0200 +++ misc/build/mozilla/security/coreconf/rules.mk Fri Nov 27 13:07:24 2009
@@ -355,7 +355,12 @@ @@ -355,7 +355,12 @@
ifdef NS_USE_GCC ifdef NS_USE_GCC
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $< $(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
...@@ -116,9 +116,9 @@ ...@@ -116,9 +116,9 @@
endif endif
@echo $(RES) finished @echo $(RES) finished
endif endif
--- misc/mozilla/security/nss/cmd/platlibs.mk 2009-06-18 01:01:48.000000000 +0200 --- misc/mozilla/security/nss/cmd/platlibs.mk Thu Jun 18 01:01:48 2009
+++ misc/build/mozilla/security/nss/cmd/platlibs.mk 2009-09-17 11:08:16.697236076 +0200 +++ misc/build/mozilla/security/nss/cmd/platlibs.mk Fri Nov 27 13:07:24 2009
@@ -41,27 +41,28 @@ @@ -41,12 +41,13 @@
ifeq ($(OS_ARCH), SunOS) ifeq ($(OS_ARCH), SunOS)
ifeq ($(BUILD_SUN_PKG), 1) ifeq ($(BUILD_SUN_PKG), 1)
ifeq ($(USE_64), 1) ifeq ($(USE_64), 1)
...@@ -135,6 +135,7 @@ ...@@ -135,6 +135,7 @@
endif endif
endif endif
@@ -53,15 +54,15 @@
ifeq ($(OS_ARCH), Linux) ifeq ($(OS_ARCH), Linux)
ifeq ($(BUILD_SUN_PKG), 1) ifeq ($(BUILD_SUN_PKG), 1)
ifeq ($(USE_64), 1) ifeq ($(USE_64), 1)
...@@ -154,3 +155,24 @@ ...@@ -154,3 +155,24 @@
endif endif
endif endif
endif endif
--- misc/mozilla/security/nss/cmd/shlibsign/Makefile Fri Aug 7 21:06:37 2009
+++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile Fri Nov 27 13:07:52 2009
@@ -78,10 +78,15 @@
# sign any and all shared libraries that contain the word freebl
-CHECKLIBS = $(DIST)/lib/$(DLL_PREFIX)softokn3.$(DLL_SUFFIX)
-CHECKLIBS += $(wildcard $(DIST)/lib/$(DLL_PREFIX)freebl*3.$(DLL_SUFFIX))
+# Signing causes loading of some system library which in turn loads
+# libsqlite3. Then it loads libsqulite3 from nss, which does not have the proper
+# version. Therefore signing fails.
+# We cannot build with the system sqlite3, because it is too old (SDK
+# 10.4). Otherwise one could set NSS_USE_SYSTEM_SQLITE=1 and use the system lib.
+#CHECKLIBS = $(DIST)/lib/$(DLL_PREFIX)softokn3.$(DLL_SUFFIX)
+#CHECKLIBS += $(wildcard $(DIST)/lib/$(DLL_PREFIX)freebl*3.$(DLL_SUFFIX))
ifndef NSS_DISABLE_DBM
-CHECKLIBS += $(DIST)/lib/$(DLL_PREFIX)nssdbm3.$(DLL_SUFFIX)
+#CHECKLIBS += $(DIST)/lib/$(DLL_PREFIX)nssdbm3.$(DLL_SUFFIX)
endif
CHECKLOC = $(CHECKLIBS:.$(DLL_SUFFIX)=.chk)
mkdir: %_DEST%\inc%_EXT%\mozilla\nspr mkdir: %_DEST%\inc%_EXT%\mozilla\nspr
mkdir: %_DEST%\inc%_EXT%\mozilla\nspr\obsolete mkdir: %_DEST%\inc%_EXT%\mozilla\nspr\obsolete
mkdir: %_DEST%\inc%_EXT%\mozilla\nss mkdir: %_DEST%\inc%_EXT%\mozilla\nss
mkdir: %_DEST%\lib%_EXT%\sqlite
..\%__SRC%\inc\include\* %_DEST%\inc%_EXT%\mozilla\nspr ..\%__SRC%\inc\include\* %_DEST%\inc%_EXT%\mozilla\nspr
..\%__SRC%\inc\include\obsolete\protypes.h %_DEST%\inc%_EXT%\mozilla\nspr\obsolete\protypes.h ..\%__SRC%\inc\include\obsolete\protypes.h %_DEST%\inc%_EXT%\mozilla\nspr\obsolete\protypes.h
..\%__SRC%\inc\nss\*.h %_DEST%\inc%_EXT%\mozilla\nss ..\%__SRC%\inc\nss\*.h %_DEST%\inc%_EXT%\mozilla\nss
..\%__SRC%\lib\* %_DEST%\lib%_EXT%
..\%__SRC%\lib\libfreebl3.* %_DEST%\lib%_EXT%\libfreebl.*
..\%__SRC%\lib\libfreebl_32fpu_3.* %_DEST%\lib%_EXT%\libfreebl_32fpu_3.*
..\%__SRC%\lib\libfreebl_32int64_3.* %_DEST%\lib%_EXT%\libfreebl_32int64_3.*
..\%__SRC%\lib\libfreebl_32int_3.* %_DEST%\lib%_EXT%\libfreebl_32int_3.*
..\%__SRC%\lib\libfreebl_64int_3.* %_DEST%\lib%_EXT%\libfreebl_64int_3.*
..\%__SRC%\lib\libfreebl_64fpu_3.* %_DEST%\lib%_EXT%\libfreebl_64fpu_3.*
..\%__SRC%\lib\libnspr4.* %_DEST%\lib%_EXT%\libnspr4.*
..\%__SRC%\lib\libnss3.* %_DEST%\lib%_EXT%\libnss3.*
..\%__SRC%\lib\libnssckbi.* %_DEST%\lib%_EXT%\libnssckbi.*
..\%__SRC%\lib\libnssdbm3.* %_DEST%\lib%_EXT%\libnssdbm3.*
..\%__SRC%\lib\libnssutil3.* %_DEST%\lib%_EXT%\libnssutil3.*
..\%__SRC%\lib\libplc4.* %_DEST%\lib%_EXT%\libplc4.*
..\%__SRC%\lib\libplds4.* %_DEST%\lib%_EXT%\libplds4.*
..\%__SRC%\lib\libsmime3.* %_DEST%\lib%_EXT%\libsmime3.*
..\%__SRC%\lib\libsoftokn3.* %_DEST%\lib%_EXT%\libsoftokn3.*
..\%__SRC%\lib\libssl3.* %_DEST%\lib%_EXT%\libssl3.*
..\%__SRC%\lib\libsqlite3.* %_DEST%\lib%_EXT%\sqlite\libsqlite3.*
..\%__SRC%\bin\* %_DEST%\bin%_EXT% ..\%__SRC%\bin\* %_DEST%\bin%_EXT%
...@@ -26,7 +26,11 @@ Fips 140 mode is not supported. That is, the *.chk files containing the ...@@ -26,7 +26,11 @@ Fips 140 mode is not supported. That is, the *.chk files containing the
checksums for the cryptographic module are not delivered into solver and will checksums for the cryptographic module are not delivered into solver and will
not be part of the OOo installation sets. not be part of the OOo installation sets.
The *chk files do not match the libraries because we change the rpatch. Signing has been turned off because
- we change the rpath (install names) after signing which breaks the signatures
(Mac)
- sqlite conflicts with the system sqlite when signing which breaks the build
libfreebl3 libfreebl3
---------- ----------
...@@ -37,7 +41,6 @@ ooo/moz/extractfiles.mk ...@@ -37,7 +41,6 @@ ooo/moz/extractfiles.mk
ooo/moz/zipped/makefile.mk ooo/moz/zipped/makefile.mk
sun/moz_prebuilt/zipped/makefile.mk sun/moz_prebuilt/zipped/makefile.mk
See also See also
http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
...@@ -53,4 +56,20 @@ The direct link: ...@@ -53,4 +56,20 @@ The direct link:
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.3.exe http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.3.exe
libsqlite3
----------
The problem described here was found on Mac with OS 10.6
NSS cannot use the system sqlite on Mac because the base line is still MacOS
10.4. That system sqlite is incompatible with the softokn3 in nss which requires
a later version of sqlite.
When we used a more current Mac SDK then we could set
NSS_USE_SYSTEM_SQLITE=1
to build using the system sqlite.
We cannot deliver sqlite in the lib directory of the solver. This directory is
used by tools of the build environment. Using the sqlite from NSS breaks the
tools if they use system libraries which are linked with the system
sqlite. Therefore we deliver it into lib/sqlite on unix systems.
See also issue
http://qa.openoffice.org/issues/show_bug.cgi?id=106132
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment