Trouble installing/building node-roboticscape on blue

Is anyone using node-roboticscape on beaglebone blue, and can provide some instructions for a successful “npm install”?

I have spent hours trying various approaches on every OS in the beagle OS repository and I can’t get a successful install/build of node-roboticscape. I could attach results, but they vary from OS to OS and version of node/npm and whether the OS undergoes a “apt-update/upgrade”.

If someone is successfully using a recent version and can provide the step-by-step, I’d truly appreciate it! Thanks!~

BobM

Hello @bmeinsch ,

I see that this was not too popular but I did find something: https://github.com/jadonk/node-roboticscape

I think you are referring to this program. It has been four years since any building of any sort from what I can tell in the repo.

Seth

P.S. I tried years ago to handle this source…

Like you, I never got it to build w/ npm, i.e. most likely due to the dependencies. npm dependencies are a dime a dozen and change, get altered, and/or disappear. People just erase them…

If you want, we can try to rehash this repo. RoboticsCape stuff is neat to me. I use the BBBlue but never got the npm install to work for whatever the reason was at the time.

Oh and the first repo. was the node.js bindings for this repo: Robot Control Library: Main Page .

Thanks for the reply Seth. I agree part of the issue is that the code base is pretty stagnant. And the last commit by vaishnavachath seems to have redefined many things (LED names was the part I researched) and I can’t get it to build anymore.

I finally found a combination of OS and process that works, so I’ll post a (poor) answer to my own question in case it is of use to someone. See below.

BobM

  1. program sd card using OS: bone-debian-9.5-iot-armhf-2018.10.07…
  2. boot BBlue (do not do any of the upgrades (sudo apt-get …) suggestions. It seems to mess things up.)
  3. setup WiFi (connmanctl, etc.)
  4. Expand partition (sudo /opt/scripts/tools/grow_partition.sh)
  5. reboot (sudo reboot now)
  6. install roboticscape (sudo npm install --global roboticscape). Many deprecation warnings, but it works.
1 Like

@bmeinsch ,

You got it? Nice…I thought it was left in the past for some reason. I always thought it was a popularity thing but in fact, people may have just been busy doing other things.

Seth

P.S. Have you gotten to handle a peripheral yet or a module via the peripheral? Oh! It seems there was an update that I found from beagleboard.org in 2020 on the librobotcontrol.so.1 file: librobotcontrol-1.0.5 is the make/model for the BBBlue and Robotics Cape.

I am trying to link it now so I can use the node-roboticscape lib. for use. If you get bored and want to share, please do. If not, I understand! Keep on!

Hello @bmeinsch ,

Seth here once more. Have you found out how to install the librobotcontrol library from source so the node-roboticscape works better than average?

Seth

P.S. There are some postinst and preinst and other files I thought would work pre/post the install.

dpkg -i does not work for me. I tried to build via cmake and make. It sort of worked. I received many errors but it fully built w/out installing.

Seth,

I did not quite get node-roboticscape to work from source. As I mentioned, the most recent check-in by vaishnavachath redefined a bunch of things (I assume to coordinate with some recent version of the underlying C librobotcontrol library) but that broke the npm build on every Beagle OS I tried.

I was about to attempt to rebuild using the “May 24, 2017 Commit”, which I think would have worked, but I stumbled across the successful install sequence above and gave up on the build from source (after spending many hours to figure things out…).

Not sure if anyone is maintaining node-roboticscape, but I’ll probably get around to submitting a bug report (after spending another 1-2 hours to start from scratch, load latest and greatest everything, collect the documentation, post it, …) :frowning:

BobM

Bob @bmeinsch ,

Nice. Okay, I think this is how it is supposed to work.

  1. Install librobotcontrol
  2. Install node-roboticscape
  3. Enjoy…

The librobotcontrol library is vast, nice, and full of ideas. node-roboticscape is a wrapper around that librobotcontrol, right.

So, my thought was to turn 1. and then 2. into a working model. I have the ideas down pat on the node-roboticscape wrapper but there is still work to be done on my end w/ the librobotcontrol library, e.g. successfully installing it, finding an image w/ the PRU available, and then moving onto the node-roboticscape wrapper.

Seth

P.S. If you do not want to post it and if you want to keep it a secret, that is find by me and it is of no consequence to me or anyone else I guess. I just wanted to share and work together, i.e. as I have been in and out of the librobotcontrol lib. for years and just saw it again to test things.

Bob,

The reason I am bringing up librobotcontrol are these ideas:

  1. It is a full featured package that node-roboticscape is wrapped around.
  2. Alone, so far to this day, I have not been able to install it from source properly.
  3. I thought we could share what works, hash them in, show what does not work, hash that in, and then be merry!

Anyway, that is what I was getting after here. I know the libs. are not simplistic to add into the newer images due to PRU ideas being developed and other tidbits.

Seth

P.S. I think there is something called bb-config or something similar that is being developed that handles the PRUs on the am335x SiP BBB. I just do not know if this is what is going to be needed but I will find out!

Also…

I will be working on the BBBlue today a bit to handle installing the librobotcontrol lib from source. Hopefully, I will have some updates soon and not just jargon and chit-chat.

Dude,

Mr. Bob. Seth here again. Fingers crossed, I never really act like this in life but w/ electronics, whooo-hooo, keep 'em coming! Fingers crossed? Anyway…

  1. Build the librobotcontrol first
  2. then use the wrapper!

Seth

P.S.

Use debmake
...
Install dependencies
...
I think the dependences are about 500MB of space. One could port to the BBBlue via Debian?
...
Then...
...
Follow the debmake handbook on how to install .deb files from .tar files...

Okay! Then, the wrapper!

Sorry, debmake no longer exists or is broken. Sorry. Use dh-make.

Hi again Seth.

I also would like the latest node-roboticscape/librobotcontrol to “just build and work” as I have an ongoing project that needs these. I just got very frustrated and wasted a lot of time trying to get them loaded so I could continue on with my project!

I’m very happy to share any knowledge I have, or to collaborate with you on getting this to work. I have to warn you that, while I’m an experienced programmer, I don’t have a lot of background in Linux/Node/build process and it has been a learning process just to get where I am (still a novice).

As to the process, your understanding is also mine ( 1) librobotconntrol; 2) node-roboticscape; 3) Enjoy and be Happy!).

I’m willing and motivated to make this work…I’m just afraid my expertise in this area is limited.

Tell you what, I’ll try to build librobotcontrol from source today and see what happens. At minimum, I might learn something new, and if the code is good (or I’m lucky) it will work.

Not important for the librobotcontrol build, but the 1st problem I had after loading latest BBlue OS and doing the “apt-get” upgrades, was the resulting incompatible versions of npm and node. So there was a fundamental problem…

BobM

1 Like

Hello Bob,

Seth here again. I am not experienced in programming. I am new in every such fashion. I mean…I see source and depict what it may do at times but not 100% so far. Use dh-make which can be installed via sudo apt install dh-make.

On the BBBlue, one can use the build process to just build the .deb from the .tar file after it has been unpacked. Also, sudo apt install devscripts build-essential

  1. sudo apt install dh-make
  2. wget https://github.com/beagleboard/librobotcontrol/archive/refs/tags/V1.0.5.tar.gz
  3. tar -xvf V1.0.5.tar.gz
  4. cd librobotcontrol-1.0.5
  5. dh_make
  6. Follow along and build
  7. If that fails:
    a. dh_make --createorig
    b. sudo dpkg-source -b .
    c. sudo dpkg-buildpackage

Those commands should get you your .deb files. Then, sudo dpkg -i TheFile(s).deb !

I am currently trying to get into the area where the developers discuss the future of this package. Hopefully, someone lets me in?

Seth

P.S. Anyway, if they have moved on for whatever reason, building w/ you may prove valuable for both of us?

Right…

I noticed how difficult npm and nodejs have become. They split somewhere along the lines and npm may or may not be the package manger for nodejs any longer. I cannot keep up. I will research this again.

Seth

P.S. This may be difficult to stomach but here: Packages and modules | npm Docs . I think nodejs is of its own now. I have not completely figured out what took place and when but things have dramatically changed. Also, I noticed NVM (Node Version Manager) can install nodejs and npm too.

I say stick w/ the Debian 11 Bullseye installs if at all possible. But, if you got to build, build in glory!

Here is the build from: sudo npm install --global .

If you see why, please do confirm something to me. I will install the headers and retry.

@bmeinsch ,

I have updated to a new build command and the output is here: npm install - Pastebin.com

Seth

P.S. I think these dependencies are up-to-date or out-of-date. Either way, there are confusing my thought patterns and creating a bum system for now. I am sorry. Oh…

"dependencies": {
    "gyp": "^0.5.0",
    "nan": "^2.5.1",
    "node-gyp": "^9.3.1"

That is in the file package.json. I cannot be sure yet.