Error Compiling 1.2e through script

I am posting the full log from everything after I followed the Debian Build Script info on site. 1.2d to 1.2e. (I had to add sudo due to permission denied problem).

pi@KD7CAO-TouchPi:~ $ cd ~/Downloads
pi@KD7CAO-TouchPi:~/Downloads $ chmod =x fullbuild-wfview.sh
pi@KD7CAO-TouchPi:~/Downloads $ ./fullbuild-wfview.sh
bash: ./fullbuild-wfview.sh: Permission denied
pi@KD7CAO-TouchPi:~/Downloads $ sudo ./fullbuild-wfview.sh
This script will download dependencies, build, and install wfview.
It is designed for debian-based systems and
makes use of the apt command to satisfy dependencies.

If it has been a while since this script was downloaded,
or if there are build errors, please use this command to
download a newer version of this script:

wget https://gitlab.com/eliggett/scripts/-/raw/master/fullbuild-wfview.sh?inline=false -O fullbuild-wfview.sh; chmod 755 fullbuild-wfview.sh

The ‘sudo’ command is used to run some apt commands as root.
It (the sudo command) will ask for your password during this process.
You should look at the source of this script if you have any doubts.

Do you wish to install dependencies first?
If this is your first time building wfview, please select ‘y’, otherwise, press ‘n’.
If you are not sure, select ‘y’ to be safe.

Press Y to install dependencies (Y/n): y
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
build-essential is already the newest version (12.9).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
qt5-qmake is already the newest version (5.15.2+dfsg-9+rpi1).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Package qt5-default is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package ‘qt5-default’ has no installation candidate
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
libqt5core5a is already the newest version (5.15.2+dfsg-9+rpi1).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
qtbase5-dev is already the newest version (5.15.2+dfsg-9+rpi1).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
libqt5serialport5 is already the newest version (5.15.2-2).
libqt5serialport5-dev is already the newest version (5.15.2-2).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
libqt5multimedia5 is already the newest version (5.15.2-3).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
libqt5multimedia5-plugins is already the newest version (5.15.2-3).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
qtmultimedia5-dev is already the newest version (5.15.2-3).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
libopus-dev is already the newest version (1.3.1-0.1).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
git is already the newest version (1:2.30.2-1).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Almost done. Now we will install libqcustomplot.
One of these two commands will fail, which is ok.
Only one of the next two commands need to work.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package libqcustomplot1.3
E: Couldn’t find any package by glob ‘libqcustomplot1.3’
E: Couldn’t find any package by regex ‘libqcustomplot1.3’
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
libqcustomplot-dev is already the newest version (2.0.1+dfsg1-4).
libqcustomplot-doc is already the newest version (2.0.1+dfsg1-4).
libqcustomplot2.0 is already the newest version (2.0.1+dfsg1-4).
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
Installing the required qcustomplot was successful.
Done installing dependencies.
Press enter to download wfview’s source code.
Now downloading the latest code from the master branch.
The files will be downloaded into a directory named: wfview–20220813–11-20-38
Cloning into ‘wfview’…
remote: Enumerating objects: 161, done.
remote: Counting objects: 100% (161/161), done.
remote: Compressing objects: 100% (152/152), done.
remote: Total 161 (delta 12), reused 109 (delta 8), pack-reused 0
Receiving objects: 100% (161/161), 1.44 MiB | 1.63 MiB/s, done.
Resolving deltas: 100% (12/12), done.
Creating build directory ‘build’:
The build process may take a few minutes.
Press enter to start.
Starting build process.
Info: creating stash file /home/pi/Downloads/wfview–20220813–11-20-38/build/.qmake.stash
/usr/lib/qt5/bin/uic …/wfview/wfmain.ui -o ui_wfmain.h
/usr/lib/qt5/bin/uic …/wfview/calibrationwindow.ui -o ui_calibrationwindow.h
/usr/lib/qt5/bin/uic …/wfview/satellitesetup.ui -o ui_satellitesetup.h
/usr/lib/qt5/bin/uic …/wfview/selectradio.ui -o ui_selectradio.h
/usr/lib/qt5/bin/uic …/wfview/repeatersetup.ui -o ui_repeatersetup.h
/usr/lib/qt5/bin/uic …/wfview/transceiveradjustments.ui -o ui_transceiveradjustments.h
/usr/lib/qt5/bin/uic …/wfview/aboutbox.ui -o ui_aboutbox.h
g++ -c -pipe -s -fvisibility=hidden -fvisibility-inlines-hidden -faligned-new -O2 -Wall -Wextra -D_REENTRANT -fPIC -DWFVIEW_VERSION="1.2e" -DBUILD_WFVIEW -D__LINUX_PULSE__ -DQT_DEPRECATED_WARNINGS -DQCUSTOMPLOT_COMPILE_LIBRARY -DUSE_NEON -DOUTSIDE_SPEEX -DRANDOM_PREFIX=wf -DEIGEN_MPL2_ONLY -DEIGEN_DONT_VECTORIZE -DPREFIX="/usr/local" -DHOST="hostname" -DUNAME="whoami" -DGITSHORT="a9e9c80" -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SERIALPORT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I…/wfview -I. -I…/wfview/resampler -I/usr/include/arm-linux-gnueabihf/qt5 -I/usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -I/usr/include/arm-linux-gnueabihf/qt5/QtPrintSupport -I/usr/include/arm-linux-gnueabihf/qt5/QtWidgets -I/usr/include/arm-linux-gnueabihf/qt5/QtGui -I/usr/include/arm-linux-gnueabihf/qt5/QtSerialPort -I/usr/include/arm-linux-gnueabihf/qt5/QtNetwork -I/usr/include/arm-linux-gnueabihf/qt5/QtCore -I. -I. -I/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -o main.o …/wfview/main.cpp
g++ -c -pipe -s -fvisibility=hidden -fvisibility-inlines-hidden -faligned-new -O2 -Wall -Wextra -D_REENTRANT -fPIC -DWFVIEW_VERSION="1.2e" -DBUILD_WFVIEW -D__LINUX_PULSE__ -DQT_DEPRECATED_WARNINGS -DQCUSTOMPLOT_COMPILE_LIBRARY -DUSE_NEON -DOUTSIDE_SPEEX -DRANDOM_PREFIX=wf -DEIGEN_MPL2_ONLY -DEIGEN_DONT_VECTORIZE -DPREFIX="/usr/local" -DHOST="hostname" -DUNAME="whoami" -DGITSHORT="a9e9c80" -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SERIALPORT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I…/wfview -I. -I…/wfview/resampler -I/usr/include/arm-linux-gnueabihf/qt5 -I/usr/include/arm-linux-gnueabihf/qt5/QtMultimedia -I/usr/include/arm-linux-gnueabihf/qt5/QtPrintSupport -I/usr/include/arm-linux-gnueabihf/qt5/QtWidgets -I/usr/include/arm-linux-gnueabihf/qt5/QtGui -I/usr/include/arm-linux-gnueabihf/qt5/QtSerialPort -I/usr/include/arm-linux-gnueabihf/qt5/QtNetwork -I/usr/include/arm-linux-gnueabihf/qt5/QtCore -I. -I. -I/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -o wfmain.o …/wfview/wfmain.cpp
In file included from …/wfview/audiohandler.h:32,
from …/wfview/udphandler.h:27,
from …/wfview/rigcommander.h:11,
from …/wfview/wfmain.h:20,
from …/wfview/wfmain.cpp:1:
…/wfview/audioconverter.h:17:10: fatal error: eigen3/Eigen/Eigen: No such file or directory
17 | #include <eigen3/Eigen/Eigen>
| ^~~~~~~~~~~~~~~~~~~~
In file included from …/wfview/audiohandler.h:32,
from …/wfview/udphandler.h:27,
from …/wfview/rigcommander.h:11,
from …/wfview/wfmain.h:20,
from …/wfview/main.cpp:14:
…/wfview/audioconverter.h:17:10: fatal error: eigen3/Eigen/Eigen: No such file or directory
17 | #include <eigen3/Eigen/Eigen>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
compilation terminated.
make: *** [Makefile:970: wfmain.o] Error 1
make: *** Waiting for unfinished jobs…
make: *** [Makefile:936: main.o] Error 1
Error in make step.
wfview was not compiled.

