v4l2loopback doesn't create the /dev/video/ files - linux-mint

im trying to make v4l2loopback work on my desktop PC (no hardware camera) with mint 19.3, kernel 5.4.0-42-generic x86_64.
I followed the official instructions and compiled from git the v4l2loopback module and everything seem to run correctly, as no error prompted while running the instructions, but when i do ll /dev/v* there's no /dev/videoN entry.
I also tried with the flags exclusive_caps=1 and devices=2 but to no avail.
Any idea what i might be missing or doing wrong?

you need to load the module (e.g. using modprobe) before you can use it.
see also https://github.com/umlaeute/v4l2loopback#run

Related

VS Code cannot find Arduino IDE path

I have been trying to use the Arduino extension for VS Code in Ubuntu 18, but when I execute the initialize command, I get the error "Cannot find the Arduino IDE. Please specify the arduino.path in the user settings". So I wrote every path that comes out when executing the command "whereis arduino", I've also tried leaving the box empty (in theory that makes VS Code search for the IDE) and reinstalling both the Arduino IDE and VS Code several times, without any result. Does somebody knows a possible fix for this issue?
Download and extract the appropriate Arduino version according to your need from here, and install it using command sudo ./install. In my case, I have downloaded Arduino 1.8.6 Linux 64 Bit .
Goto Files -> Preferences -> Settings, Open Settings(JSON) as shown below.
Change arduino.path to the path location of extracted Arduino file. In my case it is /home/user/Downloads/arduino-1.8.6 and arduino.commandPath to arduino.
OR
For those who installed Arduino through snap platform refer this post.
Your Settings JSON file should look like this.
{
"arduino.path": "/home/user/Downloads/arduino-1.8.6",
"arduino.commandPath": "arduino",
}
Save and restart.
It's Done!!
Good Luck
P.S.:Add arduino.commandPath if not already exist and should point to Arduino executable present in the arduino.path.
Even when its on mac, someone can find this helpful as I had the same problem and found this thread. On MAC I have solved this one with arduino-cli and following:
install homebrew (if you have, proceed to step 2)
install arduino-cli with brew install arduino-cli
find where the arduino-cli is installed. Usually (on mac) it will be /opt/homebrew/bin/arduino-cli... Which means, if you run the command arduino-cli, it will execute this script... You can find the location with:
which arduino-cli (I have zsh, I am not aware if it will be the same for older bash, probably it will, I am not so skilled in this one, but you can try to use find instead of which. But which is working for me
lets assume you have the path, for me it was /opt/homebrew/bin/arduino-cli
proceed to VScode, go to settings (well, lets assume we will be working with the json settings
in my case, the input is following:
"arduino.useArduinoCli": true,
"arduino.path": "/opt/homebrew/bin/",
"arduino.commandPath": "arduino-cli"
Note, even when the path to arduino-cli is /opt/homebrew/bin/arduino-cli, we are removing the script name from the path... But we are adding this to the commandPath
I found that running whereis arduino or which arduino gave me /usr/local/bin/arduino. However, this didn't make Visual Studio Code happy. After some more digging, it turns out that that path is just a symlink to /opt/arduino-1.8.13. (Use ls -la /usr/local/bin/arduino to see where the symlink points to on your system.)
Also of note: be sure to give the path to the directory, not to the actual executable. For instance, in my case, the proper path was /opt/arduino-1.8.13 NOT /opt/arduino-1.8.13/arduino!
tl;dr
Use /opt/arduino-1.8.13, but be sure to update the version number to whatever is installed on your system.
This might not work for everyone, but the problem for me was using Visual Studio Code for flatpak. There was probably a better way to fix this, but the easiest way to do it (for me) was to install the binary from their website.
Go to "User Settings" > "Extensions" > "arduino.commandPath" > change it to "arduino_debug.exe"
In my case whereis arduino gave me /usr/bin/arduino and /usr/share/arduino, however putting either of them in the arduino.path didn't work.
Entering /usr/bin did the trick though. hope it helps!
(Ubuntu 20.04)
I use Windows and I solved it as follows.
The problem is because you are using the new version Arduino IDE 2.x.x and it has another way to code its sketches and more (I don't know how to say it, I'm a beginner in this) or you haven't activated to use Arduino Cli at least, so -- ->
Intall Arduino 1.8.x. You can donwload it here: Arduino Software
Open your vscode, go to Files>preferences>settings and find your Arduino extension under "Extensions". and put the standard path for Arduino 1.8.x like: C:\Program Files (x86)\Arduino (Remember this is where you installed the Arduino 1.8.x path) in "Arduino Path".
Next, you need to click on "Arduino: Use ArduinoCli" to link the Arduino extension to the correct version (Arduino Legacy is not allowed).
Arduino CLI option in vscode settings
Here's what fix my issue!
1st - Make sure you have the right path ("The path to the folder which contains the 'arduino.exe'", and not the path with the 'arduino.exe') copied to your Arduino Settings in VS Code.
2nd (The Actual Fix for me) - After installing the Arduino IDE and the VS Code extension RESTART you entire computer!! This somehow updates the Registry.
After which you can just Initialize your project, F1 - Arduino Initialize.
That's it enjoy and start up your Golden IoT project.

Making VS Code Remote extension work with GLIBC 2.17 installed in non standard locations

I'm trying to use VSCode Remote extension to connect to a remote host that runs on RHEL/CentOS 6, but it fails to connect since CentOS 6 ships with GLIBC 2.12 and GLIBCXX 3.4.1. As mentioned in this post, in order to get the extension to work, the workaround is to install GLIBC>=2.17 and GLIBCXX>=3.4.18.
Unfortunately, I don't have sudo access for the server, so I won't be able to update these libraries using the bash script provided in the link. Also, in this SO post, the author says not to update the system GLIBC since it can break down system applications. That being said, I've tried something different -- I extracted those rpm packages, as described in this blog, inside my home folder. I've then updated the env variables PATH and LD_LIBRARY_PATH in ~/.bash_profile to point to these new locations. But the node binary (in VS Code Remote) still can't find these libraries.
Is there a way to let the node binary know where to look for these libraries? More precisely, can someone explain how I can make this extension work without sudo access?
I've got it to work by installing gcc and glibc using Linuxbrew. See this post for more details: https://github.com/microsoft/vscode-remote-release/issues/103#issuecomment-546551293.
Couple of things to take note of:
Node binary versions in VS Code Server may vary between commits. In the GitHub comment above, the author uses node#10 -- you may replace it with node#12; everything would still work.
Make sure glibc and gcc are properly installed using linuxbrew. This step is key.

Why does a packed Perl script not work on a different machine?

I have been trying to compile a script that was written in perl by someone other than myself into an executable format that can be used without having perl installed. There seems to be some sort of issue with Crypt::SSLeay packaging but I'm not sure what the error means. Here is a screenshot of the error message.
I've tried using PAR pp and cava to package, both will create executables that run just fine on the machine I'm using that has perl, but whenever I transfer it to a different computer I get the error seen in the screenshot. It's been the same error each time after changing compiler settings, and I'm not sure what to do at this point. If I have left anything out that may assist in answer please let me know and I will be happy to provide, coding is not my field so I am still learning and this is my first encounter with Perl.
First off, you probably do not need and should not use Crypt::SSLeay. However, both the modern Net::SSLeay and Crypt::SSLeay require OpenSSL binaries to be installed on the machine to run.
both will create executables that run just fine on the machine I'm using that has perl, but whenever I transfer it to a different computer I get the error ...
That's because the target machine does not have OpenSSL installed in the same location on which compiled the modules you are bundling.

Installing PHP 7.0.0RC2 with mysqli on Raspberry Pi B

Last week I installed PHP 7.0.0RC2 on my Raspberry Pi B.
I am able to view PHP pages, however, the problem is that I cannot connect to the database using mysqli (I know that mysql is no longer supported in PHP v7).
I ran the ./configure command with --with-mysqli=shared.
However, when I check which modules are installed using the php -m command, I do not see mysqli.
I tried adding extension=mysqli.so to the php.ini file.
It first complained that the mysqli.so file could not be found, so I tried copying the mysqli.so of my php5 version to the extensions folder.
However, this did not solve the problem and resulted in the following error message:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20141001/mysqli.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20141001/mysqli.so: undefined symbol: zval_used_for_init in Unknown on line 0
Does anyone got any suggestions of how to get mysqli to work with my PHP7 installation on my Raspberry Pi?
You may find detailed information in the configure output, but it's pretty hard to catch, and if it's not a fatal error, won't stop the build going ahead when you make.
The recommended (read: only decent) driver for MySQLi is the MySQL Native Driver (mysqlnd).
If you want MySQLi to be built shared, you must also build mysqlnd shared, and everything that depends on it (PDO MySQL, for example).
It's going to be simpler to just build the native drivers static, using the configure option:
--with-mysqli=mysqlnd
Which will enable a static build of mysqlnd and mysqli.
If for some reason you really do want to build shared, then you'll need configure options that closely resemble, if not are exactly the same as:
--enable-mysqlnd=shared
--with-mysqli=shared,mysqlnd
Which will result in a shared build of mysqlnd and mysqli, requiring you to add extension=mysqlnd.so and extension=mysqli.so in the appropriate order (the latter depends on the former), in the appropriate place.
Remember to make distclean before you re-configure the build, surprising things will happen if you do not ;)

Eclipse not recognising express/node

I have been using Linux for less than 24 hours, so please, if there is anymore information I should provide, do be quite specific about how to get that information.
I've been trying to install Node.js, express.js and eclipse. As you can see, ubuntu does recognise both node.js and express as installed on my system (I think!) and I got the Nodeclipse-extension for eclipse, but still Eclipse doesn't seem to recognise either node.js or express (see my image below). I also want to add that the time occurrence of the error, I was trying to build a Node.js Express Project.
At this point, how do I go about debugging the situation? The folder location shown in the image does not fully exist. I can only go as far as [...]/bin/ - I have been looking at error messages similar to mine, and it seems like people are getting such errors because they're lacking an installation, however, from my screenshot provided, I would think everything is installed as needed.
I am using a native 64-bit windows laptop with Linux (Ubuntu) installed through a virtualbox. Ubuntu is 14.04 LTS and just 32-bit, as I don't have spare 2 gb ram to give the 64-bit version. Sadness.
I'd appreciate any help!
In Eclipse Windows -> Preferences -> Nodeclipse
check what is configured for Node and Express
Read more on http://www.nodeclipse.org/
I found a solution, which worked for me:
WINDOWS:
I did double installations of the needed modules. They were both located in C:/Users/X/AppData/Roaming, in the Eclipse directories and finally in C:/Program Files/nodejs. When I deleted all the node_modules, besides critical ones for nodejs to function and then ran Eclipse with Nodeclipse, it seemed to function and Eclipse automaticly defined folders in its own subdirectory, in which Express were located.
UBUNTU:
Delete all node_modules files and run Eclipse with Nodeclipse. See the windows explanation for a more detailed overview. Same problem and solution seemed to be present for both systems. Do note that the file directories are of course not completely interchangeable. You'll need to locate your instances of node_module.