Discussion:
[maildropl] courier-unicode fails to build on Mac OS 10.10.5
Christian Ebert
2015-12-21 14:11:48 UTC
Permalink
Hello,

Version 1.4 of courier-unicode fails to build like so:

make[1]: Entering directory '/Users/chris/src/courier-unicode-1.4'
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -Wall -fexceptions -MT unicode.lo -MD -MP -MF .deps/unicode.Tpo -c -o unicode.lo unicode.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -Wall -fexceptions -MT unicode.lo -MD -MP -MF .deps/unicode.Tpo -c unicode.c -fno-common -DPIC -o .libs/unicode.o
In file included from unicode.c:8:
./courier-unicode.h:44:43: error: unknown type name 'locale_t'
extern const char *unicode_locale_chset_l(locale_t l);
^
unicode.c:41:36: error: unknown type name 'locale_t'
const char *unicode_locale_chset_l(locale_t l)
^
unicode.c:43:21: warning: implicit declaration of function 'nl_langinfo_l' is invalid in C99
[-Wimplicit-function-declaration]
return fix_charset(nl_langinfo_l(CODESET, l));
^
1 warning and 2 errors generated.
Makefile:748: recipe for target 'unicode.lo' failed
make[1]: *** [unicode.lo] Error 1
make[1]: Leaving directory '/Users/chris/src/courier-unicode-1.4'
Makefile:556: recipe for target 'all' failed
make: *** [all] Error 2


$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.10.5
BuildVersion: 14F1509
$ uname -mprsv
Darwin 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64 i386

Any ideas?

TIA
--
theatre - books - texts - movies
Black Trash Productions at home: http://www.blacktrash.org
Black Trash Productions on Facebook:
http://www.facebook.com/blacktrashproductions

------------------------------------------------------------------------------
Sam Varshavchik
2015-12-22 01:34:07 UTC
Permalink
Post by Christian Ebert
./courier-unicode.h:44:43: error: unknown type name 'locale_t'
extern const char *unicode_locale_chset_l(locale_t l);
^
unicode.c:41:36: error: unknown type name 'locale_t'
const char *unicode_locale_chset_l(locale_t l)
^
unicode.c:43:21: warning: implicit declaration of function 'nl_langinfo_l'
is invalid in C99
[-Wimplicit-function-declaration]
return fix_charset(nl_langinfo_l(CODESET, l));
^
1 warning and 2 errors generated.
Makefile:748: recipe for target 'unicode.lo' failed
make[1]: *** [unicode.lo] Error 1
make[1]: Leaving directory '/Users/chris/src/courier-unicode-1.4'
Makefile:556: recipe for target 'all' failed
make: *** [all] Error 2
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.10.5
BuildVersion: 14F1509
$ uname -mprsv
Darwin 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09 PDT 2015;
root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64 i386
Any ideas?
Where do you have locale_t defined? Grep your system include files.
Christian Ebert
2015-12-22 09:36:40 UTC
Permalink
* Sam Varshavchik on Monday, December 21, 2015 at 20:34:07 -0500
Post by Sam Varshavchik
Post by Christian Ebert
./courier-unicode.h:44:43: error: unknown type name 'locale_t'
extern const char *unicode_locale_chset_l(locale_t l);
^
unicode.c:41:36: error: unknown type name 'locale_t'
const char *unicode_locale_chset_l(locale_t l)
^
unicode.c:43:21: warning: implicit declaration of function
'nl_langinfo_l' is invalid in C99
[-Wimplicit-function-declaration]
return fix_charset(nl_langinfo_l(CODESET, l));
^
1 warning and 2 errors generated.
Makefile:748: recipe for target 'unicode.lo' failed
make[1]: *** [unicode.lo] Error 1
make[1]: Leaving directory '/Users/chris/src/courier-unicode-1.4'
Makefile:556: recipe for target 'all' failed
make: *** [all] Error 2
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.10.5
BuildVersion: 14F1509
$ uname -mprsv
Darwin 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09
PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64 i386
Any ideas?
Where do you have locale_t defined? Grep your system include files.
$ grep -rl locale_t *
_xlocale.h
c++/4.2.1/bits/locale_facets.h
c++/4.2.1/bits/time_members.h
libxslt/xsltlocale.h
printf.h
xlocale/__wctype.h
xlocale/_ctype.h
xlocale/_inttypes.h
xlocale/_langinfo.h
xlocale/_monetary.h
xlocale/_regex.h
xlocale/_stdio.h
xlocale/_stdlib.h
xlocale/_string.h
xlocale/_time.h
xlocale/_wchar.h
xlocale/_wctype.h
xlocale.h

