Quantcast

convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'

Mark Craig-2
Hello,


I am trying to compile the LDAP C SDK, but failing to compile convutf8.cpp
as shown inline. What should I do differently to get the C SDK to compile?


Mac OS X 10.5.8

Xcode 3.1.4 developer tools

I put all the code next to my NetBeans projects. Yet I am compiling from the
command line for now.


First I do the NSS step, getting the code from CVS. This all seems to work
fine.


export CVSROOT=:pserver:[hidden email]:/cvsroot

cvs co mozilla/nsprpub

cvs co mozilla/security/coreconf mozilla/security/nss mozilla/security/dbm
mozilla/dbm

cd mozilla/security/nss/

make nss_build_all


Autoconf for the C SDK seems to find NSS and NSPR. But then something goes
haywire with convutf8.cpp...


hg clone http://hg.mozilla.org/projects/ldap-sdks/ mozilla/directory

cd mozilla/directory/c-sdk

./configure --with-nss --with-nspr --enable-clu

make

c++ -o convutf8.o -c     -pipe -Wmost -fno-common -pthread -O   -UDEBUG
-DNDEBUG=1 -DXP_UNIX=1 -DDARWIN=1 -DHAVE_BSD_FLOCK=1 -Di386=1
-DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1
    -DNET_SSL  -DNO_LIBLCACHE -DLDAP_REFERRALS     -DNS_DOMESTIC
-DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM
-I/Users/mark/NetBeansProjects/mozilla/dist/public/nss
-I/Users/mark/NetBeansProjects/mozilla/dist/Darwin9.8.0_DBG.OBJ/include
-I../../../../../dist/public/ldap -I../../../ldap/include  convutf8.cpp

convutf8.cpp: In function 'char* convert_to_utf8(const char*, const char*)':

convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'

convutf8.cpp:236: error:   initializing argument 2 of 'size_t iconv(void*,
char**, size_t*, char**, size_t*)'

convutf8.cpp:239: error: invalid conversion from 'const char**' to 'char**'

convutf8.cpp:239: error:   initializing argument 2 of 'size_t iconv(void*,
char**, size_t*, char**, size_t*)'

convutf8.cpp:242: error: invalid conversion from 'const char**' to 'char**'

convutf8.cpp:242: error:   initializing argument 2 of 'size_t iconv(void*,
char**, size_t*, char**, size_t*)'

make[2]: *** [convutf8.o] Error 1

make[1]: *** [export] Error 2

make: *** [export] Error 2


Thanks for your help.

Regards,

Mark
_______________________________________________
dev-tech-ldap mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-ldap
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'

Rich Megginson
On 01/25/2011 11:00 AM, Mark Craig wrote:

