boost :: locale ведет себя по-разному в двух отдельных, но одинаковых системах

У меня есть эта программа:

int main()
{
using namespace boost::locale;

generator gen;
std::locale::global(gen(""));

calendar cal("UTC");
calendar cal_local("Europe/Berlin");

date_time dt_utc(std::time(0), cal);
date_time dt_local(std::time(0), cal_local);

std::cerr << "UTC: " << dt_utc.get(period::hour()) << "\n";
std::cerr << "LOCAL: " << dt_local.get(period::hour()) << "\n";
}

Он ведет себя по-разному в двух разных, но одинаковых системах Debian Wheezy с gcc 4.7.2-5 а также boost 1.49, Обе системы имеют одинаковую локаль en_US.UTF-8,

Вышеуказанная программа была выполнена примерно в Thu Sep 25 2014 11:15 UTC,

Выход на систему A

UTC: 11
LOCAL: 11

Выход на систему B

UTC: 11
LOCAL: 13

Что должно быть причиной этого?

Замечания: В настоящее время DST активен в Европе / Берлине


Обновить:

libboost1.49-dev на обеих системах устанавливается из репозитория Debian, как показано здесь:

user@system_a:~$ apt-cache policy libboost1.49-dev
libboost1.49-dev:
Installed: 1.49.0-3.2
Candidate: 1.49.0-3.2
Version table:
*** 1.49.0-3.2 0
500 http://ftp2.de.debian.org/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status

Также проверено, что libboost_locale.so имеет зависимости libicuuc.so, libicui18n.so а также libicudata.so на обеих системах.

3

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]