Project

General

Profile

Bug #3960

localedef problems in Ubuntu 18.04

Added by Greg Shah about 5 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
-
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:

locale_definition_v2.27.diff Magnifier (1.7 KB) Greg Shah, 03/14/2019 03:33 PM

History

#1 Updated by Greg Shah about 5 years ago

I had a fully functioning PostgreSQL 9.5 environment for FWD in Ubuntu 16.04.

I recently upgraded to Ubuntu 18.04. I found that my v9.5 FWD cluster no longer starts. The error is related to the en_us@p2j_basic locale. When I checked, I found the locale was missing. So I tried to recreate it.

When I run this command:

sudo localedef -c -f ISO-8859-1 -i en_US@p2j_basic /usr/lib/locale/en_US@p2j_basic/

It generates these errors:

[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_CTYPE'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_NUMERIC'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_TIME'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_COLLATE'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_MONETARY'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_MESSAGES'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_PAPER'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_NAME'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_ADDRESS'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_TELEPHONE'
[error] LC_IDENTIFICATION: unknown standard `en_US@p2j_basic:2016' for category `LC_IDENTIFICATION'

It seems to reference this part of our definition:

LC_IDENTIFICATION

title      "English locale for the USA using P2J basic collation" 
source     "Golden Code Development Corporation" 
address    "5450 McGinnis Village Place, Alpharetta, GA 30005, USA" 
contact    "" 
email      "info@goldencode.com" 
tel        "" 
fax        "" 
language   "English" 
territory  "USA" 
revision   "1.1" 
date       "2016-04-27" 

category  "en_US@p2j_basic:2016";LC_IDENTIFICATION
category  "en_US@p2j_basic:2016";LC_CTYPE
category  "en_US@p2j_basic:2016";LC_COLLATE
category  "en_US@p2j_basic:2016";LC_TIME
category  "en_US@p2j_basic:2016";LC_NUMERIC
category  "en_US@p2j_basic:2016";LC_MONETARY
category  "en_US@p2j_basic:2016";LC_MESSAGES
category  "en_US@p2j_basic:2016";LC_PAPER
category  "en_US@p2j_basic:2016";LC_NAME
category  "en_US@p2j_basic:2016";LC_ADDRESS
category  "en_US@p2j_basic:2016";LC_TELEPHONE

END LC_IDENTIFICATION

I guess the locale definition format has changed in 18.04. The version of localedef that is used there is 2.27.

#2 Updated by Greg Shah about 5 years ago

The attached locale definition uses the same string that is used in all other locales. It seems that this must be hard coded in later releases. This version compiles properly.

#3 Updated by Greg Shah about 5 years ago

Can someone that is running on Ubuntu 16.04 test this new locale definition on the old localedef? I'd also like to know what version of localedef is being used in 16.04 (localedef -V will tell you).

Thanks!

#4 Updated by Eric Faulhaber almost 5 years ago

Greg Shah wrote:

Can someone that is running on Ubuntu 16.04 test this new locale definition on the old localedef? I'd also like to know what version of localedef is being used in 16.04 (localedef -V will tell you).

Thanks!

From my 16.04 system:

localedef (Ubuntu GLIBC 2.23-0ubuntu11) 2.23

#5 Updated by Greg Shah almost 5 years ago

Can someone that is running on Ubuntu 16.04 test this new locale definition on the old localedef?

Did this work?

#6 Updated by Eric Faulhaber almost 5 years ago

Greg Shah wrote:

Can someone that is running on Ubuntu 16.04 test this new locale definition on the old localedef?

Did this work?

I applied the diff and copied the updated enUS@p2j_basic file to /usr/share/i18n/locales/, ran the localedef as specified above. There were no errors. The binary locale files had been updated and appeared to contain the new content.

I fixed up the file and directory permissions as documented in the FWD database setup docs. I was able to restart my PostgreSQL FWD cluster with no problems. psql seemed to be working ok with the cluster. I did some light testing of a large customer application running with this cluster and I noticed no problems.

I think these changes are backward compatible with Ubuntu 16.04.

#7 Updated by Greg Shah almost 5 years ago

I've committed this change in branch 4069a as revision 11320.

#8 Updated by Greg Shah over 4 years ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed
  • Assignee set to Greg Shah

Task branch 4069a has been merged to trunk as revision 11339.

Also available in: Atom PDF