I'm learning about Wireless Sensor Network in TinyOS. I tried to install this in Ubuntu 18.04 but it ain't worked and it return this kind of error (the picture included). Anyone could help me with this failure. Many thanks
https://i.stack.imgur.com/rZhtu.png
I came across the same problem. The reason is that TinyOS is now relatively old (in software terms) and the original development community have largely moved onto other things. This means that the packages are no longer maintained, and thus there are issues with unmet and broken dependencies. These issues will only get more and more problematic as Ubuntu evolves and leaves these packages far behind.
I can't remember exactly what the problem is as it was some time ago, but thankfully I wrote up a detailed explanation on how to install TinyOS on Vagrant here. It was tested on Ubuntu 16.04 but it should also work on 18.04.
The TL;DR version is to look carefully at the bootstrap script I use. For example, try this (the first line adds a signing key to your package manager - this came directly from Eric Decker's package repo):
wget -O - http://tinyprod.net/repos/debian/tinyprod.key | sudo apt-key add -
apt-get update
apt-get -y install nesc tinyos-tools avr-tinyos msp430-46 mspdebug
For further info see the official wiki and Eric Decker's repo, but these are also quite out of date now.
Related
I need to backup iphone with libimobiledevice, using ubuntu, the device is detected but going to launch the backup commands the following error is displayed:
Started "com.apple.mobilebackup2" service on port 49343.
Could not perform backup protocol version exchange, error code -1
What could it depend on?
Several Github issues have reported this problem, like this one.
Solution:
you need to use latest version of idevicebackup and libimobiledevice
Indeed, if you use Ubuntu 20.04 (for instance), the libimobiledevice package is outdated, as of now.
If that's your case, you'll have to either wait for the next Ubuntu release (22.04) or compile it from source, what may become necessary at some point after the release of Ubuntu 22.04 anyway.
Disclaimer: downside of compiling yourself is that your binaries are not managed by the package manager. You'll have to update yourself, git pulling or downloading the newest source code releases and re-compiling everything everytime. You might have to redo all of this after a distribution upgrade. Upside is that your binaries do work...
Note: compilation steps are described on the official site only for debian; I could perform them equally well on a Linux Mint 20.3 (based on Ubuntu, based on debian). OP does not mention the OS he or she uses, but debian based seem to be the only ones available for now, so what follows should work on debian based OSes.
Compilation from source, step by step:
uninstall the official package and its dependencies and:
install the build dependencies: sudo apt install build-essential checkinstall git autoconf automake libtool-bin libplist-dev libusbmuxd-dev libssl-dev usbmuxd (see "from source" here)
get libimobiledevice source code from its repo, using for instance git clone https://github.com/libimobiledevice/libimobiledevice.git. You might get to the releases page and use the latest tar.gz instead (1.3 at the moment).
also get source code of other libraries required by libimobiledevice: libplist, libimobiledevice-glue and libusbmuxd. (I also compiled usbmuxd instead of using the official package, but I am not sure it is necessary). For each one of them, you can git clone it or download and untar the latest source code release, if available.
choose a prefix directory, where libraries and binaries will go. Create it if necessary (official libimobiledevice site suggests /opt/local and I will use this too in the next steps; in order for the compilation to work, you'll have to sudo mkdir /opt/local and export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig before starting the first compilation)
to compile and install, cd to the root of each git-cloned (or source-downloaded) directory (in this order: lipblist, libimobiledevice-glue, libusbmuxd and libimobiledevice, because each one depends on the previous one) and execute, in each one of them: ./autogen.sh --prefix=/opt/local, then make and finally sudo make install. (Note, the autogen line for libimobiledevice may be ./autogen.sh --prefix=/opt/local --enable-debug, as suggested here).
Having done all of this, the iphone was not mounted automatically, I had to manually run idevicepair pair and then could mount it using ifuse ./iphone_mount_point/ (do sudo apt install ifuse if necessary) and perform a backup using idevicebackup2 backup --full iphone_backup/. Read the help of idevicebackup2 for more information.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
I was working mostly on Mac, so I have no idea about how to set up git environment on Windows 8.
Today, I was going to start AngularJS on my Windows Machine. On tutorial, I saw it requires git, and I downloaded the "Git for windows", called "MINGW64".
On tutorial, it asked me to use command:
apt-get install nodejs-legacy npm
nodejs --version
npm --version
Then, the bash told me
bash: apt-get: command not found
I was confused and thought the apt-get is a pre-installed thing, so I changed the git setting and re-installed it with all different settings. It still the same.
And I am so surprised that "sudo" is not found as well.
Next, I searched online and had many vague answer which directs to the path, I think that might be the issue, but the person did not clearly say how to solve it. I was hoping can get some help from Stack overflow community how can I install the apt-get and other basic commands packages on git for windows.
If it is a duplicate, please guide me a bit how to use the correct words to mention this issue. I have tried "git for windows has no apt-get", etc on Google, and no luck for me. This has bothered me whole night. Thanks!
Link for AngularJS Tutorial
Link for git for windows
Update
With WSL, It's now possible to run a complete Linux system, like Ubuntu, inside Windows. and one can install everything, including Node and Git there in the WSL Linux. Just like Sarah Cooley pointed in the other answer from her.
Pre-WSL Answer
If you want Node.js and npm on Windows, you can download them from nodejs.org, apt-get is for Linux (Debian based). Here's a guide.
And Git for Windows is a Windows based Git distribution, it's a separate project from Node.js, and it provides a limited set of linux-like CLI tools compiled natively for Windows.
If you setup PATH correctly, you can indeed run node commands in the Bash shell of Git for Windows.
The entire Ubuntu user mode (including BASH) now runs on Windows. Apt-get node etc all work. Check it out. Docs here.
I've been installing "hamlib 1.2.15.3" (sourceforge) on my RaspberryPi under Raspbian and everything
worked great for a while.
When I noticed an unimplemented feature, I downloaded the newest developer version here:
here (something like this, but this link may change every day: http://n0nb.users.sourceforge.net/hamlib-3.0~git-6e44327-20140321.tar.gz)
So I downloaded it and did the usual: untar to a folder, ./configure, make, make install.
After all was done, I launched rotctl and there comes this message: rotctl: symbol lookup error: /usr/local/lib/libhamlib.so.2: undefined symbol: g313_caps
I thought the package wasn't flawless and I tried to install the old version again. But it's still like that. Also I tried ldconfig every now and then.
To be honest: I'm a beginner when it comes to linux, so I don't know what I have done there. Maybe I was doing a major mistake, a normal linux user wouldn't do. Maybe it was wrong to install that package without uninstalling the older version. Also I don't even know how to do that.
Basically there is only one file in the source code, I need to change to the newer version. So, if there is anyone who could tell me, how to make a clean uninstall, I could replace only this file in the source and install again. I think that would do the thing.
Or shall I rather ask the people from the hamlib developer team?
Thank you in advance.
So I got to install a large number of requirements from pip for production servers. Most of those requirements require python-dev and build-essential to compile.
Now the way I look at it - python-dev and build-essential comes with some overhead, and one might argue, some security issues.
To save performance on production environment, my idea is to make binary packages for those requirements.
I have found that most pip installations come with installed-files.txt file, listing all installed files. So it is quite easy just to pack all of the listed files to some binary package.
Now my question - is it worth it ? and is there some easier way to go around it ?
Also, maybe someone has tried it and got some helper scripts ready on github.
What about creating some virtual env - installing all of the dependancies and making single large binary package for all of them ?
You can package all the Python packages as Debian Packages with py2dsc. See the Debian Python Wiki for more details. I have done that in the last hour and it works well.
I just made a fresh haskell-platform install on a Linux Mint 12, via apt-get. Everytime I try to install some hackage package with cabal-install, I get a:
couldn't read caba file xxxx.cabal
where xxxx is a dependency of the package I'm installing or the package itself. Based on this thread on haskell cafe and other questions here in SO, I deleted the bytestring package from the index:
tar -f ~/.cabal/packages/hackage.haskell.org/00-index.tar --delete bytestring/0.9.2.0
tar -f ~/.cabal/packages/hackage.haskell.org/00-index.tar --delete bytestring/0.9.2.1
but the errors are still there.
My cabal-install version is:
$ cabal --version
cabal-install version 0.10.2
using version 1.10.1.0 of the Cabal library
The error is like this:
$ cabal install yesod
Resolving dependencies...
cabal: Couldn't read cabal file "fsnotify/0.0.5/fsnotify.cabal"
Does anyone knows what might be happening?
I'm having the same problem. There's a relevant mailing list thread about this problem at http://haskell.1045720.n5.nabble.com/Cabal-install-fails-due-to-recent-HUnit-td5715081i20.html
I believe the upshot is that the format of the packages files has changed, and the cabal version in use here (I have the same version, obtained from ubuntu oneiric) can't understand the files. You can't even do "cabal install cabal-install".
The mailing list thread just peters out in september 2012 without a clear decision being made, but I think they decided to just ignore the problem. There's not a clear statement of what to do for users like us; I think the only approach possible is to install haskell from scratch, but I don't yet know where to start with that.
EDIT: I fixed this by downloading the latest source package of cabal from http://hackage.haskell.org/packages/archive/cabal-install/1.16.0.2/cabal-install-1.16.0.2.tar.gz, unpacking it and following the instructions in its README to do a local install.
I was having the same problem and I wasn't able to follow Richard's instructions, so I realized I was running version 7.0.?, I uninstalled it using the command $ uninstall-hs, then installed the newest version (7.6.3). Problem solved here.