Ticket #4051 (closed defect: invalid)

Opened 2 months ago

Last modified 2 months ago

No internationalization support on OS X 10.9

Reported by: kroleg Owned by:
Priority: major Milestone:
Component: mc-core Version: 4.8.24
Keywords: Cc:
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

mac:~ kroleg$ locale
LANG="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_CTYPE="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_ALL="ru_RU.UTF-8"
mac:~ kroleg$ mc -V
GNU Midnight Commander 4.8.24
Built with GLib 2.58.3
Using the ncurses library
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With support for X11 events
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish
Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;

Attachments

config.log (264.2 KB) - added by kroleg 2 months ago.
config2.log (265.6 KB) - added by kroleg 2 months ago.

Change History

comment:1 Changed 2 months ago by andrew_b

What do you mean?

comment:2 Changed 2 months ago by andrew_b

There is no

With internationalization support

in the output mc -V. Thus, your mc is built with --disable-nls.

comment:3 follow-up: ↓ 4 Changed 2 months ago by andrew_b

  • Version changed from master to 4.8.24

comment:4 in reply to: ↑ 3 Changed 2 months ago by kroleg

Replying to andrew_b:

bash-4.4$ ./mc --configure-options
 '--prefix=/opt/kroleg/mc' '--with-screen=ncurses'

comment:5 follow-up: ↓ 6 Changed 2 months ago by andrew_b

Install gettext.

comment:6 in reply to: ↑ 5 ; follow-up: ↓ 7 Changed 2 months ago by kroleg

Replying to andrew_b:

Install gettext.

mac:~ kroleg$ sudo port install gettext
Password:
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
--->  Computing dependencies for gettext
--->  Fetching archive for gettext
--->  Attempting to fetch gettext-0.19.8.1_2.darwin_13.x86_64.tbz2 from https://packages.macports.org/gettext
--->  Attempting to fetch gettext-0.19.8.1_2.darwin_13.x86_64.tbz2.rmd160 from https://packages.macports.org/gettext
--->  Installing gettext @0.19.8.1_2
--->  Deactivating gettext @0.19.8.1_2+universal
--->  Cleaning gettext
--->  Activating gettext @0.19.8.1_2
--->  Cleaning gettext
--->  Scanning binaries for linking errors
--->  Found 19 broken files, matching files to ports     
--->  Found 2 broken ports, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt:
 glib2 @2.58.3+universal+x11
 xz @5.2.4+universal
Continue? [Y/n]: 
--->  Computing dependencies for glib2
--->  Dependencies to be installed: gettext
--->  Deactivating gettext @0.19.8.1_2
--->  Cleaning gettext
--->  Activating gettext @0.19.8.1_2+universal
--->  Cleaning gettext
--->  Cleaning glib2
--->  Computing dependencies for xz
--->  Cleaning xz
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  No broken ports found.
mac:~ kroleg$ 

nothing has changed

comment:7 in reply to: ↑ 6 ; follow-up: ↓ 8 Changed 2 months ago by andrew_b

Replying to kroleg:

nothing has changed

Did you rebuild mc with installed gettext? Please show your config.log.

Changed 2 months ago by kroleg

comment:8 in reply to: ↑ 7 Changed 2 months ago by kroleg

Replying to andrew_b:

Replying to kroleg:

nothing has changed

Did you rebuild mc with installed gettext? Please show your config.log.

Yes.

comment:9 follow-up: ↓ 10 Changed 2 months ago by andrew_b

configure can't find libintl.h.

Try to use:

CPPFLAGS='-I /opt/local/include' --prefix=/opt/kroleg/mc --with-screen=ncurses

where /opt/local/include is a directory where libintl.h is.

comment:10 in reply to: ↑ 9 Changed 2 months ago by kroleg

Replying to andrew_b:

configure can't find libintl.h.

Try to use:

CPPFLAGS='-I /opt/local/include' --prefix=/opt/kroleg/mc --with-screen=ncurses

where /opt/local/include is a directory where libintl.h is.

bash-4.4$ ./mc --configure-options
 '--prefix=/opt/kroleg/mc' '--with-screen=ncurses' 'CPPFLAGS=-I /opt/local/include'
bash-4.4$ otool -L ./mc
./mc:
	/opt/local/lib/libncurses.6.dylib (compatibility version 6.0.0, current version 6.0.0)
	/opt/local/lib/libssh2.1.dylib (compatibility version 2.0.0, current version 2.1.0)
	/opt/local/lib/libgmodule-2.0.0.dylib (compatibility version 5801.0.0, current version 5801.3.0)
	/opt/local/lib/libglib-2.0.0.dylib (compatibility version 5801.0.0, current version 5801.3.0)
	/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
bash-4.4$ ./mc -V
GNU Midnight Commander 4.8.24
Built with GLib 2.58.3
Using the ncurses library
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With support for X11 events
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish
Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;
bash-4.4$ 

Changed 2 months ago by kroleg

comment:11 follow-up: ↓ 12 Changed 2 months ago by andrew_b

CPPFLAGS='-I /opt/local/include' LDFLAGS='-L /opt/local/lib' --prefix=/opt/kroleg/mc --with-screen=ncurses

comment:12 in reply to: ↑ 11 ; follow-up: ↓ 13 Changed 2 months ago by kroleg

Replying to andrew_b:

CPPFLAGS='-I /opt/local/include' LDFLAGS='-L /opt/local/lib' --prefix=/opt/kroleg/mc --with-screen=ncurses

Thank you very much. MC compiled with support for internationalization.
BTW, for some reason, mc-4.8.22 been compiled with support for internationalization, without this flags.

comment:13 in reply to: ↑ 12 Changed 2 months ago by andrew_b

  • Status changed from new to closed
  • Resolution set to invalid
  • Milestone Future Releases deleted

This is a result of #3629.

comment:14 Changed 2 months ago by zaytsev

We have been bundling our own gettext in the past, which caused all kinds of problems. Now we require gettext to be installed in the system if internationalisation is required. Note that your build will not be portable with MacPorts? gettext. If you want it to be portable, then build and install gettext in /opt/kroleg, and ship the libraries together with mc.

Note: See TracTickets for help on using tickets.