Hi Eric.

It looks like you are using an old version of the build script. Try downloading it again.

73

Phil M0VSE

Following the information listed on the website and copied below:

Debian Build Script:

For debian-based systems (Ubuntu, Mint, Debian, Raspberry Pi, etc), you may obtain the latest version of the master branch of wfview by running this build script:

https://gitlab.com/eliggett/scripts/-/blob/master/fullbuild-wfview.sh

Simply download the script to ~/Downloads and run the following commands:

cd ~/Downloads
chmod +x fullbuild-wfview.sh
./fullbuild-wfview.sh

The script will install dependencies, download the source code for wfview, compile, and install. You may edit the script to specify a specific code branch if you wish (see the script code for details). You may run the script any time to obtain the latest version of wfview (beta-quality). If the script fails, re-download the script and try again.

I have downloaded the script three times to my RaspberryPi and it fails every time at the same spot. Like I said previously, I have to use sudo for the ./fullbuild-wfview.sh to get into the script. No big deal on that part, yet it fails each time still. Same errors.

looks like eigen3 is missing.

I can’t see any evidence from the post of the output of the build script that it has tried to install it, when you downloaded the new script, did you allow it to install dependencies?

You can always just install eigen3 manually.

sudo apt-get -y install libeigen3-dev

I’m also not sure why you need to run the whole script with sudo as each line that requires root permission, will request it?

73 Phil M0VSE

if you would start an empty directory and wget the fille as -rw-r–r–

and now you apply chmod =x so : —x–x–x and it won’t be executable for the user
so sudo is used.

Also if you then wget the file again – it won’t overwrite it either which leads to have you still the old version because it does not have the w flag.

Now the file was downloaded some time ago which would lead to believe that a previous =x applied causes the file not to be replaced.

a correct chmod would be like chmod u+x fullbuild-wfview.sh
which ends up as -rwxr–r-- which makes it user executable and
replaceable as well if a new version is to be pulled…

and now for the fun part… the wget line gets here a script.

$ grep -i eigen *
sudo apt-get -y install libeigen3-dev || exit -1

which means that libeigen3-dev would be installed. If it was not found, it would emit something like

E: Unable to locate package ‘file’
E: Couldn’t find any package by glob ‘file
E: Couldn’t find any package by regex ‘file’

I followed the steps as identified on the website. I clicked the link and saved to download directory. I did nothing else, I honestly don’t know what you are asking for in the follow up emails.

Eric Gildersleeve

Hi Eric,

The directions actually say to enter:

chmod +x fullbuild-wfview.sh

And we can see that did not happen because you decided to use sudo to start the script. Not a big deal, but you should definitely be cautious with using the sudo command. In particular, using sudo causes the entire script to run as root, including the git clone and build commands, which really are not a good thing to run as root. In the future, you just need to add the execute permission to any script downloaded from the internet in order to run it. We’ve got a youtube video on exactly this process if you want to see it:

Now, the actual error you are having is that your script is significantly older than what we have in the source code, and the required libraries are not being installed. We can see, for example, that after libopus is installed, the next library should be eigen, but it is not done, because the script you’re running is a bit outdated. The version of the script available now (and for some time) does have these libraries available and should work just fine.

I suggest you try and download a more recent version of the script. Watch the video, see if you can replicate the steps. The video shows how to click the link to the script, download the script, execute the script, and answer the prompts.

Give it a try and let us know what happens.

Thanks for your patients,

–E
de W6EL

the problem with downloading the script is that if still the permissions are incorrect set, it won’t overwrite it