> Hello,
>
>
> I am trying to compile the LDAP C SDK, but failing to compile convutf8.cpp
> as shown inline. What should I do differently to get the C SDK to compile?
>
>
> Mac OS X 10.5.8
>
> Xcode 3.1.4 developer tools
>
> I put all the code next to my NetBeans projects. Yet I am compiling from the
> command line for now.
>
>
> First I do the NSS step, getting the code from CVS. This all seems to work
> fine.
>
>
> export CVSROOT=:pserver:[hidden email]:/cvsroot
>
> cvs co mozilla/nsprpub
>
> cvs co mozilla/security/coreconf mozilla/security/nss mozilla/security/dbm
> mozilla/dbm
>
> cd mozilla/security/nss/
>
> make nss_build_all
>
>
> Autoconf for the C SDK seems to find NSS and NSPR. But then something goes
> haywire with convutf8.cpp...
>
>
> hg clone http://hg.mozilla.org/projects/ldap-sdks/ mozilla/directory
>
> cd mozilla/directory/c-sdk
>
> ./configure --with-nss --with-nspr --enable-clu
>
> make
>
> c++ -o convutf8.o -c     -pipe -Wmost -fno-common -pthread -O   -UDEBUG
> -DNDEBUG=1 -DXP_UNIX=1 -DDARWIN=1 -DHAVE_BSD_FLOCK=1 -Di386=1
> -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1
>      -DNET_SSL  -DNO_LIBLCACHE -DLDAP_REFERRALS     -DNS_DOMESTIC
> -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM
> -I/Users/mark/NetBeansProjects/mozilla/dist/public/nss
> -I/Users/mark/NetBeansProjects/mozilla/dist/Darwin9.8.0_DBG.OBJ/include
> -I../../../../../dist/public/ldap -I../../../ldap/include  convutf8.cpp
>
> convutf8.cpp: In function 'char* convert_to_utf8(const char*, const char*)':
>
> convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'
>
> convutf8.cpp:236: error:   initializing argument 2 of 'size_t iconv(void*,
> char**, size_t*, char**, size_t*)'
>
> convutf8.cpp:239: error: invalid conversion from 'const char**' to 'char**'
>
> convutf8.cpp:239: error:   initializing argument 2 of 'size_t iconv(void*,
> char**, size_t*, char**, size_t*)'
>
> convutf8.cpp:242: error: invalid conversion from 'const char**' to 'char**'
>
> convutf8.cpp:242: error:   initializing argument 2 of 'size_t iconv(void*,
> char**, size_t*, char**, size_t*)'
>
> make[2]: *** [convutf8.o] Error 1
>
> make[1]: *** [export] Error 2
>
> make: *** [export] Error 2
>
>
> Thanks for your help.

Looks like convutf8.cpp was not ported to this platform.  Note that
--enable-clu is not used for Thunderbird builds which is probably why no
one has seen this before.  The problem is here beginning on line 90:
/* Type used for the src parameter to iconv() (the 2nd parameter) */

#if defined(_HPUX_SOURCE) || defined(__GLIBC__)
#define LDAPTOOL_ICONV_SRC_TYPE char ** /* HP/UX and glibc (Linux) */
#else
#define LDAPTOOL_ICONV_SRC_TYPE const char ** /* all others */
#endif

Looks like on this platform the iconv() function expects char ** not
const char **.  Since you're not using HPUX or GLIBC,
LDAPTOOL_ICONV_SRC_TYPE is being defined as const char **.

If you can edit the source or add a patch, you could add an
#ifndef LDAPTOOL_ICONV_SRC_TYPE
...
#endif

block around this code, and add a define of
#define LDAPTOOL_ICONV_SRC_TYPE char **
wherever you set your defines/build flags for your project.

>
> Regards,
>
> Mark

Cheers, Mark!
_______________________________________________
dev-tech-ldap mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-ldap
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'

Mark Craig-2
Thanks Rich,

Anton, (if you are still following these discussions) does what I have
done inline look like the right thing to be doing on Mac OS X?

In mozilla/directory/c-sdk/ldap/clients/tools/convutf8.cpp, I made a
small change based on your suggestion, Rich.

 /* Type used for the src parameter to iconv() (the 2nd parameter) */
-#if defined(_HPUX_SOURCE) || defined(__GLIBC__)
+#if defined(_HPUX_SOURCE) || defined(__GLIBC__) || defined(DARWIN)

That fixed my compilation problem. Yet I found another issue with the binaries.

$ cd /Users/mark/NetBeansProjects/mozilla/dist
$ export DYLD_LIBRARY_PATH=/Users/mark/NetBeansProjects/mozilla/dist/Darwin9.8.0_DBG.OBJ/lib
$ ./bin/ldapsearch -p 1389 -b dc=example,dc=com uid=user.0
ldapsearch: conversion from 646 to UTF-8 is not supported
ldapsearch: warning: no conversion of filter to UTF-8
ldapsearch: conversion from 646 to UTF-8 is not supported
ldapsearch: warning: no conversion of base DN to UTF-8

So I made an additional change to convutf8.cpp. Here's the diff
showing both changes.

