Particle Dev Compile Timeouts

For months if not a year now, I get frequent compile failures of a sort. About a minute after hitting the cloud compile button, it says success, but there is no binary created. If I try the command line compile, it just says “Compile failed. Exiting. Server error.” It really feels to me like a timeout, and usually just retrying a couple times or restarting Dev gets it to go through. I wouldn’t be surprised if we have a much larger project size than most users, but I’m at a point where I can’t get the build to go through at all anymore.

I just tried the local compiler package for Particle Dev, but that is broken on the current version of Docker. I guess I will try the local toolchain now, but it would be great if I could continue to just work from Particle Dev. Is this an issue anyone else has encountered? Is it a timeout on a long-running compile? Thanks.

I’m sorry you’re experiencing those issues. Like you said, the local compile package for Dev is currently broken but we’re not abandoning it. Recently we’ve made a big overhaul of our cloud compiler to use the Docker images which will allow having the same behavior when compiling locally using them. There’s still work to be done on the CLI/Dev part to make it accessible but until then you might try using compile.sh script I made. It’s a temporary measure but please let me know if it helped.

2 Likes

Thanks, @suda. I was able to compile running the full toolchain running natively, to get myself unblocked. It’s not very pretty, but it seems to be working. Once the local compile package for Dev is up and running again, I’d definitely prefer that.

Compiling with the cloud from Particle Dev is still dead in the water for me though. Frustrating.

We just updated our particle-dev-local-compiler package to work with latest buildpacks. You could give it a spin!

Hmmm, I’m trying to upgrade the package to 0.1.0, but I get the following error. Seems like the version of node bundled with Particle Dev is too old for the new version of the local-compiler package on Windows?

npm WARN engine sb-exec@3.1.0: wanted: {“node”:">=6.0.0"} (current: {“node”:“0.10.40”,“npm”:“2.13.3”})
npm WARN engine strip-bom-buf@1.0.0: wanted: {“node”:">=4"} (current: {“node”:“0.10.40”,“npm”:“2.13.3”})
npm ERR! Windows_NT 6.2.9200
npm ERR! argv “C:\Users\steph\AppData\Local\particledev\app-1.8.0\resources\app\apm\bin\node.exe” “C:\Users\steph\AppData\Local\particledev\app-1.8.0\resources\app\apm\node_modules\npm\bin\npm-cli.js” “–globalconfig” “C:\Users\steph\.particledev\.apm\.apmrc” “–userconfig” “C:\Users\steph\.particledev\.apmrc” “install” “C:\Users\steph\AppData\Local\Temp\d-11745-32756-1j1m353\package.tgz” “–target=0.36.8” “–arch=ia32” "–msvs_version=2013"
npm ERR! node v0.10.40
npm ERR! npm v2.13.3
npm ERR! code ENOTSUP

npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your version of node/npm: docker-compose-tool@0.0.1
npm ERR! notsup Required: {“node”:">= 6.2"}
npm ERR! notsup Actual: {“npm”:“2.13.3”,“node”:“0.10.40”}

This might be caused by an older version of Node bundled with Particle Dev App. Could you try installing it in latest Atom?

Hmmm, that’s blowing up on me too. I downloaded and installed Atom 1.16, tried to install particle-dev and then particle-dev-complete, but both blew up with a bunch of errors.

https://pastebin.com/EdsBFJYD

I’ve been using https://github.com/spark/particle-dev-app/releases/tag/v1.8.0 which always works fine for everything else.

That’s caused by the serialport module which has to be compiled from sources for Atom. Installing Xcode should help. This is why we provide the Particle Dev App which already bundles all the modules. As the local compiler is still a alpha feature it might have some rough edges.

I’m on Windows, actually. Per your link though, I have Git and Visual Studio, though not the version mentioned.

Oh, what might help is installing the recommended node-gyp toolchain with: npm install --global --production windows-build-tools. This should install everything in version they need.

1 Like

Cool, thanks. I have all the packages installed successfully now. Compiling locally gives me this though:

make -C ../modules/photon/user-part all
make[1]: Entering directory '/firmware/modules/photon/user-part'
make -C ../../../user
make[2]: Entering directory '/firmware/user'
build.mk:63: *** "No sources found in /workspace/". Stop.
make[2]: Leaving directory '/firmware/user'
../../../build/recurse.mk:11: recipe for target 'user' failed
make[1]: Leaving directory '/firmware/modules/photon/user-part'
make[1]: *** [user] Error 2
../build/recurse.mk:11: recipe for target 'modules/photon/user-part' failed
make: *** [modules/photon/user-part] Error 2
Local compilation failed

I also get an error finding an include file with the cloud compiler now. Has anything changed in this setup with the file structures? I have subfolders for a lot of things, but it all gets flattened out in the version I've been using, so the #include statements don't reference the subfolders.

Hmm this looks like no sources were sent to the local compiler. Could you take a screenshot of Atom window?

Yes the project flattening shouldn’t happen. It might be a regression in our tools when using the online compilation. We’ll look into this! The local compiler should match the directory structure exactly so it’s possible you’ll need to use relative paths when including files.

Well, flattening out my folder structure seemed to help, since that's what my #includes assume given the cloud compile behavior of the current, official Particle Dev installer.

If I compile against 0.6.2 I get a normal-looking compilation error, probably due to some change under the hood. However if I use 0.6.1, which we currently target, I get this after a long while:

Redis error Error: Redis connection to 10.0.75.1:6379 failed - connect ETIMEDOUT 10.0.75.1:6379
Local compilation failed

I imagine connecting to 10.0.75.1 will be pretty difficult from my network. :slight_smile:

That doesn't mesh with the previous error though, which was actual compiler output, just the missing project files, like you said. I only just now compiled against 0.6.2 for the first time accidentally. Is there a problem switching back to 0.6.1? I wiped Atom including the user folder and re-installed, but still getting the same message.

Thanks for working through all this. Hopefully it'll be helpful to you as well, haha.