I experimented with including [_]xlocale.h, but got type errors.
--
theatre - books - texts - movies
Black Trash Productions at home: http://www.blacktrash.org
Black Trash Productions on Facebook:
http://www.facebook.com/blacktrashproductions

------------------------------------------------------------------------------
Sam Varshavchik
2015-12-22 11:55:03 UTC
Permalink
Post by Christian Ebert
* Sam Varshavchik on Monday, December 21, 2015 at 20:34:07 -0500
Post by Sam Varshavchik
Post by Christian Ebert
./courier-unicode.h:44:43: error: unknown type name 'locale_t'
extern const char *unicode_locale_chset_l(locale_t l);
^
unicode.c:41:36: error: unknown type name 'locale_t'
const char *unicode_locale_chset_l(locale_t l)
^
unicode.c:43:21: warning: implicit declaration of function
'nl_langinfo_l' is invalid in C99
[-Wimplicit-function-declaration]
return fix_charset(nl_langinfo_l(CODESET, l));
^
1 warning and 2 errors generated.
Makefile:748: recipe for target 'unicode.lo' failed
make[1]: *** [unicode.lo] Error 1
make[1]: Leaving directory '/Users/chris/src/courier-unicode-1.4'
Makefile:556: recipe for target 'all' failed
make: *** [all] Error 2
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.10.5
BuildVersion: 14F1509
$ uname -mprsv
Darwin 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09
PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64 i386
Any ideas?
Where do you have locale_t defined? Grep your system include files.
$ grep -rl locale_t *
_xlocale.h
c++/4.2.1/bits/locale_facets.h
c++/4.2.1/bits/time_members.h
libxslt/xsltlocale.h
printf.h
xlocale/__wctype.h
xlocale/_ctype.h
xlocale/_inttypes.h
xlocale/_langinfo.h
xlocale/_monetary.h
xlocale/_regex.h
xlocale/_stdio.h
xlocale/_stdlib.h
xlocale/_string.h
xlocale/_time.h
xlocale/_wchar.h
xlocale/_wctype.h
xlocale.h
I experimented with including [_]xlocale.h, but got type errors.
xlocale.h is probably the correct include file.

Recently I removed the internal code that uses unicode_local_chset_l(). You
can patch this out of the header file, and the entire function from
unicode.c, and this should work fine.
Christian Ebert
2015-12-24 22:08:42 UTC
Permalink
* Sam Varshavchik on Tuesday, December 22, 2015 at 06:55:03 -0500
Post by Sam Varshavchik
xlocale.h is probably the correct include file.
Recently I removed the internal code that uses
unicode_local_chset_l(). You can patch this out of the header file,
Sorry, for being dense: patch out what and how?
Post by Sam Varshavchik
and the entire function from unicode.c, and this should work fine.
You've lost me completely here ;-)

I have no clue what I'm doing or what I should do; when I replace

#include <locale.h>

with

#include <xlocale.h>

I get:

make[1]: Entering directory '/Users/chris/src/courier-unicode-1.4'
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -Wall -fexceptions -MT unicode.lo -MD -MP -MF .deps/unicode.Tpo -c -o unicode.lo unicode.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -Wall -fexceptions -MT unicode.lo -MD -MP -MF .deps/unicode.Tpo -c unicode.c -fno-common -DPIC -o .libs/unicode.o
In file included from unicode.c:8:
./courier-unicode.h:44:43: error: unknown type name 'locale_t'
extern const char *unicode_locale_chset_l(locale_t l);
^
1 error generated.
Makefile:748: recipe for target 'unicode.lo' failed
make[1]: *** [unicode.lo] Error 1
make[1]: Leaving directory '/Users/chris/src/courier-unicode-1.4'
Makefile:556: recipe for target 'all' failed
make: *** [all] Error 2
--
Was heißt hier Dogma, ich bin Underdogma!
[ What the hell do you mean dogma, I am underdogma. ]
free movies --->>> http://www.blacktrash.org/underdogma
http://itunes.apple.com/podcast/underdogma-movies/id363423596

