Compiles fine and seems to work.
Created attachment 98695 [details, diff] eaccelerator-0.9.5_rc1.ebuild.patch Patch I applied to the ebuild to make it compile
PHP peeps, are you going to apply this patch? Just wondering before I verify it works on SPARC.
Weeve, I don't see why should the above patch fix anything compile-wise (neither does CHTEKK). Can you test without that patch and verify?
Here are some details: --enable-eaccelerator seems to be unneeded, but without --with-eaccelerator-userid I get: checking for best shared memory type... anonymous mmap checking for spinlock semaphores support... no checking for pthread semaphores support... no checking for posix semaphores support... no checking for sysvipc semaphores support... yes checking for fcntl semaphores support... yes checking for flock semaphores support... yes checking for best semaphores type... configure: error: You need to pass the user id eaccelerator will be running under when using sysvipc semaphores Here's an emerge --info: Gentoo Base System version 1.12.5 Portage 2.1.1 (default-linux/sparc/sparc64/2006.1, gcc-3.4.6, glibc-2.3.6-r4, 2.6.18 sparc64) ================================================================= System uname: 2.6.18 sparc64 sun4u Last Sync: Sat, 14 Oct 2006 12:50:01 +0000 app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r6 ACCEPT_KEYWORDS="sparc" AUTOCLEAN="yes" CBUILD="sparc-unknown-linux-gnu" CFLAGS="-mcpu=ultrasparc -mtune=ultrasparc -mvis -Wa,-Av8plusa -O2 -pipe -frename-registers" CHOST="sparc-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-mcpu=ultrasparc -mtune=ultrasparc -mvis -Wa,-Av8plusa -O2 -pipe -frename-registers" DISTDIR="/tmp/distfiles" FEATURES="sandbox userfetch userpriv usersandbox" GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo" LANG="en_US.UTF-8" LINGUAS="en de" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="sparc 64bit 7zip adsl apache2 branding bzip2 c++ cdrom cgi clamav clamd cli crosscompile crypt custom-cflags cvs cxx dbus dedicated dhcp disassembler elibc_glibc fast fastcgi fat finger fortran ftp gcc64 gcj gd gif gzip http input_devices_keyboard input_devices_mouse ithreads jpeg jpeg2k kernel_linux linguas_de linguas_en md5sum mssql multiuser mysql nat ncurses net netserver network nfs nls no-old-linux nojava nousb nowin nptl nptlonly oracle orathreads pcre perl php png rdesktop readline reiserfs screen serial server session smp snmp sockets ssl subversion symlink szip tcl tcltk threads threadsonly tiff ultra1 unicode unzip userland_GNU userlocales vfat video_cards_dummy video_cards_sunffb vnc xml xorg xpm zip zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
In testing without the patch, I get the same thing as shown in comment #4
I've fixed the failure by adding "--with-eaccelerator-userid=`id -u ${HTTPD_USER}`" to both dev-php4/eaccelerator and dev-php5/eaccelerator, it indeed seems that, for platforms that support it, it may prefere to use SysV semaphores, and in that case it needs that configure switch. Passing it always doesn't harm anything, especially as eaccelerator is indeed intented to run in mod_php (apache user) setups. So now it should work and you should be able to keyword it @ Weeve, while you're here please also keyword dev-php4/eaccelerator, thanks! Best regards, CHTEKK.
Hrm, still getting failures here (same for dev-php4 and dev-php5 version). error is below: gcc -I. -I/var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5 -DPHP_ATOM_INC -I/var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/include -I/var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/main -I/var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5 -I/usr/lib/php4/include/php -I/usr/lib/php4/include/php/main -I/usr/lib/php4/include/php/TSRM -I/usr/lib/php4/include/php/Zend -DHAVE_CONFIG_H -mcpu=ultrasparc3 -mvis -O2 -pipe -Wa,-Av8plusa -c /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c -fPIC -o .libs/mm.o /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c:638:4: #error "Semaohore type is not selected. Define one of the following: MM_SEM_SPINLOCK, MM_SEM_PTHREAD, MM_SEM_POSIX, MM_SEM_IPC, MM_SEM_FCNTL, MM_SEM_FLOCK, MM_SEM_BEOS, MM_SEM_OS2, MM_SEM_WIN32" /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c:989:4: #error "Shared memeory type is not selected. Define one of the following: MM_SHM_IPC, MM_SHM_MMAP_ANON, MM_SHM_MMAP_ZERO, MM_SHM_MMAP_FILE, MM_SHM_MALLOC, MM_SHM_BEOS, MM_SHM_OS2, MM_SHM_WIN32" /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c: In function `mm_init': /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c:1039: error: `mm_mutex' undeclared (first use in this function) /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c:1039: error: (Each undeclared identifier is reported only once /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c:1039: error: for each function it appears in.) /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c: In function `_mm_create': /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c:1223: warning: assignment makes pointer from integer without a cast /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c: In function `mm_sem_type': /var/tmp/portage/dev-php4/eaccelerator-0.9.5/work/eaccelerator-0.9.5/mm.c:1280: error: `MM_SEM_TYPE' undeclared (first use in this function) make: *** [mm.lo] Error 1 !!! ERROR: dev-php4/eaccelerator-0.9.5 failed. Call stack: ebuild.sh, line 1548: Called dyn_compile ebuild.sh, line 937: Called src_compile eaccelerator-0.9.5.ebuild, line 53: Called php-ext-source-r1_src_compile php-ext-source-r1.eclass, line 69: Called die
Hmmm very strange... That error comes up if it finds no semaphore type... Please be sure to emerge --sync to get the ebuild with the userid switch in it, also are you using "concurrentmodphp"? What USE flags do you emerge dev-php5/eaccelerator with, and what's your emerge --info? What does the configure say when it checks for the semaphore types? Eventually attach config.log too, thanks! Best regards, CHTEKK.
I just compiled dev-php5/eaccelerator-0.9.5 on my sparc just fine. No patch or no changes to the e-build other than adding ~sparc to the keywords. Seems to work fine and makes the site quite zippy in testing. emerge --info: Portage 2.1.1 (default-linux/sparc/sparc64/2006.1, gcc-3.4.6, glibc-2.3.6-r4, 2.6.17-gentoo-r8 sparc64) ================================================================= System uname: 2.6.17-gentoo-r8 sparc64 sun4u Gentoo Base System version 1.12.5 Last Sync: Sat, 28 Oct 2006 05:50:01 +0000 ccache version 2.3 [enabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.6.3, 1.9.6-r2 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r6 ACCEPT_KEYWORDS="sparc" AUTOCLEAN="yes" CBUILD="sparc-unknown-linux-gnu" CFLAGS="-O2 -mcpu=ultrasparc -pipe" CHOST="sparc-unknown-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -mcpu=ultrasparc -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LINGUAS="" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://guido.tomatopi.com/gentoo-portage" USE="sparc apache2 berkdb bzip2 cli cracklib crypt elibc_glibc exif gcc64 gd gdbm gif iconv imlib input_devices_evdev input_devices_keyboard input_devices_mouse jpeg kernel_linux libwww mysql mysqli ncurses nls nptl nptlonly openssl pam pcre perl php png python readline reflection session simplexml spl ssl tcpd udev userland_GNU video_cards_ati video_cards_dummy video_cards_fbdev video_cards_glint video_cards_mga video_cards_savage video_cards_sisusb video_cards_sunbw2 video_cards_suncg14 video_cards_suncg3 video_cards_suncg6 video_cards_sunffb video_cards_sunleo video_cards_tdfx video_cards_v4l video_cards_voodoo xml zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Keyworded ~sparc, 0.9.5 seems fine for both php4 & php5 on stable. Thanks for the report.