Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erro a compilar a package para NixOS - mkdir: cannot create directory '/usr': Permission denied #156

Open
mjpc13 opened this issue Jan 26, 2024 · 1 comment

Comments

@mjpc13
Copy link

mjpc13 commented Jan 26, 2024

Estou a tentar compilar a package para o sistema operativo NixOS (e disponibilizar no Nix User Repository).

Neste momento estou com o seguinte erro:

> install flags: -j16 SHELL=/nix/store/8fv91097mbh5049i9rglc73dx6kjg3qk-bash-5.2-p15/bin/bash gsettingsschemadir=/nix/store/dsmdi9c0b6g09wfkbx1rx2xs2s8srcpd-autenticacao-gov/share/gsettings-schemas/autenticacao-gov/glib-2.0/schemas/ install
       > cd pteid-poppler/ && ( test -e Makefile || /nix/store/h4j0jqlhg4xs5qi9rypm2xr1v1qc0yqy-qtbase-5.15.10-dev/bin/qmake -o Makefile /build/source/pteid-mw-pt/_src/eidmw/pteid-poppler/pteid-poppler.pro PREFIX=/nix/store/dsmdi9c0b6g09wfkbx1rx2xs2s8srcpd-autenticacao-gov NIX_OUTPUT_OUT=/nix/store/dsmdi9c0b6g09wfkbx1rx2xs2s8srcpd-autenticacao-gov NIX_OUTPUT_DEV=/nix/store/dsmdi9c0b6g09wfkbx1rx2xs2s8srcpd-autenticacao-gov NIX_OUTPUT_BIN=/nix/store/dsmdi9c0b6g09wfkbx1rx2xs2s8srcpd-autenticacao-gov NIX_OUTPUT_DOC=/nix/store/dsmdi9c0b6g09wfkbx1rx2xs2s8srcpd-autenticacao-gov/share/doc/qt-5.15.10 NIX_OUTPUT_QML=/nix/store/dsmdi9c0b6g09wfkbx1rx2xs2s8srcpd-autenticacao-gov/lib/qt-5.15.10/qml NIX_OUTPUT_PLUGIN=/nix/store/dsmdi9c0b6g09wfkbx1rx2xs2s8srcpd-autenticacao-gov/lib/qt-5.15.10/plugins CONFIG+=release CONFIG+=nostrip ) && make -f Makefile install
       > mkdir: cannot create directory '/usr': Permission denied
       > mkdir: cannot create directory '/usr': Permission denied
       > make: *** [Makefile:855: install_data] Error 1
       > make: *** Waiting for unfinished jobs....
       > make: *** [Makefile:890: install_web] Error 1
       > make[1]: Entering directory '/build/source/pteid-mw-pt/_src/eidmw/pteid-poppler'
       > make[1]: Nothing to be done for 'install'.
       > make[1]: Leaving directory '/build/source/pteid-mw-pt/_src/eidmw/pteid-poppler'
error: builder for '/nix/store/yazvf16r0anfs717jsh4nsw91pqgsl0s-autenticacao-gov.drv' failed with exit code 2;

Penso que este erro seja causado por estarem a assumir que a distribuição unix usa fhs e estao a tentar escrever para o /usr. O que não funciona em NixOS

Conseguem-me indicar onde é que o prefixo de instalação do pteid-poppler está a ser configurado?
E caso tenham mais prefixos hardcoded podem me indicar a localização deles?

@UnlimitedPugWorks
Copy link
Contributor

A nossa equipa não tem programadores com experiência em NixOS, logo tudo o que podemos fazer é oferecer dicas:

  1. Alterar os valores presentes em data.path e web.path no ficheiro pteid-mw.pro para valores apropriados para NixOS.
  2. Passar na invocação do qmake, o parâmetro PREFIX_DIR que é usados nos vários módulos do projeto como prefixo de instalação.

Aceitamos também pull requests para adaptar o nosso build ao NixOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants