#35288 [Fbk-Opn]: make test fails on FreeBSD

2005-11-23 Thread webmaster at negeta dot com
 ID:   35288
 User updated by:  webmaster at negeta dot com
 Reported By:  webmaster at negeta dot com
-Status:   Feedback
+Status:   Open
 Bug Type: ICONV related
 Operating System: FreeBSD 5.4
 PHP Version:  5.1.0RC6
 New Comment:

FreeBSD base system has no iconv library
which is usable by other executable.
FreeBSD does not contain the glibc,
and libiconv.so is not installed in base system.

I found '/usr/include/sys/iconv.h',
but it is used by some kernel modules.
Conflict will not occur because PHP does not
include sys/iconv.h.

I removed libiconv and ran './configure',
then following error occured:

% tail -15 config.log
configure:19817: gcc -o conftest -g -O2   -R/usr/local/lib
-L/usr/local/lib conftest.c

 -lm  -lxml2 -lz -liconv -lm 15
/usr/bin/ld: cannot find -liconv
configure: failed program was:
#line 19806 configure
#include confdefs.h


char xmlInitParser();
int main() {
  xmlInitParser();
  return 0;
}


Previous Comments:


[2005-11-23 09:29:38] [EMAIL PROTECTED]

So you didn't read the comment above those checks?
Try removing that libiconv you installed and try again.
And make sure the installation of libiconv did NOT write over the
system iconv.h !!!




[2005-11-21 17:49:34] webmaster at negeta dot com

I ran ./configure

I only installed libiconv-1.9.2 from FreeBSD ports
'converters/libiconv.'

libiconv has C function iconv in 'lib/iconv.c', 
and alias name libiconv is defined in 'include/iconv.h.'
And a program can use iconv as libiconv.

'configure' detects function iconv first.
And it detects libiconv when iconv was not found.
And HAVE_ICONV is defined and HAVE_LIBICONV is not defined.

