Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem of gcc version with NIDAQmx

Solved!
Go to solution

Hello,


 When I try to install NIDAQmx8.0 I have this problem :

 

[root@localhost test]# ls
ConfigurationGuide.html LICENSE.txt PATENTS.txt UNINSTALL*
INSTALL* nidaqmx%8.0.1f0.tar.gz README.txt
[root@localhost test]# ./INSTALL
*****************************************************************************
NI%DAQmx for Linux Installer Distribution
version 8.0.1f0 for Linux
*****************************************************************************
To learn about the differences between NI%DAQmx in Linux and Windows, as well
as important device and application software support information, refer to the
readme file in the installer directory.
National Instruments products support the following Linux distributions:
Mandriva Linux Official
openSUSE
Red Hat Enterprise Linux Desktop + Workstation
Refer to README.txt for the latest information at the time of release.
Refer to www.ni.com/linux for the most recent information about Linux
support at National Instruments.
Continue? [Yn] Y
Checking required install tools...
Checking installer tool versions...
rpm 4.4.8 can be used with a default installation path
tar 1.18
Checking dependencies...
glibc 2.6.1
Unpacking install files to /tmp/nidaqmx%8.0.1f0.install...
******************************** ERROR ****************************************
* The version of gcc in the path does not match the version of gcc used to *
* compile the currently running kernel. This can cause unpredictable *
* behavior in kernel drivers and should be fixed. *
* gcc version: version gcc 4.2.2 20071128 (prerelease) (4.2.2%3.1mdv2008.0)
*
* kernel compiled with: 4.2.2 *
******************************** ERROR ****************************************
Installer is aborted.
[root@localhost test]#

 

I don't know what I can do.  Please help me !

I work in Mandriva OS with RealTime kernel.

Thank you

 

Message Edité par SteFaNy le 12-31-2008 03:48 AM
0 Kudos
Message 1 of 14
(7,118 Views)

Can you post the output of:

 

cat /proc/version

and

gcc -v

 

Shawn Bohrer

National Instruments

Message Edited by Shawn B. on 12-31-2008 09:37 AM
Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 2 of 14
(7,103 Views)

 

[root@localhost DAQ]# cat /proc/version
Linux version 2.6.230.rc8.rt1.2mdvsmp (mandrake@n5.mandriva.com) (gcc version 4
.2.2 20070909 (prerelease) (4.2.20.RC.1mdv2008.0)) #1 SMP PREEMPT RT Thu Sep 27
08:04:05 EDT 2007
[root@localhost DAQ]# gcc v
Utilisation des specs internes.
Target: i586mandrivalinuxgnu
Configuré avec: ../configure prefix=/usr libexecdir=/usr/lib withslibdir=
/lib mandir=/usr/share/man infodir=/usr/share/info enablechecking=release
enablelanguages=c,c++,ada,fortran,objc,objc++,java host=i586mandrivalin
uxgnu withcpu=generic withsystemzlib enablethreads=posix enablesha
red enablelonglong enable__cxa_atexit disablelibunwindexceptions en
ableclocale=gnu enablejavaawt=gtk withjavahome=/usr/lib/jvm/java1.4.2
gcj1.4.2.0/jre enablegtkcairo disablelibjavamultilib enablessp dis
ablelibssp
Modèle de thread: posix
version gcc 4.2.2 20070909 (prerelease) (4.2.20.RC.1mdv2008.0)
[root@localhost DAQ]#
0 Kudos
Message 3 of 14
(7,084 Views)
Solution
Accepted by SteFaNy

OK, it looks like your gcc version string has been French localized and thus doesn't match the string stored in the kernel.  To fix this you are going to have to make some modifications to the script that is performing the check.  Copy the files from the iso image to a writeable location on your system then:

 

# Extract the files from the NI-DAQmx 8.0.1 tarball

tar xvzf  nidaqmx-8.0.1f0.tar.gz

