./bootstrap: command not found (Raspberry Pi 4)

Thread Starter

ErnieM

Joined Apr 24, 2011
8,377
I am attempting to install the linux-GPID drivers onto my Raspberry Pi 4. There is actually a smidgen of info on how to do this in teh innerwebs. My issue comes with the bootstrap command (or app or program or code or whatever).

Following the directions from here I can get up to step 3.2 which involves using bootstrap. I cannot get this to work even after explicitly loading bootstrap.

terminal output:
pi@raspberrypi:/usr/local $ sudo git clone https://github.com/twbs/bootstrap.git
Cloning into 'bootstrap'...
remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 149225 (delta 16), reused 16 (delta 5), pack-reused 149184
Receiving objects: 100% (149225/149225), 150.35 MiB | 7.51 MiB/s, done.
Resolving deltas: 100% (98178/98178), done.
pi@raspberrypi:/usr/local $ sudo svn checkout svn://svn.code.sf.net/p/linux-gpib/code/trunk /usr/local/src/linux-gpib-code && cd /usr/local/src/linux-gpib-code/linux-gpib-kernel/ && sudo ./bootstrap && sudo ./configure && sudo make && sudo make install
Checked out revision 1869.
sudo: ./bootstrap: command not found
Would anyone have an idea what to do? I am completely new to linux so I am just making guesses about what I am seeing.

Also... if you have any info on installing linux-gpio on a Pi 4 please raise your hand!
 

Thread Starter

ErnieM

Joined Apr 24, 2011
8,377
Should anyone be interested... line 9 of the above post is a series of commands to load a Linux-gpib library. However, between the time the instructions I was following were written and I ran this that lib was updated, and there is no longer a bootstrap file.

The part of line 9 that reads "sudo ./bootstrap" means to run the command with "root" (admin) privileges. "./" means run the filename following. But no bootstrap file no joy, just an error.

I am well down the Linux rabbit hole now.
 

djsfantasi

Joined Apr 11, 2010
9,163
No, “./“ does NOT mean “run the file name following”. It means “the file is located in the current directory”.

There are several ways that might make this work.
1) Remove “./“. This will cause Linux to look for the file in the system path.
2) add a command before “sudo] ./bootstrap” which cds to the directory wherein bootstrap resides.
3) add the directory wherein bootstrap resides to the system path and try 1) again.
4) copy bootstrap to the directory where the script ends in before attempting to run the bootstrap command.
 

xox

Joined Sep 8, 2017
838
Should anyone be interested... line 9 of the above post is a series of commands to load a Linux-gpib library. However, between the time the instructions I was following were written and I ran this that lib was updated, and there is no longer a bootstrap file.


The part of line 9 that reads "sudo ./bootstrap" means to run the command with "root" (admin) privileges. "./" means run the filename following. But no bootstrap file no joy, just an error.


I am well down the Linux rabbit hole now.
Cloning the repo is not enough, you've still got to build the bootstrap "binary" (actually just a Javascript file).

Code:
git clone https://github.com/twbs/bootstrap
cd bootstrap
npm install -g
After that, you should be able to move forward with building and installing the GPIB library.
 

Thread Starter

ErnieM

Joined Apr 24, 2011
8,377
Nope. In this instance "bootstrap" is a file and not another program. I admit I really don't know what the dot-slash thing is, but it is intended to run a file in the current directory I just cd'd into.

Besides, I built and installed the GPIB library a couple of weeks back, so I do have a few things right.

And I never installed anything called "bootstrap" either.
 

xox

Joined Sep 8, 2017
838
Nope. In this instance "bootstrap" is a file and not another program. I admit I really don't know what the dot-slash thing is, but it is intended to run a file in the current directory I just cd'd into.

Besides, I built and installed the GPIB library a couple of weeks back, so I do have a few things right.

And I never installed anything called "bootstrap" either.
The GPIB build system requires the "bootstrap.js" library. That's why it's hanging, because it can't find it. You have already shown that you have cloned the repo. (Just look at your terminal output.)

The "bootstrap" script itself however is not stored on disk. Rather, it's automatically generated when you do "npm install". Sort of like how with some C libraries you do the whole "configure/make/make install" thing. But npm is actually just a node.js app, and so is the app that it generates in this particular case (ie: bootstrap). In fact if you inspect the package.json file in the bootstrap.js root directory you can see for yourself the code that generates it.

The "./" part means to execute some file in the CURRENT directory. Copy it to /usr/bin (or equivalent) and you can invoke the program without it. And by "file" I mean any executable. It could be a PERL script for all the system cares. As long as it has a valid interpreter and is marked executable.
 
Last edited:

Thread Starter

ErnieM

Joined Apr 24, 2011
8,377
Thanks, I get the ./ now.

"Bootstrap" is a rather generic term which may be the confusion. In this package linux-gpib-kernel-4.2.0.tar.gz the bootstrap is a Bourn script (possibly, copied from the interweb) located in the install files:

Terminal output:
pi@raspberrypi:~ $ cd /usr/local/src/linux-gpib-code/linux-gpib-kernel/
pi@raspberrypi:/usr/local/src/linux-gpib-code/linux-gpib-kernel $ ls
aclocal.m4  compat        configure     INSTALL      missing
AUTHORS     config.guess  configure.ac  install-sh   NEWS
bootstrap   config.h.in   COPYING       Makefile.am  README
ChangeLog   config.sub    drivers       Makefile.in  util
pi@raspberrypi:/usr/local/src/linux-gpib-code/linux-gpib-kernel $
bootstrap:
#!/bin/sh
#run this script to create the 'configure' script
if [ ! -f NEWS ] ; then
    touch NEWS
fi

aclocal -I m4 && \
#libtoolize --copy --force && \
autoheader && \
autoconf && \
automake -a -c
So I don't see any need here for other script processing apps.
(BTW, NEWS is an empty file)
 

xox

Joined Sep 8, 2017
838
Sorry, I was confused by your first post. Where exactly are you in the build process right now? Show some more console input and output maybe. That would help.
 

Thread Starter

ErnieM

Joined Apr 24, 2011
8,377
Hey *I* was confused as well when I wrote that post.

I completed the build back a couple of weeks ago. However, since I have attempted several times to repeat the process to check the notes I took. Good thing I made an image of that build because it fails and fails. The terminal logs are so long it is near impossible to catch some of the steps.

I'm going to note my issues and continue on with the task I was working on requiring this library in the first place.

Thanks for the help.
 

xox

Joined Sep 8, 2017
838
Hey *I* was confused as well when I wrote that post.

I completed the build back a couple of weeks ago. However, since I have attempted several times to repeat the process to check the notes I took. Good thing I made an image of that build because it fails and fails. The terminal logs are so long it is near impossible to catch some of the steps.

I'm going to note my issues and continue on with the task I was working on requiring this library in the first place.

Thanks for the help.
Geez, yeah. Well just start from the top, re-examine everything until you find the snag. You'll get it eventually.
 
Top