pbiggar / phc

A compiler for PHP
132 stars 37 forks source link

Error compiling php on MacOs X (10.5, 10.6) #151

Open pbiggar opened 9 years ago

pbiggar commented 9 years ago
What steps will reproduce the problem?
1. Download PHP' source version (5.2.17)
2. Use " CFLAGS="-O3" ./configure --enable-bcmath --with-gmp --with-mysql --enable-embed
"
3. Use "Make"

What is the expected output? What do you see instead?

make: *** [sapi/cli/php] Error 1
make: *** Waiting for unfinished jobs....
ld: duplicate symbol _yytext in Zend/.libs/zend_ini_scanner.o and 
Zend/.libs/zend_language_scanner.o
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1

What version of the product are you using? On what operating system?

Use php : 5.2.17
Use phc : 0.3.0.1

On Mac Os X 10.5 (Leopard) and 10.6 (Snow Leopard)

Please provide any additional information below.

I know this is not a problem in your code but as you indicate in the documentation
on how to install Mac OS.

How did you do?

Original issue reported on code.google.com by Corentin.ALLEMAND on 2011-11-10 08:36:12

pbiggar commented 9 years ago
Does it compile if you leave out --enable-embed?

Original issue reported on code.google.com by paul.biggar on 2011-11-10 21:30:55

pbiggar commented 9 years ago
Yes but phc need to compile with '--enable-embed' no ?

Original issue reported on code.google.com by Corentin.ALLEMAND on 2011-11-11 15:06:46

pbiggar commented 9 years ago
Yes it does, but I was curious about whether that worked.

This is pretty awkward to fix. I think you would have to change the source for one
of the flex scanners to use a different prefix - that way they'd end up with different
symbol names.

An alternative is to turn off one of those scanners, probably the ini one. Does PHP
come with an option for that?

Original issue reported on code.google.com by paul.biggar on 2011-11-11 17:42:32

pbiggar commented 9 years ago
I got the same problem.
I'm using php 5.3.10 / 5.4 and phc 0.3.0.1
My OS is Mac OS X 10.7.2 Lion

Original issue reported on code.google.com by smartPG on 2012-03-04 12:13:07

pbiggar commented 9 years ago
For embed mode php have a two ways:
1.
"--enable-embed=shared" or "--enable-embed=static", it cannot be without value.
2. 
or with empty value like "--enable-embed", it needs "--disable-cli". Cli can enable
later with phpize.

but still have a boost insues. With flags -m64 boost fail FOREACH, on -m32 do not detect
boost-regex, or linker fail.

Original issue reported on code.google.com by ydk2@hotmail.com on 2013-06-22 04:40:24

pbiggar commented 9 years ago
Ok I build PHC on OSX 10.7.5, but i change configure file to can build in php build
folder. (LD problem for link static lphp5)
build with 5.3.10 and 5.4.13, work fine but I can't compile generated file. i added
generated in attachment.
GCC errors:
test.c: In function ‘get_st_entry’:
test.c:341:7: warning: unused variable ‘result’ [-Wunused-variable]
test.c: In function ‘get_integer_index’:
test.c:367:8: warning: unused variable ‘index’ [-Wunused-variable]
test.c: In function ‘ht_update’:
test.c:560:7: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
test.c: In function ‘push_and_index_ht’:
test.c:867:7: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
test.c:886:7: warning: unused variable ‘result’ [-Wunused-variable]
test.c: In function ‘initialize_method_call’:
test.c:1084:10: error: too few arguments to function ‘(*obj)->value.obj.handlers->get_method’
test.c: In function ‘initialize_constructor_call’:
test.c:1106:5: warning: ‘return’ with no value, in function returning non-void [-Wreturn-type]
test.c: In function ‘phc_declare_property’:
test.c:1235:3: warning: passing argument 1 of ‘_efree’ discards ‘const’ qualifier from
pointer target type [enabled by default]
In file included from /Users/ydk2/Desktop/php-build-stub/Zend/zend.h:237:0,
                 from /Users/ydk2/Desktop/php-build-stub/main/php.h:34,
                 from test.c:20:
/Users/ydk2/Desktop/php-build-stub/Zend/zend_alloc.h:60:15: note: expected ‘void *’
but argument is of type ‘const char *’
test.c:1223:7: warning: variable ‘rc’ set but not used [-Wunused-but-set-variable]
test.c: In function ‘include_backend’:
test.c:1542:17: warning: unused variable ‘zf’ [-Wunused-variable]
test.c:1541:18: warning: unused variable ‘new_op_array’ [-Wunused-variable]
test.c: In function ‘zif_readln’:
test.c:2260:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:2269:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:2399:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:2417:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:2360:8: warning: unused variable ‘success’ [-Wunused-variable]
test.c:2442:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:2529:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:2552:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:2490:8: warning: unused variable ‘success’ [-Wunused-variable]
test.c:2577:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:2673:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:2696:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:2634:8: warning: unused variable ‘success’ [-Wunused-variable]
test.c:2721:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:2817:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:2835:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:2778:8: warning: unused variable ‘success’ [-Wunused-variable]
test.c: In function ‘zif___MAIN__’:
test.c:3538:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:3634:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:3652:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:3595:8: warning: unused variable ‘success’ [-Wunused-variable]
test.c:3677:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:3764:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:3787:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:3725:8: warning: unused variable ‘success’ [-Wunused-variable]
test.c:3857:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:3944:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:3967:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:3905:8: warning: unused variable ‘success’ [-Wunused-variable]
test.c:4089:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:4098:44: error: ‘struct <anonymous>’ has no member named ‘pass_rest_by_reference’
test.c:4228:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:4243:25: error: ‘struct <anonymous>’ has no member named ‘return_reference’
test.c:4189:8: warning: unused variable ‘success’ [-Wunused-variable]
test.c:4484:8: warning: unused variable ‘result’ [-Wunused-variable]
test.c:4577:8: warning: unused variable ‘result’ [-Wunused-variable]
test.c: At top level:
test.c:4766:1: error: unknown type name ‘function_entry’
test.c:4767:1: warning: braces around scalar initializer [enabled by default]
test.c:4767:1: warning: (near initialization for ‘app_functions[0]’) [enabled by default]
test.c:4767:1: warning: initialization makes integer from pointer without a cast [enabled
by default]
test.c:4767:1: warning: (near initialization for ‘app_functions[0]’) [enabled by default]
test.c:4767:1: error: initializer element is not computable at load time
test.c:4767:1: error: (near initialization for ‘app_functions[0]’)
test.c:4767:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4767:1: warning: (near initialization for ‘app_functions[0]’) [enabled by default]
test.c:4767:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4767:1: warning: (near initialization for ‘app_functions[0]’) [enabled by default]
test.c:4767:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4767:1: warning: (near initialization for ‘app_functions[0]’) [enabled by default]
test.c:4767:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4767:1: warning: (near initialization for ‘app_functions[0]’) [enabled by default]
test.c:4768:1: warning: braces around scalar initializer [enabled by default]
test.c:4768:1: warning: (near initialization for ‘app_functions[1]’) [enabled by default]
test.c:4768:1: warning: initialization makes integer from pointer without a cast [enabled
by default]
test.c:4768:1: warning: (near initialization for ‘app_functions[1]’) [enabled by default]
test.c:4768:1: error: initializer element is not computable at load time
test.c:4768:1: error: (near initialization for ‘app_functions[1]’)
test.c:4768:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4768:1: warning: (near initialization for ‘app_functions[1]’) [enabled by default]
test.c:4768:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4768:1: warning: (near initialization for ‘app_functions[1]’) [enabled by default]
test.c:4768:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4768:1: warning: (near initialization for ‘app_functions[1]’) [enabled by default]
test.c:4768:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4768:1: warning: (near initialization for ‘app_functions[1]’) [enabled by default]
test.c:4769:1: warning: braces around scalar initializer [enabled by default]
test.c:4769:1: warning: (near initialization for ‘app_functions[2]’) [enabled by default]
test.c:4769:1: warning: initialization makes integer from pointer without a cast [enabled
by default]
test.c:4769:1: warning: (near initialization for ‘app_functions[2]’) [enabled by default]
test.c:4769:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4769:1: warning: (near initialization for ‘app_functions[2]’) [enabled by default]
test.c:4769:1: warning: excess elements in scalar initializer [enabled by default]
test.c:4769:1: warning: (near initialization for ‘app_functions[2]’) [enabled by default]
test.c:4775:1: warning: initialization from incompatible pointer type [enabled by default]
test.c:4775:1: warning: (near initialization for ‘app_module_entry.functions’) [enabled
by default]
test.c: In function ‘main’:
test.c:4814:4: warning: useless type name in empty declaration [enabled by default]
test.c:4834:11: warning: unused variable ‘success’ [-Wunused-variable]
test.c: At top level:
test.c:126:1: warning: ‘ht_var_debug’ defined but not used [-Wunused-function]
test.c:147:13: warning: ‘init_counters’ defined but not used [-Wunused-function]
test.c:154:13: warning: ‘finalize_counters’ defined but not used [-Wunused-function]
test.c:173:13: warning: ‘increment_counter’ defined but not used [-Wunused-function]
test.c:251:1: warning: ‘sep_change_on_write’ defined but not used [-Wunused-function]
test.c:386:1: warning: ‘read_string_index’ defined but not used [-Wunused-function]
test.c:545:1: warning: ‘check_array_index_type’ defined but not used [-Wunused-function]
test.c:639:1: warning: ‘ht_exists’ defined but not used [-Wunused-function]
test.c:747:1: warning: ‘get_field’ defined but not used [-Wunused-function]
test.c:832:1: warning: ‘check_object_type’ defined but not used [-Wunused-function]
test.c:855:1: warning: ‘push_and_index_ht’ defined but not used [-Wunused-function]
test.c:900:1: warning: ‘isset_var’ defined but not used [-Wunused-function]
test.c:906:1: warning: ‘isset_array’ defined but not used [-Wunused-function]
test.c:1053:1: warning: ‘initialize_method_call’ defined but not used [-Wunused-function]
test.c:1101:1: warning: ‘initialize_constructor_call’ defined but not used [-Wunused-function]
test.c:1220:1: warning: ‘phc_declare_property’ defined but not used [-Wunused-function]
test.c:1245:1: warning: ‘cast_var’ defined but not used [-Wunused-function]
test.c:1313:1: warning: ‘check_unset_index_type’ defined but not used [-Wunused-function]
test.c:1332:1: warning: ‘unset_var’ defined but not used [-Wunused-function]
test.c:1338:1: warning: ‘unset_array’ defined but not used [-Wunused-function]
test.c:1426:1: warning: ‘phc_builtin_eval’ defined but not used [-Wunused-function]
test.c:1468:1: warning: ‘phc_builtin_die’ defined but not used [-Wunused-function]
test.c:1650:1: warning: ‘phc_builtin_require’ defined but not used [-Wunused-function]
test.c:1663:1: warning: ‘phc_builtin_include_once’ defined but not used [-Wunused-function]
test.c:1676:1: warning: ‘phc_builtin_require_once’ defined but not used [-Wunused-function]
test.c: In function ‘get_integer_index’:
test.c:383:1: warning: control reaches end of non-void function [-Wreturn-type]
make: *** [test] Error 1

Original issue reported on code.google.com by ydk2@hotmail.com on 2013-07-02 23:36:48