I can't seem to be able to install the compilation tools on my cRIO 9034 in order to compile ATLAS on it.
I use the command:
opkg update && opkg install packagegroup-core-buildessential git
and i get the output
Package packagegroup-core-buildessential (1.0-r0.60) installed in root is up to date. Package git (2.0.1-r0.10) installed in root is up to date.
still, when I run the ./configure command
admin@FPRSSTESTER:/home/lvuser/ATLAS/Linux_cRIOx64# ../configure -b 64 --prefix=home/lvuser/lib/atlas --with-netlib-lapack-tarfile=/home/lvuser/dload/lapack-3.6.1.tgz gcc -I/home/lvuser/ATLAS/Linux_cRIOx64/..//CONFIG/include -g -w -o xconfig /home/lvuser/ATLAS/Linux_cRIOx64/..//CONFIG/src/config.c atlconf_misc.o /usr/lib/gcc/x86_64-nilrt-linux/4.8.2/../../../../x86_64-nilrt-linux/bin/ld: cannot find crtbegin.o: No such file or directory /usr/lib/gcc/x86_64-nilrt-linux/4.8.2/../../../../x86_64-nilrt-linux/bin/ld: cannot find -lgcc /usr/lib/gcc/x86_64-nilrt-linux/4.8.2/../../../../x86_64-nilrt-linux/bin/ld: cannot find -lgcc_s /tmp/ccsak4ps.o: In function `ATL_tmpnam': /home/lvuser/ATLAS/Linux_cRIOx64/..//CONFIG/include/atlas_sys.h:224: warning: the use of `tmpnam' is dangerous, better use `mkstemp' collect2: error: ld returned 1 exit status Makefile:34: recipe for target 'xconfig' failed make: *** [xconfig] Error 1 ./xconfig -d s /home/lvuser/ATLAS/Linux_cRIOx64/../ -d b /home/lvuser/ATLAS/Linux_cRIOx64 -b 64 -Si lapackref 1 /bin/sh: line 1: ./xconfig: No such file or directory xconfig exited with 127
also, the first time I used the
opkg install packagegroup-core-buildessential
command, it failed. No special error description.
The Software on the cRIO is
NI Linux Real-Time x64 3.14.46-rt46-3.5.0f0
Software NI CompactRIO15.5 - February 2016
Note: As I can't connect to the internet with the cRIO, I cloned the NI repository and set the opkg path to load from a usb drive.
Solved! Go to Solution.
If the cRIO cannot connect to the internet, you don't need to run opkg update (since this command will simply update the list of installable packages from the configured feed server).
When installing software offline like what you're attempting, you need to point opkg directly to the package that you're installing.
For example, trying to install a package foo.ipk, you would download the file to a USB storage device and plug this into your cRIO (or otherwise make it available to the cRIO) and run the command opkg install /path/to/foo.ipk. This command may likely indicate that there are missing dependencies that are required for successful installion of foo.ipk, which you will need to download and install first prior to installing foo.ipk.
I can tell you in no uncertain terms that packagegroup-core-buildessential will require additional packages to be installed as it is a so-called meta-package: simply a collection of needed packages.
I managed to correctly install the packagegroup-core-buildessential by wiping the cRIO, reinstalling the NI CompactRIO 15.5 - February 2016, changing the path to the repository to the local ones and running the installation command again. This time it seemed to have worked with no problems. Couldn't tell you why as I did the exact same steps before wiping the cRIO.
Correct me if I'm wrong, but doing opkg update only updated the links to the available packages in the repository. As I have changed my paths to
src/gz url-0 file:///media/sdc1/2015sp1_repo src/gz uri-all-0 file:///media/sdc1/2015sp1_repo/all src/gz uri-core2-64-0 file:///media/sdc1/2015sp1_repo/core2-64 src/gz uri-x64-0 file:///media/sdc1/2015sp1_repo/x64
in /etc/opkg/base-feeds.conf i guess I did it to make sure that the install command wgets the package from the right place. I didn't try installing it without the update command though, so I'm not really sure.
Anyway, It seems to be working right now.
Ah, I did not realize you were making (at least a portion of) the repo available locally via removable storage. In that case, it makes sense to run opkg update. It will not update any links, but rather digest the listing of packages in the new feeds (on the removable storage) to update the listing of installable packages.