NodeOS / nodeos-cross-toolchain

5 stars 6 forks source link

Error: no rule to make target "mrproper" #3

Open Coretool opened 8 years ago

Coretool commented 8 years ago

The title does the trick... Make can't find a the mrproper make file (?)!

This is maybe caused by an error that I got a bit earlier at the preinstall script:

0curl: (77) error setting certificate verify locations:

However, rerunning the script seems to fix the error since it just finishes without error. Any idea @piranna ?

piranna commented 8 years ago

That's really strange... maybe it failed to download? mrproper just do an in-depth clean-up of the Linux kernerl source code, so I would try to download it again. I think this would explain why you got the curl error and why it worked when executed twice.

Coretool commented 8 years ago

Yes, there is no download of mrproper... Did it just skip it afterwards or what ?

piranna commented 8 years ago

No, mrproper is a target of the Makefile of Linux kernel, so probably it got fixed itself.

Coretool commented 8 years ago

The problem itself isn't fixed, just the problem with downloading it. The build still fails.

piranna commented 8 years ago

Could you be able to upload it somewhere so I can take it a look? If you want you could be able to fork this project and upload your code to your fork, so later it would be easier to integrate your changes.

Coretool commented 8 years ago

I didn't change anything ^^ but I can give all the error messages that I got.

piranna commented 8 years ago

So it's a literal cut&paste from the nodeos-crosstoolchain folder here on the NodeOS repo? It should work... If it's so, I could be able to replicate it myself and update this repo and leave it in a working state where you can continue.

Coretool commented 8 years ago

First, I cloned the repo. Then I tried to run the preinstall script. This runs up to the point where it throws:


0curl: (77) error setting certificate verify locations:
  CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
xz: (stdin): File format not recognized
tar: Child returned status 1
tar: Error is not recoverable: exiting now

It may also be an error on my side, but I am not sure. However, running this a second time won't throw an error. I think all the dependencies are now in place (binutils, gcc, linux and musl)

I continue to the install script. There, the only change I did was removing /scripts/ from /scripts/adjustEnvVars (15th line). The install scripts runs into a missing mrproper:

[coretool@Eddy scripts]$ ./install
'/home/coretool/nodeos-cross-toolchain/scripts/out/x86_64-nodeos-linux-musl/usr' -> '.'
'/home/coretool/nodeos-cross-toolchain/scripts/out/x86_64-nodeos-linux-musl/lib64' -> 'lib'
Extracting Linux headers
make: *** No rule to make target 'mrproper'.  Stop.

Since mrproper is part of the kernel tree, it may be an error with the kernel itself...

EDIT I think I found the error (it's sad). There is no kernel source code ! I think I have to fetch it again/ change something in the preinstall script. You can probably close this one issue now. (Since I can't.) I will make a pull req when I fixed it.

piranna commented 8 years ago

xz: (stdin): File format not recognized

What version are you using? xz files were not used since A LONG time ago... Now all downloads are .tar.gz. Are you using the code from this repo? It's outdated, you should replace it with the code from NodeOS.

I continue to the install script. There, the only change I did was removing /scripts/ from /scripts/adjustEnvVars (15th line).

Don't do it, left it as is.

Coretool commented 8 years ago

What version are you using ?

I didn't change anything. It's 4.0-rc7 like in the script.

piranna commented 8 years ago

What version are you using ?

I didn't change anything. It's 4.0-rc7 like in the script.

What version of the script... but yes, that confirm me that you are using this repo code. Replace it with the code from node_modules/nodeos-barebones/node_modules/nodeos-crosstoolchain from NodeOS repo.

Coretool commented 8 years ago

Ok, I'll do that. However, compilation has to wait since I don't have time to do that now :/

piranna commented 8 years ago

Don't worry.

piranna commented 8 years ago

I've just updated the content of the repo with latest one from NodeOS, it was easier than I though :-) Could you be able to take it another look? ;-)

piranna commented 8 years ago

preinstall script doesn't work, I'm going to make it generate a basic version and we'll see later where to continue.

piranna commented 8 years ago

Ok, now it should not give you any problem to compile :-) We could change the build process to add it on the prepublish stage but we would need to add a .npmignore file. Publish the generated fragments is not an option because they are 300mb, only solution is to use prebuild. What do you think?

piranna commented 8 years ago

By using prebuild-install this should be fixed now. Can you confirm it?