$ hg diff ldap/clients/tools/convutf8.cpp
diff -r 3f7d52e53a9d c-sdk/ldap/clients/tools/convutf8.cpp
--- a/c-sdk/ldap/clients/tools/convutf8.cpp Thu Jan 06 12:12:22 2011 +0000
+++ b/c-sdk/ldap/clients/tools/convutf8.cpp Wed Jan 26 09:47:53 2011 +0100
@@ -83,13 +83,15 @@
 #elif defined(_WIN32)
 #define LDAPTOOL_CHARSET_DEFAULT "windows-1252" /* Windows */
 #define LDAPTOOL_CHARSET_WINANSI "ANSI" /* synonym */
+#elif defined(DARWIN)
+#define LDAPTOOL_CHARSET_DEFAULT "UTF-8" /* Mac OS X */
 #else
 #define LDAPTOOL_CHARSET_DEFAULT "646" /* all others */
 #endif

 /* Type used for the src parameter to iconv() (the 2nd parameter) */
-#if defined(_HPUX_SOURCE) || defined(__GLIBC__)
-#define LDAPTOOL_ICONV_SRC_TYPE char ** /* HP/UX and glibc (Linux) */
+#if defined(_HPUX_SOURCE) || defined(__GLIBC__) || defined(DARWIN)
+#define LDAPTOOL_ICONV_SRC_TYPE char ** /* HP/UX, glibc (Linux), and
Mac OS X */
 #else
 #define LDAPTOOL_ICONV_SRC_TYPE const char ** /* all others */
 #endif

Now, after I compile again, at least ldapsearch seems to work.

$ ./bin/ldapsearch -p 1389 -b dc=example,dc=com uid=user.0
version: 1
dn: uid=user.0,ou=People,dc=example,dc=com
postalAddress: Aaccf Amar$01251 Chestnut Street$Panama City, DE  50369
postalCode: 50369
uid: user.0
description: This is the description for Aaccf Amar.
employeeNumber: 0
initials: ASA
givenName: Aaccf
objectClass: person
objectClass: inetorgperson
objectClass: organizationalperson
objectClass: top
pager: +1 779 041 6341
mobile: +1 010 154 3228
cn: Aaccf Amar
telephoneNumber: +1 685 622 6202
sn: Amar
street: 01251 Chestnut Street
homePhone: +1 225 216 5900
mail: [hidden email]
l: Panama City
st: DE

Again, thanks for getting me unstuck. Hope you're having a good new year.

Regards,
Mark

On Wed, Jan 26, 2011 at 4:19 AM, Rich Megginson
<[hidden email]> wrote:

>
> On 01/25/2011 11:00 AM, Mark Craig wrote:
>>
>> Hello,
>>
>>
>> I am trying to compile the LDAP C SDK, but failing to compile convutf8.cpp
>> as shown inline. What should I do differently to get the C SDK to compile?
>>
>>
>> Mac OS X 10.5.8
>>
>> Xcode 3.1.4 developer tools
>>
>> I put all the code next to my NetBeans projects. Yet I am compiling from the
>> command line for now.
>>
>>
>> First I do the NSS step, getting the code from CVS. This all seems to work
>> fine.
>>
>>
>> export CVSROOT=:pserver:[hidden email]:/cvsroot
>>
>> cvs co mozilla/nsprpub
>>
>> cvs co mozilla/security/coreconf mozilla/security/nss mozilla/security/dbm
>> mozilla/dbm
>>
>> cd mozilla/security/nss/
>>
>> make nss_build_all
>>
>>
>> Autoconf for the C SDK seems to find NSS and NSPR. But then something goes
>> haywire with convutf8.cpp...
>>
>>
>> hg clone http://hg.mozilla.org/projects/ldap-sdks/ mozilla/directory
>>
>> cd mozilla/directory/c-sdk
>>
>> ./configure --with-nss --with-nspr --enable-clu
>>
>> make
>>
>> c++ -o convutf8.o -c     -pipe -Wmost -fno-common -pthread -O   -UDEBUG
>> -DNDEBUG=1 -DXP_UNIX=1 -DDARWIN=1 -DHAVE_BSD_FLOCK=1 -Di386=1
>> -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1
>>     -DNET_SSL  -DNO_LIBLCACHE -DLDAP_REFERRALS     -DNS_DOMESTIC
>> -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM
>> -I/Users/mark/NetBeansProjects/mozilla/dist/public/nss
>> -I/Users/mark/NetBeansProjects/mozilla/dist/Darwin9.8.0_DBG.OBJ/include
>> -I../../../../../dist/public/ldap -I../../../ldap/include  convutf8.cpp
>>
>> convutf8.cpp: In function 'char* convert_to_utf8(const char*, const char*)':
>>
>> convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'
>>
>> convutf8.cpp:236: error:   initializing argument 2 of 'size_t iconv(void*,
>> char**, size_t*, char**, size_t*)'
>>
>> convutf8.cpp:239: error: invalid conversion from 'const char**' to 'char**'
>>
>> convutf8.cpp:239: error:   initializing argument 2 of 'size_t iconv(void*,
>> char**, size_t*, char**, size_t*)'
>>
>> convutf8.cpp:242: error: invalid conversion from 'const char**' to 'char**'
>>
>> convutf8.cpp:242: error:   initializing argument 2 of 'size_t iconv(void*,
>> char**, size_t*, char**, size_t*)'
>>
>> make[2]: *** [convutf8.o] Error 1
>>
>> make[1]: *** [export] Error 2
>>
>> make: *** [export] Error 2
>>
>>
>> Thanks for your help.
>
> Looks like convutf8.cpp was not ported to this platform.  Note that --enable-clu is not used for Thunderbird builds which is probably why no one has seen this before.  The problem is here beginning on line 90:
> /* Type used for the src parameter to iconv() (the 2nd parameter) */
>
> #if defined(_HPUX_SOURCE) || defined(__GLIBC__)
> #define LDAPTOOL_ICONV_SRC_TYPE char **         /* HP/UX and glibc (Linux) */
> #else
> #define LDAPTOOL_ICONV_SRC_TYPE const char **   /* all others */
> #endif
>
> Looks like on this platform the iconv() function expects char ** not const char **.  Since you're not using HPUX or GLIBC, LDAPTOOL_ICONV_SRC_TYPE is being defined as const char **.
>
> If you can edit the source or add a patch, you could add an
> #ifndef LDAPTOOL_ICONV_SRC_TYPE
> ...
> #endif
>
> block around this code, and add a define of
> #define LDAPTOOL_ICONV_SRC_TYPE char **
> wherever you set your defines/build flags for your project.
>
>>
>> Regards,
>>
>> Mark
>
> Cheers, Mark!
> _______________________________________________
> dev-tech-ldap mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/dev-tech-ldap
_______________________________________________
dev-tech-ldap mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-ldap
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'

Rich Megginson
In reply to this post by Rich Megginson
On 01/26/2011 01:59 AM, Mark Craig wrote:

> Thanks Rich,
>
> Anton, (if you are still following these discussions) does what I have
> done inline look like the right thing to be doing on Mac OS X?
>
> In mozilla/directory/c-sdk/ldap/clients/tools/convutf8.cpp, I made a
> small change based on your suggestion, Rich.
>
>   /* Type used for the src parameter to iconv() (the 2nd parameter) */
> -#if defined(_HPUX_SOURCE) || defined(__GLIBC__)
> +#if defined(_HPUX_SOURCE) || defined(__GLIBC__) || defined(DARWIN)
>
> That fixed my compilation problem. Yet I found another issue with the binaries.
>
> $ cd /Users/mark/NetBeansProjects/mozilla/dist
> $ export DYLD_LIBRARY_PATH=/Users/mark/NetBeansProjects/mozilla/dist/Darwin9.8.0_DBG.OBJ/lib
> $ ./bin/ldapsearch -p 1389 -b dc=example,dc=com uid=user.0
> ldapsearch: conversion from 646 to UTF-8 is not supported
> ldapsearch: warning: no conversion of filter to UTF-8
> ldapsearch: conversion from 646 to UTF-8 is not supported
> ldapsearch: warning: no conversion of base DN to UTF-8
>
> So I made an additional change to convutf8.cpp. Here's the diff
> showing both changes.
>
> $ hg diff ldap/clients/tools/convutf8.cpp
> diff -r 3f7d52e53a9d c-sdk/ldap/clients/tools/convutf8.cpp
> --- a/c-sdk/ldap/clients/tools/convutf8.cpp Thu Jan 06 12:12:22 2011 +0000
> +++ b/c-sdk/ldap/clients/tools/convutf8.cpp Wed Jan 26 09:47:53 2011 +0100
> @@ -83,13 +83,15 @@
>   #elif defined(_WIN32)
>   #define LDAPTOOL_CHARSET_DEFAULT "windows-1252" /* Windows */
>   #define LDAPTOOL_CHARSET_WINANSI "ANSI" /* synonym */
> +#elif defined(DARWIN)
> +#define LDAPTOOL_CHARSET_DEFAULT "UTF-8" /* Mac OS X */
>   #else
>   #define LDAPTOOL_CHARSET_DEFAULT "646" /* all others */
>   #endif
>
>   /* Type used for the src parameter to iconv() (the 2nd parameter) */
> -#if defined(_HPUX_SOURCE) || defined(__GLIBC__)
> -#define LDAPTOOL_ICONV_SRC_TYPE char ** /* HP/UX and glibc (Linux) */
> +#if defined(_HPUX_SOURCE) || defined(__GLIBC__) || defined(DARWIN)
> +#define LDAPTOOL_ICONV_SRC_TYPE char ** /* HP/UX, glibc (Linux), and
> Mac OS X */
>   #else
>   #define LDAPTOOL_ICONV_SRC_TYPE const char ** /* all others */
>   #endif

These diffs look fine to me.

>
> Now, after I compile again, at least ldapsearch seems to work.
>
> $ ./bin/ldapsearch -p 1389 -b dc=example,dc=com uid=user.0
> version: 1
> dn: uid=user.0,ou=People,dc=example,dc=com
> postalAddress: Aaccf Amar$01251 Chestnut Street$Panama City, DE  50369
> postalCode: 50369
> uid: user.0
> description: This is the description for Aaccf Amar.
> employeeNumber: 0
> initials: ASA
> givenName: Aaccf
> objectClass: person
> objectClass: inetorgperson
> objectClass: organizationalperson
> objectClass: top
> pager: +1 779 041 6341
> mobile: +1 010 154 3228
> cn: Aaccf Amar
> telephoneNumber: +1 685 622 6202
> sn: Amar
> street: 01251 Chestnut Street
> homePhone: +1 225 216 5900
> mail: [hidden email]
> l: Panama City
> st: DE
>
> Again, thanks for getting me unstuck. Hope you're having a good new year.

Yes, thanks.  And I hope things are going well for you.