# Edit bin/installerUtility.sh and replace lines 340 and 341 with the following

   currentGCCVersion=`$CC -v 2>&1 | tail -n 1 | $SED 's/.*gcc[a-zA-Z (]\+\([0-9][^ )]\+\).*/\1/'`
   kernelGCCVersion=`$CAT /proc/version | $SED 's/.*gcc[a-zA-Z (]\+\([0-9][^ )]\+\).*/\1/'`

# Rebuild the NI-DAQmx tarball

tar cvzf  nidaqmx-8.0.1f0.tar.gz bin/ rpms/

# Run the installer

./INSTALL

 

Shawn Bohrer

National Instruments

Use NI products on Linux? Come join the NI Linux Users Community
Message 4 of 14
(7,069 Views)

OK thank you and First I wish you a good year. Now I can do the installation

But now I have a other problem  :smileysad:

I attach the report. 

 

0 Kudos
Message 5 of 14
(7,062 Views)
SteFaNy,

J'espère que vous pardonner mon français.  Je crois que vous avez deux problems.  Le premier - votre system utilise le noyau pour temps réel.  Shawn a testé le logiciel et a trouvé que ça ne marche pas avec le noyau pour temps réel.  Donc, il faut changer au noyau sans le patch pour temps réel.

Le deuxième problème est que les options pour le noyau que vous utilisez ne correspond pas aux options du noyau dans /usr/src/linux/.config. Précisément, le noyau a CONFIG_M586=y. Dans /usr/src/linux/.config est CONFIG_MCORE2=y.  C'est pourquoi vous avez reçu le message: «Jan  2 17:34:33 localhost kernel: nikal: version magic '2.6.23-0.rc8.rt1.2mdvsmp SMP preempt mod_unload CORE2 REGPARM ' should be '2.6.23-0.rc8.rt1.2mdvsmp SMP preempt mod_unload 586 REGPARM '».

Et puis, en anglais.

I believe that you have two problems.  The first - your system uses the real-time kernel.  Shawn has tested the software and found that it doesn't work with the RT kernel.  You'll need to you change to a kernel without the real-time patch.

The second problem is that the kernel options for the kernel you are running does not match the kernel options in your /usr/src/linux/.config file.  Specifically, your kernel has CONFIG_M586=y.  Your .config file has CONFIG_MCORE2=y.  This is why you received the message: "Jan  2 17:34:33 localhost kernel: nikal: version magic '2.6.23-0.rc8.rt1.2mdvsmp SMP preempt mod_unload CORE2 REGPARM ' should be '2.6.23-0.rc8.rt1.2mdvsmp SMP preempt mod_unload 586 REGPARM '".

Regards,
Troy F.
0 Kudos
Message 6 of 14
(7,054 Views)

Merci pour votre réponse.

Nous devons obligatoirement être en temps reel a cause des contraintes de temps de cycle que nous avons. Est que vous avez une solution pour moi ? 

 

Thank you for your answer.

I must necessarily be in real time because of the time cycle. Have you a solution ?

0 Kudos
Message 7 of 14
(7,021 Views)

As Troy mentioned you may be able to solve the installation problem by first modifying your /usr/src/linux/.config file to contain CONFIG_M586=y instead of CONFIG_MCORE2=y.  Then you probably need to run make modules_prepare from the kernel source director.  If you then run updateNIDrivers then it is possible that the NI drivers will load.  However, our drivers are not optimized for RT and in our testing are known to causes lockups and hangs.

 

You didn't mention what hardware you are trying to use, but if you need to use an RT kernel you might be able to use the third party Comedi drivers, or if you have some driver writing experience you might be able to use the Measurement Hardware DDK.

 

Shawn Bohrer

National Instruments

Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 8 of 14
(7,012 Views)

Thank you for all.

I managed to install DAQmx801 and nilsdev work now.

Now I will test to read and write in cards

 

0 Kudos
Message 9 of 14
(6,976 Views)

Hello, 

I have a problem with reading the 8 first Analog Input in my PCI-6220. 

I generate a signal with a PCI-6703 and when I read the value with my PCI-6220 I have a strange value in channels 0 to 7 but I have no problem with channels 8 to 15.

Do you have an idea for my problem ? 

0 Kudos
Message 10 of 14
(6,904 Views)