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

fix/update_dependencies_sqlcipher_dockerfiles #215

Closed

Conversation

spital
Copy link
Contributor

@spital spital commented Sep 8, 2023

No description provided.

@aggstam
Copy link
Contributor

aggstam commented Sep 9, 2023

Hey @spital, sup?
PR looks good, will merge, but before we do I wanted to ask your input here: riscv.Dockerfile
As you can see that enables to build desired bins, not everything.
Do you think we could integrate it to rest docker files?
Also if you can find a more elegant way to do this please let us know.

K.R.

@spital
Copy link
Contributor Author

spital commented Sep 10, 2023

Hi, I saw it, I believe I tried some time ago (related to the news https://www.phoronix.com/review/visionfive2-riscv-benchmarks) emulated via docker on x64 on riscv64/alpine:edge and riscv64/ubuntu:22.04, but there were errors in compilation or something that did not look easy to fix, so I stopped trying. Arm is cheaper and faster so far afaik.

I will check it later, but no promises ;)

It can be "more elegant", e.g. put all in one file to cover all platforms, but that would run only with newer docker buildx and that one sometimes just freezes for me, so I did not bother to merge them. Often I rather use DOCKER_BUILDKIT=0 docker build ... to enforce the old one (but then no emulation).

@aggstam
Copy link
Contributor

aggstam commented Sep 10, 2023

@spital Hey, I think you missconcept my question.
I'm talking about the BINS part, where we enable the passing of argument to make command, so the docker builder can build specific bins, not all of them.
As for the elegant part, it was about the if statements, where we check if the binary exists and then copy it to a folder which we pass to an empty docker image to simply copy back to "host".

Platforms files should stay separated(as currently) so its easier to maintain each one.
No worries re: riscv, I handle it :)

@spital
Copy link
Contributor Author

spital commented Sep 11, 2023

I am sorry for misunderstanding.
The docker part should go like chatGPT suggested:

image

The elegant part - I have somewhere shell cmd to get bins from the Makefile, not finished, busy now.

My RiscV tests were from May
risc.dockerfiles.zip
attached

@aggstam
Copy link
Contributor

aggstam commented Sep 11, 2023

This is exactly what the provided docker file does, no gpt suggestions needed...

So can you add the same handling in rest dockerfiles or should I?

@spital
Copy link
Contributor Author

spital commented Sep 13, 2023

I am sorry, busy, I will update in about a month ...

@aggstam
Copy link
Contributor

aggstam commented Sep 13, 2023

@spital no need to be sorry mate, we are very greatful to have you around!

@spital
Copy link
Contributor Author

spital commented Oct 29, 2023

fix docker builds and tests and deps and copy executables

docker build . --shm-size=196m -t darkfi:fedora -f ./contrib/docker/Dockerfile.fedora
...
...
docker run darkfi:fedora ls -al
total 200512
drwxr-xr-x 1 root root     4096 Oct 29 15:22 .
drwxr-xr-x 1 root root     4096 Oct 29 10:47 ..
-rwxr-xr-x 1 root root 47264416 Oct 29 15:22 darkfid
-rwxr-xr-x 1 root root 48232680 Oct 29 15:22 darkfid2
-rwxr-xr-x 1 root root 27328584 Oct 29 15:22 darkirc
-rwxr-xr-x 1 root root 47501624 Oct 29 15:22 faucetd
-rwxr-xr-x 1 root root 25040976 Oct 29 15:22 lilith
-rwxr-xr-x 1 root root  5037648 Oct 29 15:22 vanityaddr
-rwxr-xr-x 1 root root  4860560 Oct 29 15:22 zkas

@spital
Copy link
Contributor Author

spital commented Oct 29, 2023

... and optionally with: --build-arg BINS="darkfid darkfid2"

@spital
Copy link
Contributor Author

spital commented Nov 7, 2023

artifacts created for x86_64 and aarch64 with fixed dockerfiles
https://github.com/spital/darkfi/releases/tag/v0.4.1-c423816da53-2023-11-02

DYOR

@spital
Copy link
Contributor Author

spital commented Nov 13, 2023

updated runtime dependencies, all targets rebuilt

artifacts created for x86_64 and aarch64 with fixed dockerfiles

@spital
Copy link
Contributor Author

spital commented Jan 22, 2024

added wabt dependency,
dockers build fine except for alpine_{x64,aarch64} and almalinux_aarch64.
artifacts created for x86_64 and aarch64 with fixed dockerfiles
https://github.com/spital/darkfi/releases/tag/v0.4.1-02e1885d4_2024-01-19

DYOR

@spital
Copy link
Contributor Author

spital commented Feb 19, 2024

For latest build ARM/x64

can be used via git apply or patch -p1 from https://github.com/darkrenaissance/darkfi/pull/<<PATCH_NUMBER>>.patch

#254
#253
#238
#215

builds at
https://github.com/spital/darkfi/releases/tag/v0.4.1-9f1649ef0__2024-02-17

DYOR

@spital spital closed this by deleting the head repository May 17, 2024
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

Successfully merging this pull request may close these issues.

None yet

2 participants