>
> Regards,
> Mark
>
> On Wed, Jan 26, 2011 at 4:19 AM, Rich Megginson
> <[hidden email]>  wrote:
>>
>> On 01/25/2011 11:00 AM, Mark Craig wrote:
>>>
>>> Hello,
>>>
>>>
>>> I am trying to compile the LDAP C SDK, but failing to compile convutf8.cpp
>>> as shown inline. What should I do differently to get the C SDK to compile?
>>>
>>>
>>> Mac OS X 10.5.8
>>>
>>> Xcode 3.1.4 developer tools
>>>
>>> I put all the code next to my NetBeans projects. Yet I am compiling from the
>>> command line for now.
>>>
>>>
>>> First I do the NSS step, getting the code from CVS. This all seems to work
>>> fine.
>>>
>>>
>>> export CVSROOT=:pserver:[hidden email]:/cvsroot
>>>
>>> cvs co mozilla/nsprpub
>>>
>>> cvs co mozilla/security/coreconf mozilla/security/nss mozilla/security/dbm
>>> mozilla/dbm
>>>
>>> cd mozilla/security/nss/
>>>
>>> make nss_build_all
>>>
>>>
>>> Autoconf for the C SDK seems to find NSS and NSPR. But then something goes
>>> haywire with convutf8.cpp...
>>>
>>>
>>> hg clone http://hg.mozilla.org/projects/ldap-sdks/ mozilla/directory
>>>
>>> cd mozilla/directory/c-sdk
>>>
>>> ./configure --with-nss --with-nspr --enable-clu
>>>
>>> make
>>>
>>> c++ -o convutf8.o -c     -pipe -Wmost -fno-common -pthread -O   -UDEBUG
>>> -DNDEBUG=1 -DXP_UNIX=1 -DDARWIN=1 -DHAVE_BSD_FLOCK=1 -Di386=1
>>> -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -DHAVE_GETADDRINFO=1 -DHAVE_GETNAMEINFO=1
>>>      -DNET_SSL  -DNO_LIBLCACHE -DLDAP_REFERRALS     -DNS_DOMESTIC
>>> -DFORCE_PR_LOG -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM
>>> -I/Users/mark/NetBeansProjects/mozilla/dist/public/nss
>>> -I/Users/mark/NetBeansProjects/mozilla/dist/Darwin9.8.0_DBG.OBJ/include
>>> -I../../../../../dist/public/ldap -I../../../ldap/include  convutf8.cpp
>>>
>>> convutf8.cpp: In function 'char* convert_to_utf8(const char*, const char*)':
>>>
>>> convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'
>>>
>>> convutf8.cpp:236: error:   initializing argument 2 of 'size_t iconv(void*,
>>> char**, size_t*, char**, size_t*)'
>>>
>>> convutf8.cpp:239: error: invalid conversion from 'const char**' to 'char**'
>>>
>>> convutf8.cpp:239: error:   initializing argument 2 of 'size_t iconv(void*,
>>> char**, size_t*, char**, size_t*)'
>>>
>>> convutf8.cpp:242: error: invalid conversion from 'const char**' to 'char**'
>>>
>>> convutf8.cpp:242: error:   initializing argument 2 of 'size_t iconv(void*,
>>> char**, size_t*, char**, size_t*)'
>>>
>>> make[2]: *** [convutf8.o] Error 1
>>>
>>> make[1]: *** [export] Error 2
>>>
>>> make: *** [export] Error 2
>>>
>>>
>>> Thanks for your help.
>>
>> Looks like convutf8.cpp was not ported to this platform.  Note that --enable-clu is not used for Thunderbird builds which is probably why no one has seen this before.  The problem is here beginning on line 90:
>> /* Type used for the src parameter to iconv() (the 2nd parameter) */
>>
>> #if defined(_HPUX_SOURCE) || defined(__GLIBC__)
>> #define LDAPTOOL_ICONV_SRC_TYPE char **         /* HP/UX and glibc (Linux) */
>> #else
>> #define LDAPTOOL_ICONV_SRC_TYPE const char **   /* all others */
>> #endif
>>
>> Looks like on this platform the iconv() function expects char ** not const char **.  Since you're not using HPUX or GLIBC, LDAPTOOL_ICONV_SRC_TYPE is being defined as const char **.
>>
>> If you can edit the source or add a patch, you could add an
>> #ifndef LDAPTOOL_ICONV_SRC_TYPE
>> ...
>> #endif
>>
>> block around this code, and add a define of
>> #define LDAPTOOL_ICONV_SRC_TYPE char **
>> wherever you set your defines/build flags for your project.
>>
>>>
>>> Regards,
>>>
>>> Mark
>>
>> Cheers, Mark!
>> _______________________________________________
>> dev-tech-ldap mailing list
>> [hidden email]
>> https://lists.mozilla.org/listinfo/dev-tech-ldap

_______________________________________________
dev-tech-ldap mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-ldap
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: convutf8.cpp:236: error: invalid conversion from 'const char**' to 'char**'

Anton Bobrov-2
In reply to this post by Mark Craig-2

Mark, yeah it looks fine to me. Rich would know this better anyway
because we were using ICU previously and then converted to iconv
when merging and iirc iconv stuff was contributed by Rich then.

On 26/01/2011 09:59, Mark Craig wrote:

