php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9708 double #defined V_RENAME, the second
Submitted: 2001-03-12 10:07 UTC Modified: 2001-04-30 08:45 UTC
From: andreas at erestor dot f2s dot com Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.0.4pl1 OS: AIX 4.3
Private report: No CVE-ID: None
 [2001-03-12 10:07 UTC] andreas at erestor dot f2s dot com
Hi, I got this symptom by compiling PHP:
xlc  -I. -I/home/pistoor/php-4.0.4pl1/ext/shmop -I/home/pistoor/php-4.0.4pl1/main -I/home/pistoor/php-4.0.4pl1
-I/home/pistoor/php-4.0.4pl1/Zend -I/home/pistoor/php-4.0.4pl1/ext/mysql/libmysql -I/home/pistoor/php-4.0.4pl1/ext/xml/expat/xmltok -I/home/pistoor/php-4.0.4pl1/ext/xml/expat/xmlparse -I/home/pistoor/php-4.0.4pl1/TSRM  -DXML_BYTE_ORDER=21 -qsource -qshowinc -I/home/pistoor -DHAVE_INT_8_16_32=1  -c shmop.c && touch shmop.lo
"/usr/include/sys/vnode.h", line 102.9: 1506-213 (S) Macro name V_RENAME cannot be redefined.
"/usr/include/sys/vnode.h", line 102.9: 1506-358 (I) "V_RENAME" is defined on line 190 of /home/pistoor/php-4.0.4pl1/TSRM/tsrm_virtual_cwd.h.

 I use the xlc-version of the C Set ++ for AIX compiler, as it is more ANSI-C than the cc-version. It also shows more errors.
 My configuration of PHP (as a CGI-program to be used by Lynx):
CC=xlc ./configure --prefix=/home/pistoor/php \
  --with-config-file-path=/home/pistoor/php --enable-debug \
  --enable-sigchild --enable-calendar --enable-ftp \
  --enable-trans-sid --enable-shmop --with-regex=php \
  --enable-sysvsem --enable-sysvshm --enable-wddx \
  --enable-yp

The file ext/shmop/shmop.c includes sys/shm.h without taking care of V_RENAME. I have inluded some code to save V_RENAME:
#ifdef V_RENAME
#define PHP_V_RENAME V_RENAME
#undef V_RENAME
#endif

#include <sys/ipc.h>
#include <sys/shm.h>

#ifdef PHP_V_RENAME
#ifdef V_RENAME
#undef V_RENAME
#endif
#define V_RENAME PHP_V_RENAME
#undef PHP_V_RENAME
#endif

 Regard
 Andreas Pistoor
PS. I got also the error depending on HAVE_INT_8_16_32!

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-03-13 18:16 UTC] andreas at erestor dot f2s dot com
The alloca.h file, I have written, is this:
#ifndef _H_ALLOCA
#define _H_ALLOCA

#pragma alloca  /*needed, as no alloca in any library of AIX*/
#ifdef _NO_PROTO
        extern void     *alloca();
#else  /* _NO_PROTO */
#include <stdlib.h>     /*size_t is defined in here*/
        extern void     *alloca(size_t);
#endif /* _NO_PROTO */

#endif /* _H_ALLOCA */

Regards
Andreas Pistoor
 [2001-03-13 18:21 UTC] andreas at erestor dot f2s dot com
 Sorry!
 The last comment was put in the wrong context.

 Andreas
 [2001-04-30 08:45 UTC] andi@php.net
This should be fixed in the latest CVS.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 20:01:29 2024 UTC