Home  |  Linux  | Mysql  | PHP  | XML
From:Christopher Thompson Date:Fri Apr 25 11:54:23 2008
Subject:OS X, --enable-embed problem, bug 44462
Hello.

I am trying to get PHP 5.2.5 to compile on OS X with the following 
configuration:
../configure --enable-embed

As per bug 44462, this fails during the compile.  I believe the 
following may resolve the issue.

Modify php-5.2.5/Zend/zend_ini_scanner.c:
--- /Users/cthompson/php-5.2.5.clean/Zend/zend_ini_scanner.c	2007-11-08 
09:36:37.000000000 -0600
+++ ./zend_ini_scanner.c	2008-04-25 10:16:27.000000000 -0600
@@ -478,7 +478,7 @@
  #define yymore() yymore_used_but_not_detected
  #define YY_MORE_ADJ 0
  #define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
+//char *yytext;
  #define INITIAL 0
  /*
 
+----------------------------------------------------------------------+


Modify php-5.2.5/Zend/zend_language_scanner.c:
--- /Users/cthompson/php-5.2.5.clean/Zend/zend_language_scanner.c 
2007-11-08 09:36:37.000000000 -0600
+++ ./zend_language_scanner.c	2008-04-25 10:17:15.000000000 -0600
@@ -3009,7 +3009,7 @@
  #define yymore() (yy_more_flag = 1)
  #define YY_MORE_ADJ yy_more_len
  #define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
+//char *yytext;
  #define INITIAL 0

  /*


This REMOVES the definition of yytext.  I think this is okay because the 
various defines in those files actually end up using the yy_text in 
zend_global.h, at least as far as I can see.

Certainly, this allows PHP to compile but I am not at all sure if this 
is going to cause other problems.  Could someone please give me some 
feedback?


Additionally, I believe php-5.2.5/sapi/cli/config.m4 should be modified 
to compile using libtool on OS X:
--- /Users/cthompson/php-5.2.5.clean/sapi/cli/config.m4	2007-07-11 
17:20:36.000000000 -0600
+++ ./config.m4	2008-04-25 11:51:57.000000000 -0600
@@ -17,7 +17,7 @@
      BUILD_CLI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg 
\`echo \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) | sed 
's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || 
(\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { 
print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) 
-export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) 
\$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym 
\$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) 
\$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
      ;;
    *darwin*)
-    BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) 
\$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) 
\$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) 
\$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
+    BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) \$(CFLAGS_CLEAN) 
\$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) 
\$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) 
\$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
      ;;
    *netware*)
      BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic 
\$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) 
\$(PHP_RPATHS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) 
-Lnetware -lphp5lib -o \$(SAPI_CLI_PATH)"


Of course, the shipping version of PHP 5.2.5 would then also need the 
php-5.2.5/configure file changing, though presumably this is 
autogenerated from the fragments:
--- /Users/cthompson/php-5.2.5.clean/configure	2007-11-08 
09:36:28.000000000 -0600
+++ ./configure	2008-04-25 11:27:46.000000000 -0600
@@ -9180,7 +9180,7 @@
      BUILD_CLI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg 
\`echo \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) | sed 
's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || 
(\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { 
print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) 
-export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) 
\$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym 
\$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) 
\$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
      ;;
    *darwin*)
-    BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) 
\$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) 
\$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) 
\$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
+    BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) \$(CFLAGS_CLEAN) 
\$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) 
\$(PHP_GLOBAL_OBJS) \$(PHP_CLI_OBJS) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) 
\$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
      ;;
    *netware*)
      BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic 
\$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) 
\$(PHP_RPATHS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) 
-Lnetware -lphp5lib -o \$(SAPI_CLI_PATH)"



Again, I really welcome feedback on this.
Navigate in group php.install at sever news.php.net
Previous Next




  
© No Copyright
You are free to use Anything
Site Maintained by PHP Developer
Powered By PHP Consultants