davidrmiller / biosim4

Biological evolution simulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

make: *** No targets specified and no makefile found. Stop.

mikecann opened this issue · comments

I am excited to take your code for a spin.

I am following your docker instructions.

  1. I cloned the repo
  2. I ran docker build -t biosim4 . it build successfully
  3. I tried to run docker run --rm -ti -v pwd:/app --name biosim biosim4 make but get the error: make: *** No targets specified and no makefile found. Stop.

Is there something im missing here?

Im on windows 10 if that helps.

I am wondering if its the quotes around "pwd" that is doing it? I have tried various different kinds of quotes but still nothing

Hi @mikecann , sorry you're having a problem building the code. Those are back-ticks around the pwd, but I assume you got them when you copied and pasted the actual command, which, for reference is:

docker run --rm -ti -v `pwd`:/app --name biosim biosim4 make

You could try opening a bash shell in the docker container with the command:

docker run --rm -ti -v `pwd`:/app --name biosim biosim4 bash

That should open a shell at the project root directory. Get a directory listing and verify that the Makefile and the other top-level files are there. Assuming the Makefile is there, you should be able to issue a make command to build the executable.

Hi @davidrmiller thanks so much for your quick reply!

I am able to open a shell with docker run --rm -ti -v pwd:/app --name biosim biosim4 bash

but when I ls -a I get nothing in the /app directory

image

I went back and looked at the build and it was definately successful..

image

Im not really an expert with docker but should the docker file be copying the src into the container? I dont see where that is being done in https://github.com/davidrmiller/biosim4/blob/main/Dockerfile ..

Being neither a Windows user nor a docker expert myself, I'll have to appeal for community help with this one. Meanwhile, I believe that @mathematicalmichael hosts pre-built docker images that you can try -- see #8, with a disclaimer in #14 that they have not been tested with Windows.

Okay @davidrmiller, I appreciate you taking the time to reply to me.

Ill try out the pre-builts and see where I get to.

BTW if you are interested im trying to get this working as im thinking of a project simmilar to my cube (https://www.youtube.com/watch?v=l_GSGFhnWwo&t=1132s) but instead of the panels being in a cube they are all laid out horizontal and then mounted on the wall.

I think they will make for a really cool looking live artwork.

Anyways, first step is to get your code working :)

Love your cube project, very cool.

@mikecann you and i seem to have similar ideas wrt to making live art out of this code.

where are you running this command from? the pwd syntax is mac/linux-specific, replace it with your current working directory to mount it into /app (so, all of the repo should be visible there).

I'm not a windows users but know it really depends on how you're running this / with which shell. WSL will be a safe bet, but I think powershell could work too... I just... don't know the syntax equivalent to "print current path" there. Perhaps the instructions should be more specific about what's going on with the docker command / caveat to Windows, but let's figure out how to get it working with you first.

happy to help out over screenshare if you want to get on a discord chat or something =)

Having data written out in detailed logs that can be consumed by a separate system to create real-time animation would go a long way towards the types of viz I have in mind (vs the way animations are currently done)

@mathematicalmichael thankyou for your reply, glad to see that others find this so fascinating too and want to adapt it.

where are you running this command from? the pwd syntax is mac/linux-specific

I am running it from the root of the repo. So the steps I took were:

  1. Clone the repo
  2. cd into the cloned directory
  3. run docker build -t biosim4 . which completes successfully with the output shown in my screenshot above.
  4. Run "docker run --rm -ti -v pwd:/app --name biosim biosim4 bash" which fails as mentioned above

I am using powershell terminal from windows 10 docker 4.2.0

replace it with your current working directory to mount it into /app (so, all of the repo should be visible there).

I just tried again with: docker run --rm -ti -v C:\dev\me\experiments\biosim4:/app --name biosim biosim4 make and it worked!

So ye perhaps the docs should mention that pwd should be replaced with the absolute path to the repo root. :)

Having data written out in detailed logs that can be consumed by a separate system to create real-time animation would go a long way towards the types of viz I have in mind (vs the way animations are currently done)

Yes this! I was thinking either log output or parsing the generated images or something was how I was going to do it. Not 100% sure how I am going to get access to those logs / images from my "rendering" container... unless I make my "rendering" process live within the simulation container and just let it run on another thread (ensuring that the sim doesnt choke it)

@mikecann since you're mounting your local directory, you should in theory be able to run a completely independent container for rendering which mounts the same directory. ideally the biosim4 simulation is actually just outputting data and images / animations are handled separately.

@mathematicalmichael you are right, this occured to me after I wrote my last message.

Im embarressed to say that I know fairly little about docker despite living and breathing tech. I really should get to grips with it more!

ideally the biosim4 simulation is actually just outputting data and images / animations are handled separately.

Yes, the "rendering" process can just watch the output directory and push the images to the display.

I havent dug into it yet but im assuming there is a way to render each frame of the video as a BMP / binary file to disk rather than collate them into a video.

I have succeeded with docker run --rm -ti -v ${pwd}:/app --name biosim biosim4 make