PS: I believe it’s time to add a continuous integration pipeline to VeraCrypt repository on GitHub to catch such issues early on. I never had the time to put it in place but it seems to be a good one-time investment.
❤️
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've pulled the latest git and the initial problem is fixed but I'm afraid it more fails later on with the following
Linking veracrypt
Volume.a(Cipher.o): in function VeraCrypt::CipherAES::Decrypt(unsigned char*) const':
Cipher.cpp:(.text._ZNK9VeraCrypt9CipherAES7DecryptEPh+0x10): undefined reference toaes_decrypt'
Volume.a(Cipher.o): in function VeraCrypt::CipherAES::Encrypt(unsigned char*) const':
Cipher.cpp:(.text._ZNK9VeraCrypt9CipherAES7EncryptEPh+0xc): undefined reference toaes_encrypt'
collect2: error: ld returned 1 exit status
make[1]: *** [Main.make:162: veracrypt] Error 1
make: *** [Makefile:554: all] Error 2
Appreciate all your hard work on Veracrypt.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You can take a look at my drafts here which build both Linux and MacOS versions successfully, though even when the tests pass on MacOS, the volume mounting fails due to the macfuse/osxfuse requiring a reboot based on the comments on this page. FUSE-T could probably work here as they also mention. Their CI implementation is also a good example of how the containers could be used to test on multiple OS's, alpine, centos etc, maybe even build the packages there and use the CI upload to save the burden from you of creating packages.
Getting it to build on MacOS required addition of --without-libtiff for the FULL build, as I couldn't get it to build otherwise.
👍
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you @jertzukka for sharing your draft and the valuable information. This is very helpful!
I have now added support for FUSE-T for macOS so automatic testing will be possible from CI.
Regarding creating packages using CI, I prefer to refrain from this approach. For trust reasons, I prefer to build official packages in a trusted environment that I fully control.
Thank you for the tip about the --without-libtiff flag. I think we don't need libtiff for the macOS UI so it should be safe to use this flag all the time. I will give it a try.
Thanks again for your contribution!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have pushed the fix for the Makefile issue.
For context, I'm making changes to the Makefiles to simplify the build logic under various configurations. This is to help with the upcoming CI pipelines.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
I've pulled the latest git of Veracript but when i try to build i get the following error
Main.make:373: *** missing 'endif'. Stop.
make: *** [Makefile:554: clean] Error 2
I use a script to build the file and it's worked in the past.
I've tried to clean and pull again but get the same error.
Is there a problem with the latest code or something I've done?
thanks
Hi,
I have been working on macOS-related enhancements lately, and the changes might have introduced build issues on Linux. I will look into it and fix it.
PS: I believe it’s time to add a continuous integration pipeline to VeraCrypt repository on GitHub to catch such issues early on. I never had the time to put it in place but it seems to be a good one-time investment.
I have pushed a fix for this issue: https://sourceforge.net/p/veracrypt/code/ci/af8231b0ec121ff9b2f64503c3d5a28150626e3e/
Thank you for reporting it.
hi
thanks for the quick response.
I've pulled the latest git and the initial problem is fixed but I'm afraid it more fails later on with the following
Linking veracrypt
Volume.a(Cipher.o): in function
VeraCrypt::CipherAES::Decrypt(unsigned char*) const': Cipher.cpp:(.text._ZNK9VeraCrypt9CipherAES7DecryptEPh+0x10): undefined reference to
aes_decrypt'Volume.a(Cipher.o): in function
VeraCrypt::CipherAES::Encrypt(unsigned char*) const': Cipher.cpp:(.text._ZNK9VeraCrypt9CipherAES7EncryptEPh+0xc): undefined reference to
aes_encrypt'collect2: error: ld returned 1 exit status
make[1]: *** [Main.make:162: veracrypt] Error 1
make: *** [Makefile:554: all] Error 2
Appreciate all your hard work on Veracrypt.
Hi,
Indeed, there was another problem...I wanted to go fast and so I just checked that the Makefile is correct but I didn't perform actual build :-(
I have now fixed the issue and the build is successful: https://sourceforge.net/p/veracrypt/code/ci/a76c87383f1da3fd82a4955003601b2a433e48be/
I wanted to save time and I ended up loosing more...very good lesson!
Next step: putting in place CI pipeline on Github to catch such issues early.
You can take a look at my drafts here which build both Linux and MacOS versions successfully, though even when the tests pass on MacOS, the volume mounting fails due to the macfuse/osxfuse requiring a reboot based on the comments on this page. FUSE-T could probably work here as they also mention. Their CI implementation is also a good example of how the containers could be used to test on multiple OS's, alpine, centos etc, maybe even build the packages there and use the CI upload to save the burden from you of creating packages.
Getting it to build on MacOS required addition of --without-libtiff for the FULL build, as I couldn't get it to build otherwise.
Thank you @jertzukka for sharing your draft and the valuable information. This is very helpful!
I have now added support for FUSE-T for macOS so automatic testing will be possible from CI.
Regarding creating packages using CI, I prefer to refrain from this approach. For trust reasons, I prefer to build official packages in a trusted environment that I fully control.
Thank you for the tip about the
--without-libtiff
flag. I think we don't need libtiff for the macOS UI so it should be safe to use this flag all the time. I will give it a try.Thanks again for your contribution!
That's brilliant @idrassi it now builds successfully.
Thanks for the quick fixes.
Looks like the latest changes have broken it again on Linux?
Cleaning Platform
Cleaning Volume
Cleaning Driver
Cleaning Core
Main.make:139: *** invalid syntax in conditional. Stop.
make: *** [Makefile:574: clean] Error 2
Yes, but this time it is not a surprise as I was aware of it.
Thank you for the report, though. I should be able to push a fix in one hour.
I have pushed the fix for the Makefile issue.
For context, I'm making changes to the Makefiles to simplify the build logic under various configurations. This is to help with the upcoming CI pipelines.