So Eric: throw awary the script you have now and retry.

Good point. Definitely make sure you have removed the script before continuing.

My apologies I kept going back and saying I did exactly what you said. Then I spotted the error. I was using an equal sign not the plus sign. I used sudo only because it said I did not have permission, hopefully the plus sign will fix the issue.

So that is where I missed it. As you can see I tried to run the command, just fouled up the entry and for some reason I did the foul up on every attempt to do this before I gave up. Yes I deleted the file in the folder before downloading it again. By the way, I did not use wget I just clicked the link in a browser and downloaded.

pi@KD7CAO-TouchPi:~ $ cd ~/Downloads
pi@KD7CAO-TouchPi:~/Downloads $ chmod =x fullbuild-wfview.sh
pi@KD7CAO-TouchPi:~/Downloads $ ./fullbuild-wfview.sh
bash: ./fullbuild-wfview.sh: Permission denied

Hi Eric,

So has it worked now? The equal sign would definitely throw it off. Every little character is basically a “single point of failure” with commands, it’s crazy how careful you have to be.

With the old copies removed, a new copy should take care of the missing libraries.

–E
de W6EL

I will have to try later this week when I get back to my RV. For reference that was a fresh download straight from the website into an empty directory.

Hi Eric,

I can’t explain how a fresh download contains code from so long ago (we added libeigen to the script on April 11), however, when you do get to trying it again, please be judicious about removing any and all copies of the script before downloading.

It’s very easy to accidentally download new copies, which get named differently and don’t override existing ones. Anyone remember Nescape 2.0 telling you it was going to override an existing file? I guess they dropped that feature in firefox :slight_smile: .

Let us know how it goes,

–E
de W6EL

and what is the verdict? did it fly?

Yes. I would like to recommend a simplified instruction on how to install. By changing to the correct symbol (sorry about that) it helped a lot. However, the file kept failing on the github download. It took a bit of reading online through other sources to discover that it is necessary to “login” to the github website first before running the script so that the computer is authenticated with the site first. Perhaps the script could ask for your username and password first? Then the 2FA could popup in the script too???

Alternatively, an auto update button option in the program would make it a lot easier on users that are not linux gurus.

When completed I did not get the 1.2e I was expecting but instead a 1.4 build 105675a was installed.

gitlab download:

snowpa:/home/roeland # useradd -m blah
snowpa:/home/roeland # su - blah
blah@snowpa:~> wget fullbuild-wfview.sh · master · Elliott Liggett / scripts · GitLab
–2022-08-20 18:43:10-- fullbuild-wfview.sh · master · Elliott Liggett / scripts · GitLab
Resolving gitlab.com (gitlab.com)… 2606:4700:90:0:f22e:fbec:5bed:a9b9, 172.65.251.78
Connecting to gitlab.com (gitlab.com)|2606:4700:90:0:f22e:fbec:5bed:a9b9|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/html]
Saving to: ‘fullbuild-wfview.sh’

fullbuild-wfview.sh [ <=> ] 82.66K --.-KB/s in 0.02s

2022-08-20 18:43:10 (3.37 MB/s) - ‘fullbuild-wfview.sh’ saved [84648]

you see a non-elevated user no login, just download.

re the version: we decided to continue instead of waiting for you :wink:

Hi Eric,

I’m so glad to hear it’s working! We can’t make the linux commands any simpler, so I highly recommend copy-paste when possible. You should not have to log in to gitlab or github to download the script or wfview source code. Did you see the video I linked to? It really should be that simple. The only reason you would need to log in is if you were trying to contribute changes to the source code.

I believe 1.4 contains the latest “plasma metering” mod, check under Settings for Average and Peak spectrum underlay options, let us know what you think, this is a very new interface change. I think it’s really cool, and we pushed this change out only a few days ago.

Take care,

–E
de W6EL

yes it does, as well as a few audio fixes

Elliott thank you for your help, your support is greatly appreciated. I wish others on here were as kind and encouraging as you are.

Eric Gildersleeve