Opened 7 years ago

Closed 7 years ago

Last modified 4 years ago

#9379 closed defect (fixed)

php5 compile error target x86

Reported by: anonymous Owned by: mhei
Priority: normal Milestone: Backfire 10.03.1
Component: packages Version: Trunk
Keywords: Cc:


Backfire rev 26847, php5 do not compile for x86 target.
Compile ends in this error:

Zend/zend_execute.lo sapi/cgi/cgi_main.lo sapi/cgi/fastcgi.lo main/internal_functions.lo -lcrypt -lcrypt -lz -lpcre -lm -lcrypt -lcrypt  -o sapi/cgi/php-cgi
ext/standard/.libs/php_crypt_r.o: In function `_crypt_extended_init_r':
php_crypt_r.c:(.text+0x4c1): undefined reference to `membar_producer'
php_crypt_r.c:(.text+0x4cf): undefined reference to `atomic_add_int'
collect2: ld returned 1 exit status
make[3]: *** [sapi/cgi/php-cgi] Error 1

Attachments (1)

100-fix-membar-producer.patch (438 bytes) - added by mhei 7 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 follow-up: Changed 7 years ago by jow

  • Resolution set to obsolete
  • Status changed from new to closed

This should be fixed since ages by r25335 and subsequent php5 updates. Make sure your feed is current.

comment:2 Changed 7 years ago by anonymous

My feed is updated, the patch in r25335 is included/merged in the source.
I did find some info, I don't understand what that last comment means:

comment:3 in reply to: ↑ 1 Changed 7 years ago by anonymous

  • Resolution obsolete deleted
  • Status changed from closed to reopened

The patch introduced in r25335 was removed in r26732. I'm getting the same result.

comment:4 Changed 7 years ago by anonymous

BTW, shouldn't this fail for GCC < 4.2 ? Isn't 4.1.2 the default?

#elif (defined(__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR__ >= 2))

comment:5 Changed 7 years ago by mhei

  • Owner changed from developers to mhei
  • Status changed from reopened to assigned

comment:6 Changed 7 years ago by mhei

According to the function __sync_fetch_and_add is available in backfire.

So it seems to make no sense NOT to use this code path.

Please give the attached patch a try by saving e.g. as lang/php5/patches/100-fix-membar-producer.patch and run a clean/compile cycle.

Compilation completed for me, but I didn't test the binaries yet.

Changed 7 years ago by mhei

comment:7 Changed 7 years ago by mhei

  • Resolution set to fixed
  • Status changed from assigned to closed

As the patch was accepted upstream ( I also committed the patch in r26965. Thanks for the report.

Add Comment

Modify Ticket

as closed .
The resolution will be deleted. Next status will be 'reopened'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.