When 'ext/iconv/iconv.c :line 68' is compiled,
PHP_NAMED_FE(iconv,php_if_iconv, ...
is understood as
PHP_NAMED_FE(libiconv,php_if_iconv, ...
by compiler. Because
#ifdef HAVE_LIBICONV
#undef iconv
#endif
skips undefine iconv.

To solve this, I thought that HAVE_LIBICONV is necessary.
I read acinclude.m4, and found the order of iconv and libiconv.

If 'configure' detect libiconv first,
then it will define HAVE_ICONV and HAVE_LIBICONV.
And if system has only iconv, then it will not define HAVE_LIBICONV.

Maybe Linux system is not influenced by this problem.
Because these system has iconv of glibc, and there is no libiconv.



[2005-11-21 16:06:49] [EMAIL PROTECTED]

What was the configure line used? 
And where exactly is iconv AND libiconv defined in your system? Do you
have 2 different implementations installed under same prefix? If you
do, this is not PHP bug and not possible to solve with that patch.



[2005-11-21 05:35:31] webmaster at negeta dot com

 0. C function iconv is exist, and libiconv is not.
It's not correct and my mistake.
Both functions are available in my system.

Please check libiconv before checking iconv.
Then HAVE_ICONV and HAVE_LIBICONV are defined by configure,
and the problem is not reproduce in my system.

Please commit this patch if it looks like good.
http://www.negeta.com/misc/acinclude.m4.patch



[2005-11-20 11:32:23] webmaster at negeta dot com

Only HAVE_ICONV is exist in my system.

Thank you for your patch, but it is not solve the problem.
This patch is not undef `iconv' when HAVE_LIBICONV is not defined.

As a test, I deleted first #ifdef HAVE_LIBICONV and #endif,
it force undef 'iconv', and problem was not reproduce.
But I can't estimate about side-effect on other system.



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/35288

-- 
Edit this bug report at http://bugs.php.net/?id=35288edit=1


#35288 [Fbk-Opn]: make test fails on FreeBSD

2005-11-21 Thread webmaster at negeta dot com
 ID:   35288
 User updated by:  webmaster at negeta dot com
 Reported By:  webmaster at negeta dot com
-Status:   Feedback
+Status:   Open
 Bug Type: ICONV related
 Operating System: FreeBSD 5.4
 PHP Version:  5.1.0RC6
 New Comment:

I ran ./configure

I only installed libiconv-1.9.2 from FreeBSD ports
'converters/libiconv.'

libiconv has C function iconv in 'lib/iconv.c', 
and alias name libiconv is defined in 'include/iconv.h.'
And a program can use iconv as libiconv.

'configure' detects function iconv first.
And it detects libiconv when iconv was not found.
And HAVE_ICONV is defined and HAVE_LIBICONV is not defined.

When 'ext/iconv/iconv.c :line 68' is compiled,
PHP_NAMED_FE(iconv,php_if_iconv, ...
is understood as
PHP_NAMED_FE(libiconv,php_if_iconv, ...
by compiler. Because
#ifdef HAVE_LIBICONV
#undef iconv
#endif
skips undefine iconv.

To solve this, I thought that HAVE_LIBICONV is necessary.
I read acinclude.m4, and found the order of iconv and libiconv.

If 'configure' detect libiconv first,
then it will define HAVE_ICONV and HAVE_LIBICONV.
And if system has only iconv, then it will not define HAVE_LIBICONV.

Maybe Linux system is not influenced by this problem.
Because these system has iconv of glibc, and there is no libiconv.


Previous Comments:


[2005-11-21 16:06:49] [EMAIL PROTECTED]

What was the configure line used? 
And where exactly is iconv AND libiconv defined in your system? Do you
have 2 different implementations installed under same prefix? If you
do, this is not PHP bug and not possible to solve with that patch.



[2005-11-21 05:35:31] webmaster at negeta dot com

 0. C function iconv is exist, and libiconv is not.
It's not correct and my mistake.
Both functions are available in my system.

Please check libiconv before checking iconv.
Then HAVE_ICONV and HAVE_LIBICONV are defined by configure,
and the problem is not reproduce in my system.

Please commit this patch if it looks like good.
http://www.negeta.com/misc/acinclude.m4.patch



[2005-11-20 11:32:23] webmaster at negeta dot com

Only HAVE_ICONV is exist in my system.

Thank you for your patch, but it is not solve the problem.
This patch is not undef `iconv' when HAVE_LIBICONV is not defined.

As a test, I deleted first #ifdef HAVE_LIBICONV and #endif,
it force undef 'iconv', and problem was not reproduce.
But I can't estimate about side-effect on other system.



[2005-11-19 21:41:37] [EMAIL PROTECTED]

Also, is HAVE_BSD_ICONV defined on your system?



[2005-11-19 21:37:17] [EMAIL PROTECTED]

Try the following patch:
http://bb.prohost.org/patch/iconv.txt



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/35288

-- 
Edit this bug report at http://bugs.php.net/?id=35288edit=1


#35288 [Fbk-Opn]: make test fails on FreeBSD

2005-11-20 Thread webmaster at negeta dot com
 ID:   35288
 User updated by:  webmaster at negeta dot com
 Reported By:  webmaster at negeta dot com
-Status:   Feedback
+Status:   Open
 Bug Type: ICONV related
 Operating System: FreeBSD 5.4
 PHP Version:  5.1.0RC6
 New Comment:

Only HAVE_ICONV is exist in my system.

Thank you for your patch, but it is not solve the problem.
This patch is not undef `iconv' when HAVE_LIBICONV is not defined.

As a test, I deleted first #ifdef HAVE_LIBICONV and #endif,
it force undef 'iconv', and problem was not reproduce.
But I can't estimate about side-effect on other system.


Previous Comments:


[2005-11-19 21:41:37] [EMAIL PROTECTED]

Also, is HAVE_BSD_ICONV defined on your system?



[2005-11-19 21:37:17] [EMAIL PROTECTED]

Try the following patch:
http://bb.prohost.org/patch/iconv.txt



[2005-11-19 17:55:52] webmaster at negeta dot com

I found how this problem occurs on my env.

0. C function iconv is exist, and libiconv is not.
1. configure detects #define HAVE_ICONV 1
  and HAVE_LIBICONV is not defined.
2. #define iconv libiconv in /usr/local/include/iconv.h line 80.
3. #undef iconv is not execute in ext/iconv/iconv.c line 55.
4. `libiconv' links to php_if_iconv in ext/iconv/iconv.c line 68. PHP
function libiconv is created.



[2005-11-19 14:28:02] [EMAIL PROTECTED]

Can't reproduce.
# ./sapi/cli/php -r 'iconv();'

Warning: iconv() expects exactly 3 parameters, 0 given in Command line
code on line 1
# uname -r
5.4-STABLE



[2005-11-19 14:07:12] webmaster at negeta dot com

I installed iconv from /usr/ports/converters/libiconv.
iconv.h is found in /usr/local/include.
I can find #define iconv libiconv in it.



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/35288

-- 
Edit this bug report at http://bugs.php.net/?id=35288edit=1


#35288 [Fbk-Opn]: make test fails on FreeBSD

2005-11-19 Thread webmaster at negeta dot com
 ID:   35288
 User updated by:  webmaster at negeta dot com
 Reported By:  webmaster at negeta dot com
-Status:   Feedback
+Status:   Open
 Bug Type: ICONV related
 Operating System: FreeBSD 5.4
 PHP Version:  5.1.0RC6
 New Comment:

I installed iconv from /usr/ports/converters/libiconv.
iconv.h is found in /usr/local/include.
I can find #define iconv libiconv in it.


Previous Comments:


[2005-11-19 12:17:00] [EMAIL PROTECTED]

Where is iconv.h in your system?
I'm unable to reproduce it on FreeBSD and it's definitely NOT
reproducible on other systems, do a short investigation yourself,
please and provide some info about it.



[2005-11-19 05:16:17] webmaster at negeta dot com

Description:

On FreeBSD, the function iconv is exist as libiconv.
http://www.php.net/manual/en/function.iconv.php#47428

And it causes Call to undefined function error
when make test.
http://marc.theaimsgroup.com/?l=php-qam=113219318201772w=2

Please include a wrapper (wraps above difference)
to test scripts.






-- 
Edit this bug report at http://bugs.php.net/?id=35288edit=1


#35288 [Fbk-Opn]: make test fails on FreeBSD

2005-11-19 Thread webmaster at negeta dot com
 ID:   35288
 User updated by:  webmaster at negeta dot com
 Reported By:  webmaster at negeta dot com
-Status:   Feedback
+Status:   Open
 Bug Type: ICONV related
 Operating System: FreeBSD 5.4
 PHP Version:  5.1.0RC6
 New Comment:

I found how this problem occurs on my env.

0. C function iconv is exist, and libiconv is not.
1. configure detects #define HAVE_ICONV 1
  and HAVE_LIBICONV is not defined.
2. #define iconv libiconv in /usr/local/include/iconv.h line 80.
3. #undef iconv is not execute in ext/iconv/iconv.c line 55.
4. `libiconv' links to php_if_iconv in ext/iconv/iconv.c line 68. PHP
function libiconv is created.


Previous Comments:


[2005-11-19 14:28:02] [EMAIL PROTECTED]

Can't reproduce.
# ./sapi/cli/php -r 'iconv();'

Warning: iconv() expects exactly 3 parameters, 0 given in Command line
code on line 1
# uname -r
5.4-STABLE



[2005-11-19 14:07:12] webmaster at negeta dot com

I installed iconv from /usr/ports/converters/libiconv.
iconv.h is found in /usr/local/include.
I can find #define iconv libiconv in it.



[2005-11-19 12:17:00] [EMAIL PROTECTED]

Where is iconv.h in your system?
I'm unable to reproduce it on FreeBSD and it's definitely NOT
reproducible on other systems, do a short investigation yourself,
please and provide some info about it.



[2005-11-19 05:16:17] webmaster at negeta dot com

Description:

On FreeBSD, the function iconv is exist as libiconv.
http://www.php.net/manual/en/function.iconv.php#47428

And it causes Call to undefined function error
when make test.
http://marc.theaimsgroup.com/?l=php-qam=113219318201772w=2

Please include a wrapper (wraps above difference)
to test scripts.






-- 
Edit this bug report at http://bugs.php.net/?id=35288edit=1