All,
The following patch lets Apache build on the MacOSX 10.1 platform:
===================================================================
RCS file: /home/cvspublic/apache-1.3/src/Configure,v
retrieving revision 1.433
diff -u -r1.433 Configure
--- Configure 2001/10/03 12:59:03 1.433
+++ Configure 2001/10/03 18:27:19
@@ -1149,7 +1149,14 @@
*-apple-rhapsody* | *-apple-darwin* )
LD_SHLIB="cc"
CFLAGS_SHLIB=""
- LDFLAGS_SHLIB='$(EXTRA_LDFLAGS) -bundle -undefined suppress'
+ case "$PLAT" in
+ *-apple-darwin1.4 )
+ LDFLAGS_SHLIB='$(EXTRA_LDFLAGS) -bundle -undefined
suppress -flat_namespace'
+ ;;
+ * )
+ LDFLAGS_SHLIB='$(EXTRA_LDFLAGS) -bundle -undefined
suppress'
+ ;;
+ esac
LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
LDFLAGS_SHLIB_EXPORT=""
SHLIB_SUFFIX_DEPTH=0
===================================================================
Discussion:
On 10.1 (Darwin 1.4.1), Apple introduced a feature called Two-Level
Namespace Executables where symbols are recorded along with the library they
are to be loaded from. Cool feature, but it breaks the Apache build because
it doesn't allow leaving symbols undefined. My patch moves us back to the
flat namespace.
Apple themselves attempt to fix this the correct way (from the src/Configure
in the package that the MacOSX/Darwin apache is built with):
LDFLAGS_SHLIB='$(EXTRA_LDFLAGS) -bundle -bundle_loader /usr/sbin/httpd'
...where they provide the file that contains the missing symbols. However,
this has two disadvantages: 1) hard-coding a path to the executable 2)
expects to find an executable already compiled, so this will only build on
systems that already have a httpd in that place. Chicken and egg. If my
impression from the make output is correct, httpd gets linked *last* so will
not be available for its modules to link against. So, I suggest to go back
to the old ways for now.
Test status: Works On My Laptop. (:
S.
--
Covalent Technologies [EMAIL PROTECTED]
Engineering group Voice: (415) 536 5214
645 Howard St. Fax: (415) 536 5210
San Francisco CA 94105
PGP Fingerprint: 1E74 4E58 DFAC 2CF5 6A03 5531 AFB1 96AF B584 0AB1
=======================================================
This email message is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. Any unauthorized review,
use, disclosure or distribution is prohibited. If you are not the intended
recipient, please contact the sender by reply email and destroy all copies
of the original message
=======================================================