Size: a a a

2020 April 17

АБ

Александр Бантьев in NixOS
Теперь осталось посмотреть stack trace
источник

АБ

Александр Бантьев in NixOS
Попробуй заменить libpostal/default.nix на предложенный мной и попробуй ещё разок.
источник

АБ

Александр Бантьев in NixOS
Потому что что-то мне подсказывает, что ты просто библиотеку саму неправильно опакетил/
источник

b

blkmrkt in NixOS
А это не проблема никса, что директория пустая?

Я подозреваю что пакеты в /nix все с ro флагом, и С либа хочет открывать их в rw режиме
источник

АБ

Александр Бантьев in NixOS
Так она пустая или не существует?
источник

b

blkmrkt in NixOS
Александр Бантьев
Попробуй заменить libpostal/default.nix на предложенный мной и попробуй ещё разок.
Так и сделал, уже компилируется
источник

b

blkmrkt in NixOS
Александр Бантьев
Так она пустая или не существует?
Не существует
источник

АБ

Александр Бантьев in NixOS
Так, как я сделал -- $data/* будет вся rw
источник

АБ

Александр Бантьев in NixOS
(хмм, хотя нет)
источник

АБ

Александр Бантьев in NixOS
Там же симлинки
источник

АБ

Александр Бантьев in NixOS
На другие куски nix store
источник

b

blkmrkt in NixOS
blkmrkt
Так и сделал, уже компилируется
То же самое получилось как мне кажется. Только теперь я не знаю как вытянуть libpostalData через nix-eval.
источник

АБ

Александр Бантьев in NixOS
blkmrkt
То же самое получилось как мне кажется. Только теперь я не знаю как вытянуть libpostalData через nix-eval.
замени libpostalData на data
источник

b

blkmrkt in NixOS
Александр Бантьев
замени libpostalData на data
Я сделал билд без тестов пиотоновской либы чтоб он не пропал, и директория все равно не существует:

ls: cannot access '/nix/store/j2lql4mlq401b66ffa80m103ipvpcq7p-libpostal-data': No such file or directory
источник

АБ

Александр Бантьев in NixOS
Гм
источник

АБ

Александр Бантьев in NixOS
Возможно, действительно как-то связано с макосью?
источник

b

blkmrkt in NixOS
Александр Бантьев
Я бы опакетил libpostal как-то так:

{ fetchzip, fetchgit, runCommand, autoreconfHook, curl, stdenv }:
let
 addressBase = fetchzip {
   name = "libpostal-base";
   url =
     " https://github.com/openvenues/libpostal/releases/download/v1.0.0/libpostal_data.tar.gz";
   sha256 = "1hbckdqizhzznbsfgp5y2b8p074bw97kn766sfmkqmv18j98548n";
   stripRoot = false;
 };
 parserTarball = fetchzip {
   name = "libpostal-parser";
   url =
     " https://github.com/openvenues/libpostal/releases/download/v1.0.0/parser.tar.gz";
   sha256 = "193fk4x0j9jwvkcva5rir3zw8nhf994q40xyv59da6mlfxpi6w9q";
   stripRoot = false;
 };
in stdenv.mkDerivation rec {

 name = "libpostal";
 src = fetchgit {
   rev = "7f7aada32ab1a65b94f880a45f9755bbd941eedc";
   sha256 = "0qf5nkfkfjl2ylkrnw7kzax71y85gkr8i24glyp9rflyzmpj6giy";
   url = "git@github.com:openvenues/libpostal.git";
 };
 outputs = [ "out" "data" ];
 preConfigure = ''
   mkdir $data
   ln -s ${parserTarball}/address_parser $data
   ln -s ${addressBase}/address_parser/transliteration $data
   ln -s ${addressBase}/address_parser/numex $data
   ln -s ${addressBase}/address_parser/address_expansions $data
 '';
 buildInputs = [ autoreconfHook curl ];
 configureFlags =
   [ "--datadir=$data" "--disable-data-download" ];
}
А фигурные скобочки разве не нужны вокруг $data?
источник

АБ

Александр Бантьев in NixOS
blkmrkt
А фигурные скобочки разве не нужны вокруг $data?
Нет
источник

b

blkmrkt in NixOS
Александр Бантьев
Возможно, действительно как-то связано с макосью?
сейчас под линуксом соберу
источник

АБ

Александр Бантьев in NixOS
$data -- это переменная окружения, которую nix подсовывает
источник