zabirauf / icsharp

C# kernel for Jupyter
Other
278 stars 62 forks source link

Build script problem #29

Closed thomasjm closed 7 years ago

thomasjm commented 8 years ago

I'm having a problem building ICSharp: the script Engine/build.sh contains the following command

cp src/*/bin/Release/* artifacts/Release/bin/

But when this commit gets run, it has a bunch of errors like this:

cp: will not overwrite just-created 'artifacts/Release/bin/ScriptCs.Contracts.dll' with 'src/ScriptCs.Contracts/bin/Release/ScriptCs.Contracts.dll'
cp: will not overwrite just-created 'artifacts/Release/bin/ScriptCs.Contracts.dll.mdb' with 'src/ScriptCs.Contracts/bin/Release/ScriptCs.Contracts.dll.mdb'
cp: will not overwrite just-created 'artifacts/Release/bin/Common.Logging.dll' with 'src/ScriptCs.Core/bin/Release/Common.Logging.dll'
cp: will not overwrite just-created 'artifacts/Release/bin/ScriptCs.Contracts.dll' with 'src/ScriptCs.Core/bin/Release/ScriptCs.Contracts.dll'
...

The reason is that several DLLs appear in several places, for example

src/ScriptCs/bin/Release/ScriptCs.Contracts.dll 
src/ScriptCs.Contracts/bin/Release/ScriptCs.Contracts.dll 
src/ScriptCs.Core/bin/Release/ScriptCs.Contracts.dll 
src/ScriptCs.Engine.Mono/bin/Release/ScriptCs.Contracts.dll 
src/ScriptCs.Engine.Roslyn/bin/Release/ScriptCs.Contracts.dll 
src/ScriptCs.Hosting/bin/Release/ScriptCs.Contracts.dll 

This seems like it should be straightforward to resolve but I'm not sure what the right thing to do is...

zabirauf commented 8 years ago

@thomasjm Which platforme are you trying to build on?

thomasjm commented 8 years ago

This is Ubuntu 16.04

zabirauf commented 8 years ago

The issue seems to be in the build script of the scriptcs engine. I've created the issue https://github.com/scriptcs/scriptcs/issues/1173 in scriptcs. Do you have any ideas of how to solve it? One way i was looking was to use rsync instead of cp.

thomasjm commented 8 years ago

Well, at a basic level I don't understand why a DLL with the same name is created in all of these different folders, and which one is the "real" one. Maybe they're symlinks? I haven't had time to dig into it unfortunately.

handflucht commented 7 years ago

@zabirauf it has been patched on master (https://github.com/scriptcs/scriptcs/issues/1173#issuecomment-244885636), can you please update the code?

Update: ahh, just realized, the problem is still there. Already opened another ticket; https://github.com/scriptcs/scriptcs/issues/1206

handflucht commented 7 years ago

If you look at the linked ticket, you will see, that the issue was solved. Depending on your linux you have to call build_brew.sh instead of build.sh. If you fine with it, I would create a PR for a build-script which has an optional parameter. If this parameter is set, build_brew.sh is executed, build.sh will be the default.

sirsh commented 7 years ago

if this is resolved, I am struggling with instructions. I can build and run the scriptscs independently but I cannot build the /iCSharp.Kernel.exe cleanly on Ubuntu using the initial instructions (or reconcile how to use build_brew.sh as a proxy) can someone confirm what clear steps can be used to build this jupyter kernel?

handflucht commented 7 years ago

@sirsh my plan for the weekend is to fork this repository, update the build-script and use the latest scriptcs. If I am done, I let you know

handflucht commented 7 years ago

@sirsh like I posted two days ago, I fixed it and created an PR https://github.com/zabirauf/icsharp/pull/30 @zabirauf can you please have look at it

Also you can checkout https://github.com/handflucht/jucs/commit/f86cbd844c39862ad084853d7a7f0f45e011678d and run a docker build on it. It will set up a docker-image with latest jupyter and fixed chsharp-kernel installed (I will push this to my master soon)

zabirauf commented 7 years ago

@handflucht thanks for fixing it. I will take a look

thomasjm commented 7 years ago

This is fixed as far as I can tell, closing...