Closed avdv closed 1 year ago
Really? I believe that the quic library should be able to compile on Linux. Actually, mew.org is centos and it runs this library. Would you send a log message?
It builds on x86_64 Linux, but not on aarch64 Linux.
See https://hydra.nixos.org/log/a40flc6yx42lb2wf51gh1f9cvkgk8n71-quic-0.0.1.drv
[82 of 82] Compiling Network.QUIC.Client ( Network/QUIC/Client.hs, dist/build/Network/QUIC/Client.o, dist/build/Network/QUIC/Client.dyn_o )
gcc: error: unrecognized command line option ‘-mavx2’
gcc: error: unrecognized command line option ‘-maes’
gcc: error: unrecognized command line option ‘-mpclmul’
`cc' failed in phase `C Compiler'. (Exit code: 1)
The first commit after release 0.0.1 fixed the compilation part: https://github.com/kazu-yamamoto/quic/commit/56257c28b49ef08690a9d8abd61b9be15eb7269a
But even after applying that patch, the tests do not link:
Linking dist/build/spec/spec ...
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9tIt_info$def: error: undefined reference to 'aead_do_decrypt'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9tKg_info$def: error: undefined reference to 'aead_do_encrypt'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9tHv_info$def: error: undefined reference to 'aes256gcm_setup'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9tHv_info$def: error: undefined reference to 'aes128gcm_setup'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9tHv_info$def: error: undefined reference to 'aes128gcm_setup'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9tHv_info$def: error: undefined reference to 'aes256gcm_setup'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:s9oiZ_info$def: error: undefined reference to 'supplement_get_mask'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9w1i_info$def: error: undefined reference to 'supplement_set_sample'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9w26_info$def: error: undefined reference to 'aead_do_decrypt'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9w3m_info$def: error: undefined reference to 'aead_do_encrypt'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9w0k_info$def: error: undefined reference to 'aes256gcm_setup'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9w0k_info$def: error: undefined reference to 'aes128gcm_setup'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9w0k_info$def: error: undefined reference to 'aes128gcm_setup'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(Crypto.o):ghc_654.ll:c9w0k_info$def: error: undefined reference to 'aes256gcm_setup'
/build/quic-0.0.1/dist/build/libHSquic-0.0.1-InoEZILFQxuF1QpVYfmiAQ.a(CryptoFusion.o):ghc_353.c:quiczm0zi0zi1zmInoEZZILFQxuF1QpVYfmiAQ_NetworkziQUICziCryptoFusion_fusionNewCo
ntext1_info: error: undefined reference to 'aead_context_new'
This requires commit https://github.com/kazu-yamamoto/quic/commit/6988661ff79f56f21f4c0135cca498b19e851a7f but due to some restructuring of the project files, it does not apply cleanly onto v0.0.1.
Ah. I have not released the current master which supports any platforms since I'm waiting for QUIC v2. Now QUIC v2 has been approved for RFC. I should check whether or not any parameter value changes exist and then release a new version. Meanwhile, would you try the current master in your environment?
Meanwhile, would you try the current master in your environment?
The current master works fine for me. Thank you!
Let's close this.
Hi.
The latest release on hackage is 0.0.1 which does not build on aarch64-linux.
Do you plan on publishing a new release soon?
Thank you!