Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

gcc-4.3.3 compiling php-5.3.1 and extensions

807737Nov 22 2009 — edited Nov 30 2009
Hi, I am using gcc-4.3.3 to compile and Apache/PHP/Oracle/Mysql stack.

I have got through building all the core components I wanted included eg:
aspell-0.60.6
gettext-0.17
instantclient_11_1
mysql-5.1.40
tidy
curl-7.19.7
httpd-2.2.14
mm-1.4.2
openssl-0.9.8l

All of the above were compiled and linked successfuly against objects and modules required by php 5.3.1
FIrst time, I used a lot of optimisations, but have since recompiled everything with no opts at all, for the purpose of testing my problem.

When I compile PHP itself, it parses the configure script successfully and locates all the modules above.

When I compile PHP, it fails in various ways on the curl extension:
/bin/sh /opt/src/cwis/php-5.3.1/libtool --silent --preserve-dup-deps --mode=compile gcc  -Iext/curl/ -I/opt/src/cwis/php-5.3.1/ext/curl/ -DPHP_ATOM_INC -I/opt/src/cwis/php-5.3.1/include -I/opt/src/cwis/php-5.3.1/main -I/opt/src/cwis/php-5.3.1 -I/opt/src/cwis/php-5.3.1/ext/date/lib -I/opt/src/cwis/php-5.3.1/ext/ereg/regex -I/usr/include/libxml2 -I/opt/app/cwis/support/openssl/include -I/opt/app/cwis/support/curl/include -I/usr/sfw/include -I/usr/sfw/include/freetype2 -I/opt/app/cwis/support/gettext/include -I/opt/app/cwis/support/mysql/include/mysql -I/opt/app/cwis/support/oracle/instantclient_11_1/sdk/include -I/opt/src/cwis/php-5.3.1/ext/sqlite3/libsqlite -I/opt/app/cwis/support/aspell/include/pspell -I/opt/sfw/include -I/opt/app/cwis/support/mm/include -I/opt/src/cwis/tidy/include -I/opt/src/cwis/php-5.3.1/TSRM -I/opt/src/cwis/php-5.3.1/Zend  -I/opt/app/cwis/support/openssl/include -I/opt/app/cwis/support/mysql/include -I/opt/app/cwis/support/apache/include -I/opt/app/cwis/support/curl/include -I/opt/src/cwis/tidy/include -I/opt/app/cwis/support/aspell/include -I/opt/app/cwis/support/oracle/include -I/opt/app/cwis/support/mm/include -I/opt/app/cwis/support/gettext/include -D_POSIX_PTHREAD_SEMANTICS  -I/usr/include -g -O2   -c /opt/src/cwis/php-5.3.1/ext/curl/interface.c -o ext/curl/interface.lo 
/opt/src/cwis/php-5.3.1/ext/curl/interface.c: In function '_php_curl_setopt':
/opt/src/cwis/php-5.3.1/ext/curl/interface.c:1774: warning: call to '_curl_easy_setopt_err_progress_cb' declared with attribute warning: curl_easy_setopt expects a curl_progress_callback argument for this option
/opt/src/cwis/php-5.3.1/Zend/zend_operators.h:230: internal compiler error: in int_mode_for_mode, at stor-layout.c:258
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://forum.java.sun.com/forum.jspa?forumID=905> for instructions.
gmake: *** [ext/curl/interface.lo] Error 1
If I compile the same stack with optimisations, I get a different set of errors on various modules, plus the compiler will segfault.

Any advice would be very helpful. I will try to post the errors with opts I am getting as well.

Comments

jtahlborn
Basically, java wasn't designed to be that low level. Other than that, probably no good reason.
800670
Yes, I see, but why isn´t it possible to write the header myself when it consists of usual bytes? That is what I can not understand.
EJP
At a guess it is because either (a) using raw sockets requires privileges and/or (b) Microsoft keep changing the raw sockets API or (c) it's a general-purpose programming language and why would you want to do that?
++sja
You can do raw sockets with third party libraries. They won't be pure java - but you didn't really expect to do raw sockets on your cell phone or TV set top box, or spy and spoof someone's network using an applet.

The FAQ for one such library hints what kind of a mess raw sockets are due to differences in common operating systems; see http://www.savarese.com/software/rocksaw/
At least to some extent the windows API didn't support raw access when java first came out.

So lowest common denominator would be a more likely explanation.
1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 28 2009
Added on Nov 22 2009
8 comments
932 views