> Thanks Rich,
>
> Anton, (if you are still following these discussions) does what I have
> done inline look like the right thing to be doing on Mac OS X?
>
> In mozilla/directory/c-sdk/ldap/clients/tools/convutf8.cpp, I made a
> small change based on your suggestion, Rich.
>
>   /* Type used for the src parameter to iconv() (the 2nd parameter) */
> -#if defined(_HPUX_SOURCE) || defined(__GLIBC__)
> +#if defined(_HPUX_SOURCE) || defined(__GLIBC__) || defined(DARWIN)
>
> That fixed my compilation problem. Yet I found another issue with the binaries.
>
> $ cd /Users/mark/NetBeansProjects/mozilla/dist
> $ export DYLD_LIBRARY_PATH=/Users/mark/NetBeansProjects/mozilla/dist/Darwin9.8.0_DBG.OBJ/lib
> $ ./bin/ldapsearch -p 1389 -b dc=example,dc=com uid=user.0
> ldapsearch: conversion from 646 to UTF-8 is not supported
> ldapsearch: warning: no conversion of filter to UTF-8
> ldapsearch: conversion from 646 to UTF-8 is not supported
> ldapsearch: warning: no conversion of base DN to UTF-8
>
> So I made an additional change to convutf8.cpp. Here's the diff
> showing both changes.
>
> $ hg diff ldap/clients/tools/convutf8.cpp
> diff -r 3f7d52e53a9d c-sdk/ldap/clients/tools/convutf8.cpp
> --- a/c-sdk/ldap/clients/tools/convutf8.cpp Thu Jan 06 12:12:22 2011 +0000
> +++ b/c-sdk/ldap/clients/tools/convutf8.cpp Wed Jan 26 09:47:53 2011 +0100
> @@ -83,13 +83,15 @@
>   #elif defined(_WIN32)
>   #define LDAPTOOL_CHARSET_DEFAULT "windows-1252" /* Windows */
>   #define LDAPTOOL_CHARSET_WINANSI "ANSI" /* synonym */
> +#elif defined(DARWIN)
> +#define LDAPTOOL_CHARSET_DEFAULT "UTF-8" /* Mac OS X */
>   #else
>   #define LDAPTOOL_CHARSET_DEFAULT "646" /* all others */
>   #endif
>
>   /* Type used for the src parameter to iconv() (the 2nd parameter) */
> -#if defined(_HPUX_SOURCE) || defined(__GLIBC__)
> -#define LDAPTOOL_ICONV_SRC_TYPE char ** /* HP/UX and glibc (Linux) */
> +#if defined(_HPUX_SOURCE) || defined(__GLIBC__) || defined(DARWIN)
> +#define LDAPTOOL_ICONV_SRC_TYPE char ** /* HP/UX, glibc (Linux), and
> Mac OS X */
>   #else
>   #define LDAPTOOL_ICONV_SRC_TYPE const char ** /* all others */
>   #endif
>
> Now, after I compile again, at least ldapsearch seems to work.
>
> $ ./bin/ldapsearch -p 1389 -b dc=example,dc=com uid=user.0
> version: 1
> dn: uid=user.0,ou=People,dc=example,dc=com
> postalAddress: Aaccf Amar$01251 Chestnut Street$Panama City, DE  50369
> postalCode: 50369
> uid: user.0
> description: This is the description for Aaccf Amar.
> employeeNumber: 0
> initials: ASA
> givenName: Aaccf
> objectClass: person
> objectClass: inetorgperson
> objectClass: organizationalperson
> objectClass: top
> pager: +1 779 041 6341
> mobile: +1 010 154 3228
> cn: Aaccf Amar
> telephoneNumber: +1 685 622 6202
> sn: Amar
> street: 01251 Chestnut Street
> homePhone: +1 225 216 5900
> mail: [hidden email]
> l: Panama City
> st: DE
>
> Again, thanks for getting me unstuck. Hope you're having a good new year.
>
> Regards,
> Mark
_______________________________________________
dev-tech-ldap mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-ldap
Loading...