123elf icon indicating copy to clipboard operation
123elf copied to clipboard

Dockerfile

Open apiening opened this issue 2 years ago • 6 comments

I would love to give this a test drive out of curiosity. But it doesn't look easy for me to build this, or is it? It would be great to have a Dockerfile or docker image so that running this would be super easy. Maybe someone is already working on this?

apiening avatar May 27 '22 16:05 apiening

A Dockefile would be awesome.

I would suggest a multi-staged build, requiring the disk images be in the root directory. I may volunteer for this, if this is something @taviso would like to have done.

Publishing a binary image on Docker Hub may not be a good idea, due to possible legal issues (see ToS 4.3, 11)

mikeslattery avatar May 27 '22 17:05 mikeslattery

I'm definitely interested, but I'm not a docker expert - there is an open PR from @gdm85 (see #10)!

Sorry I'm being slow getting to these requests, I'm really excited to get this working well but there's so much to do 😆

taviso avatar May 27 '22 21:05 taviso

I would suggest a multi-staged build, requiring the disk images be in the root directory

I went for a volume-mount there in #10.

Sorry I'm being slow getting to these requests, I'm really excited to get this working well but there's so much to do

No worries but I humbly suggest to get #11 better sooner than later because...it can act as a guard against breakage :sweat_smile: for example I am not able to build it anymore with latest changes after pulling (tried with ./run-from-container.sh 20 and ./run-from-container.sh 22):

/home/lotus/source/main.c:59: undefined reference to `banner_printed'
./ld: /home/lotus/source/main.c:66: undefined reference to `banner_printed'
./ld: wrappers.o: in function `__unix_fcntl':
/home/lotus/source/wrappers.c:139: undefined reference to `__fcntl_time64'
./ld: /home/lotus/source/wrappers.c:172: undefined reference to `__fcntl_time64'
./ld: /home/lotus/source/wrappers.c:190: undefined reference to `__fcntl_time64'
./ld: wrappers.o: in function `__unix_stat':
/home/lotus/source/wrappers.c:258: undefined reference to `__stat64_time64'
./ld: wrappers.o: in function `__unix_fstat':
/home/lotus/source/wrappers.c:273: undefined reference to `__fstat64_time64'
./ld: patch.o: in function `display_column_labels':
/home/lotus/source/patch.c:58: undefined reference to `get_column_labels'
./ld: /home/lotus/source/patch.c:64: undefined reference to `get_column_labels'
./ld: atfuncs/atfuncs.a(date.o): in function `at_date':
/home/lotus/source/atfuncs/date.c:16: undefined reference to `get_integer'
./ld: /home/lotus/source/atfuncs/date.c:17: undefined reference to `get_integer'
./ld: /home/lotus/source/atfuncs/date.c:18: undefined reference to `get_integer'

gdm85 avatar May 29 '22 09:05 gdm85

Thank you for the feedback! Didn't think of the licensing issue regarding a docker image, honestly. I'll watch the project and try it when https://github.com/taviso/123elf/pull/10 is merged or a similar simple build option that works with plain Ubuntu linux.

apiening avatar May 29 '22 12:05 apiening

/home/lotus/source/main.c:59: undefined reference to banner_printed' ./ld: /home/lotus/source/main.c:66: undefined reference to banner_printed' ./ld: wrappers.o: in function `__unix_fcntl':

I think maybe just try make clean? I think I need to improve the Makefile to notice when the symbols change!

taviso avatar May 29 '22 13:05 taviso

Yes, that worked!

gdm85 avatar Jun 01 '22 20:06 gdm85