------------------------------------------------------------------------------
Sam Varshavchik
2015-12-24 22:18:42 UTC
Permalink
Post by Christian Ebert
* Sam Varshavchik on Tuesday, December 22, 2015 at 06:55:03 -0500
Post by Sam Varshavchik
xlocale.h is probably the correct include file.
Recently I removed the internal code that uses
unicode_local_chset_l(). You can patch this out of the header file,
Sorry, for being dense: patch out what and how?
Post by Sam Varshavchik
and the entire function from unicode.c, and this should work fine.
You've lost me completely here ;-)
I have no clue what I'm doing or what I should do; when I replace
#include <locale.h>
with
#include <xlocale.h>
No, just remove

extern const char *unicode_locale_chset_l(locale_t l);

from courier-unicode.h completely.

And also remove the entire

const char *unicode_locale_chset_l(locale_t l)
{
return fix_charset(nl_langinfo_l(CODESET, l));
}

function from unicode.c
Christian Ebert
2015-12-25 01:00:19 UTC
Permalink
* Sam Varshavchik on Thursday, December 24, 2015 at 17:18:42 -0500
Post by Sam Varshavchik
Post by Christian Ebert
I have no clue what I'm doing or what I should do; when I replace
#include <locale.h>
with
#include <xlocale.h>
No, just remove
extern const char *unicode_locale_chset_l(locale_t l);
from courier-unicode.h completely.
And also remove the entire
const char *unicode_locale_chset_l(locale_t l)
{
return fix_charset(nl_langinfo_l(CODESET, l));
}
function from unicode.c
Ah, gotcha. That helped.

Compiles including locale.h or xlocale.h - don't know whether
that matters.

Thanks.
--
theatre - books - texts - movies
Black Trash Productions at home: http://www.blacktrash.org
Black Trash Productions on Facebook:
http://www.facebook.com/blacktrashproductions

------------------------------------------------------------------------------
Sam Varshavchik
2015-12-25 03:48:51 UTC
Permalink
Post by Christian Ebert
* Sam Varshavchik on Thursday, December 24, 2015 at 17:18:42 -0500
Post by Sam Varshavchik
Post by Christian Ebert
I have no clue what I'm doing or what I should do; when I replace
#include <locale.h>
with
#include <xlocale.h>
No, just remove
extern const char *unicode_locale_chset_l(locale_t l);
from courier-unicode.h completely.
And also remove the entire
const char *unicode_locale_chset_l(locale_t l)
{
return fix_charset(nl_langinfo_l(CODESET, l));
}
function from unicode.c
Ah, gotcha. That helped.
Compiles including locale.h or xlocale.h - don't know whether
that matters.
The only changes to the current source should be just the removal of the
function prototype and the function itself.

I'm going to remove them, since, as I mentioned, they're no longer needed.
Christian Ebert
2015-12-25 09:20:01 UTC
Permalink
* Sam Varshavchik on Thursday, December 24, 2015 at 22:48:51 -0500
Post by Sam Varshavchik
Post by Christian Ebert
* Sam Varshavchik on Thursday, December 24, 2015 at 17:18:42 -0500
Post by Sam Varshavchik
No, just remove
extern const char *unicode_locale_chset_l(locale_t l);
from courier-unicode.h completely.
And also remove the entire
const char *unicode_locale_chset_l(locale_t l)
{
return fix_charset(nl_langinfo_l(CODESET, l));
}
function from unicode.c
Ah, gotcha. That helped.
Compiles including locale.h or xlocale.h - don't know whether
that matters.
The only changes to the current source should be just the removal of
the function prototype and the function itself.
I'm going to remove them, since, as I mentioned, they're no longer needed.
Thanks again.
--
\black\trash movie _SAME TIME SAME PLACE_
--->> http://www.blacktrash.org/underdogma/stsp.php
\black\trash audio _ANOTHER TIME ANOTHER PLACE_
--->> http://www.blacktrash.org/underdogma/atap.html

------------------------------------------------------------------------------
Loading...