Cannot bind to the shared object created with LabVIEW 2009

I have problems referring to a shared library built from a LabVIEW VI under RHEL 5 with LabVIEW 2009.

To illustrate the problem, I created a VI with a digital input and output that corresponds to a certain number. Then, I created a draft specification of build to create a shared library with a feature that makes use of this VI square. The shared object is created successfully (square.so).

When I try to compile a test application written in C, that connects to this library, I get errors in the following link:

cc  -I/usr/local/natinst/nidaqmxbase/include -I/usr/local/natinst/LabVIEW-2009/cintools build/square.so  test.c   -o test/usr/local/lib/liblvrtdark.so.9.0: undefined reference to `std::basic_istream >& std::basic_istream >::_M_extract(float&)@GLIBCXX_3.4.9'/usr/local/lib/liblvrtdark.so.9.0: undefined reference to `std::basic_istream >& std::basic_istream >::_M_extract(double&)@GLIBCXX_3.4.9'/usr/local/lib/liblvrtdark.so.9.0: undefined reference to `std::basic_istream >& std::basic_istream >::_M_extract(double&)@GLIBCXX_3.4.9'/usr/local/lib/liblvrtdark.so.9.0: undefined reference to `std::basic_ostream >& std::basic_ostream >::_M_insert(double)@GLIBCXX_3.4.9'/usr/local/lib/liblvrtdark.so.9.0: undefined reference to `std::basic_istream >& std::basic_istream >::_M_extract(float&)@GLIBCXX_3.4.9'/usr/local/lib/liblvrtdark.so.9.0: undefined reference to `std::basic_ostream >& std::basic_ostream >::_M_insert(double)@GLIBCXX_3.4.9'collect2: ld returned 1 exit statusmake: *** [test] Error 1

Running ldd reveals that liblvrtdark.so.9.0 is used for the execution of labview.

In order to investigate on what could be the cause of the problem, I have compiled the nidaqmx basic examples, and I don't have an error. Current running ldd as reveals that he uses liblvrtdark.so.8.2 for the view of laboratory, time of execution.

My suspicion is that some components of labview are being compiled with gcc 3.4 while others are being compiled with gcc 4.1 (which is the default compiler in RHEL 5).

Any ideas how I could fix the build errors?

Thanks in advance for your suggestions.

PS.

I enclose a tar file with the source files and here are the details of the ldd:

ldd build/square.so         linux-gate.so.1 =>  (0x008de000)        liblvrtdark.so.9.0 => /usr/local/lib/liblvrtdark.so.9.0 (0x00b9c000)        libc.so.6 => /lib/libc.so.6 (0x00110000)        libstdc++.so.6 => /usr/local/lib/LabVIEW-2009/patchlib/libstdc++.so.6 (0x009a7000)        libm.so.6 => /lib/libm.so.6 (0x00756000)        libdl.so.2 => /lib/libdl.so.2 (0x00256000)        libpthread.so.0 => /lib/libpthread.so.0 (0x0025a000)        /lib/ld-linux.so.2 (0x00b80000)        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00272000)

ldd /usr/local/natinst/nidaqmxbase/lib/libnidaqmxbase.so.3.3.0         linux-gate.so.1 =>  (0x00e50000)        libnidaqmxbaselv.so => /usr/local/lib/libnidaqmxbaselv.so (0x00248000)        libc.so.6 => /lib/libc.so.6 (0x00689000)        /lib/ld-linux.so.2 (0x00b80000)        liblvrtdark.so.8.2 => /usr/local/lib/liblvrtdark.so.8.2 (0x00e51000)        libdl.so.2 => /lib/libdl.so.2 (0x00813000)        libpthread.so.0 => /lib/libpthread.so.0 (0x001b0000)        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x009c7000)        libm.so.6 => /lib/libm.so.6 (0x00b0a000)        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0050c000)

Hi mimi,

I'm happy to report that I managed to get the code to work. I have included some of the steps I experienced the problem in case it might help improve the documentation or future generations.

In response to your question about the "error 1" reported by do, it's just an indication that detected a compiler error (it probably resembles the return code of the compiler).

The errors ' undefined reference... @GLIBCXX_3.4.9 "have been narrowed down. The generated labview shared library, the square.so, links to /usr/local/lib/LabVIEW-2009/patchlib/libstdc++.so.6 which is a symlink to usr/local/lib/LabVIEW-2009/patchlib/libstdc++.so.6.0.9. I decided to compare this version of libstdc ++ that included with RHEL:

strings /usr/local/lib/LabVIEW-2009/patchlib/libstdc++.so.6 | grep GLIBCXXGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_FORCE_NEW
strings /usr/lib/libstdc++.so.6 | grep GLIBCXXGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_FORCE_NEW

So libstdc ++ RedHat does not include a string for GLIBCXX_3.4.9.

With this in mind, I was able to get my test application to compile using the version of LabVIEW libstdc ++ using the following makefile:

.PHONY: all cleanCPPFLAGS=-I/usr/local/natinst/nidaqmxbase/include -I/usr/local/natinst/LabVIEW-2009/cintoolsLDFLAGS=build/square.so \        /usr/local/lib/LabVIEW-2009/patchlib/libstdc++.so.6 \        -Wl,--rpath -Wl,/usr/local/lib/LabVIEW-2009/patchlib/

all: test

clean:        rm -f test *.o

When you try to run the application, I got the following error:

./test: error while loading shared libraries: /usr/local/lib/liblvrtdark.so.9.0: cannot restore segment prot after reloc: Permission denied

But apparently, it's because of SELinux prohibiting the use of libraries shared with moving text.
This can be disabled by running /usr/sbin/setenforce 0 as root.

The test application now works!

See you soon,.

RW

Tags: NI Software

Similar Questions

  • can I open a vi created with labview 2009 on worm Labview 8.5?

    I have a vi created with Labview 2009 and I want to open and run the vi in Labview 8.5.

    It opens to 8.5

    Can I save the vi since 2009 in a format that is compatible with 8.5?

    If you click the file menu in the toolbar of LabVIEW, you should see a "except for the previous version. If your vi does not have all the features that are specific LabVIEW2009, you should be able to save it to 8.5.

    LabVIEW is generally open earlier versions, not the other way around. I say generally because there are a few points that have changed drastically, such that you have to use an intermediate version to make the vi up to a more recent version.

  • MsiError 1627 then install application created with labview 2009

    Hello

    I tried to install an application created with labview 2009, I have this fatal error ' MsiError 1627: 1: 2727 2: UsFile.

    Executable works fine while the installer does not work!

    UsFile is a Lvclass. I don't understand why I have this message.

    Thank you very much.

    Hi thanks for the reply,

    I don't delete the installation program. It has not been disabled or corrupted MSI.

    Problem is in the source file: ProgramFilesFolder was not also identical to my request. So I refreshed that (the folder UsFile appeared not in ProgramFilesFolde)

    Now it works!

    Thank you very much Bye

  • How to remove the scrollbars Panel sub with LabVIEW 2009 SP1?

    I did a search and found this thread on the subject: http://forums.ni.com/t5/LabVIEW/subpanel-scollbars-in-labview-8-0/m-p/284503/highlight/false#M149983

    I double checked that the horizontal and vertical scroll bars have not been successful in the appearance of window customize and they were not retained as shown in the image below.  You see scroll bars villain in the façade of the image at the bottom.  Of couse, since the code / sw cannot be shown, it has been repainted but you can still see the scroll bars along the frame of the side panel.

    Custom window appearance settings:

    Scroll bars appear at the bottom & right panel sub frame

    Found the solution...

    Right-click the scroll bars and select horizontal scroll bar and select always off.

    Repeat the procedure for the vertical scroll bar.

  • Unable to share the printer attached to the XP with windows 7, receive error message: windows cannot connect to the printer: operation failed with error 0x000004f1.

    Original title: printer HP LaserJet 4050 of PCL6 compatible with Windows 7?

    I have a desktop windows xp pro (SP3 5.1.2600) and you have a printer HP LaserJet 4050 PCL6.  The printer works fine connected to the desktop computer with a parallel port.  I'm trying to share the printer on my home network so that Win 7 (6.1.7601 SP1) laptops can use its printing features.  Please help.

    First I tried to add it with \\hostname\printername that returned this error: windows cannot connect to the printer: operation failed with error 0x000004f1.
    Thanks in advance for any help / support!

    Hello

     

    1. the two Windows XP, Windows 7 connected in a same workgroup?

    2. can you access files shared XP of Windows 7 computer?

    3. check if the printer is shared or not?

    I suggest you follow these methods and check.

    HP LaserJet 4050 PCL6 printer is not compatible with Windows 7. Printer drivers are available for Windows XP-based computers only.

    http://h20000.www2.HP.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=us&prodTypeId=18972&prodSeriesId=25475&prodNameId=18322&swEnvOID=228&swLang=8&mode=2&swItem=LJ-4119-3

    It is not in the Windows 7 Compatibility Center.

    http://www.Microsoft.com/Windows/compatibility/Windows-7/en-us/search.aspx?l=en-us&type=hardware&s=4050%20PCL6

    I sugegst you contact HP support for Windows 7 drivers, after you instaall drivers to check with the question.

    http://WWW8.HP.com/us/en/support-drivers.html

    See also: networking computers running different versions of Windows

    http://Windows.Microsoft.com/en-us/Windows7/networking-home-computers-running-different-versions-of-Windows#section_7

    I hope this helps!

  • When Microsoft will fix the problem they created with Skype.

    It's been more than 24 hours now that Skype has worked on my pc. When Microsoft will have their sh * t together and rectify the problem, they created with this program. Now it becomes ridiculous and smells of incompetence!

    Hello

    Be sure to contact the Skype Support like this might be a known issue and they might have the solution.
    There is also information and on the Skype Forums.

    There is an alert to update Skype system on the Skype homepage
    http://www.Skype.com/intl/en-us/home?intcmp=Alogo

    Skype - Support
    https://support.Skype.com/en-us/

    Skype - Forums
    http://Forum.Skype.com/

    It's the latest Skype Heartbeat information in date 27/05/2011:

    Skype Heartbeat - [MAJ] problems connecting to Skype and calls for a small number of users
    http://heartbeat.Skype.com/2011/05/problems_signing_into_skype_an.html

    I hope this helps.

  • When copying a file in flash memory, a shortcut of the file is created with! Why is this happening?

    When I copy a file in flash memory a shortcut depending on the size of 1 KB from the file is created with the original?

    is this a virus?
    What is the solutions for that?

    Sorry, I misread your question. I thought that you receive only a shortcut.

    I don't know what would cause. Have you tried with another flash drive? Have you tried to format the flash drive that you use, when there is nothing on what you need?

    It won't hurt a thing to check for malware. Download the free version of this tool. First check the updates and then run a full scan.

    Malwarebytes Anti-Malware
    http://www.Malwarebytes.org/products/malwarebytes_free

  • The selected file cannot be linked because there 6 audio channels, and the clip was created with 2

    I tried to link the MTS files to a project that I have edited with AVI files. I got the message "the selected file cannot be bound because it has 6 audio channels and clip was created with channel 2/channel" audio. Does anyone know what I need to do?

    I had this problem and the cause in my case, it was that I changed all my clips in the project are mono audio channels. When I tried to swap the originals with proxies, I did, I had a similar message for the clips that have been affected by the designation of channels. I opened the project and selected all my media items in the project window and changed all the audio back to 'use the file' and that did the trick for me.

  • anyone having problems with the shared objects in iOS?

    I have a program that uses shared objects to keep track of the level information. It works well in android, but it stopped working in the iOS. He used to work in the iOS I think. What could happen? My shared object is always undefined in iOS

    -Scott

    Hi Scott,.

    It seems that you explicitly 'flush' data in the SharedObject instance on iOS, see about similar:

    http://forums.Adobe.com/message/3731055

    Try the linked thread implementation details and post if it works,

    HTH,

    Kind regards

    Peter

  • vmreconfig.pl add a CD/DVD device will fail if the virtual machine created with vmcreate.pl

    I am trying to add a cdrom to my VM I created with the vmcreate.pl.

    When I use the script vmreconfig.pl to create the cdrom I get the following error...

    Cannot use a value that is not defined as a reference to a matrix to/usr/lib/vmware-vcli/apps/vm /... AppUtil/VMUtil.pm line 898.

    OK so I have create a cdrom in vSphere and try again manually...

    Addition of the cd 'cd '...
    Virtual machine 'vmname4' is reconfigured successfully.

    OK, so I think that my VM I created with the vmcreate.pl missing the ide0: 0 or something...

    Any suggestions on how I can do this?

    I'm doing the following...

    1. create the virtual machine by using vmcreate.pl.

    2. Add the CDrom to the virtual machine using vmreconfig.pl.

    Thanks in advance.

    Just watched this.

    The vmreconfig.pl script does not handle the case of a device not defined in the VirtualIDEController object array.

    Look like the real device table is not defined until an IDE device is actually connected (or when a new IDE device is added).  I'm not 100% sure of what generates the actual peripheral table off the coast of the VirtualIDEController, but the case of a table of undefined device should be handled in the script to reconfigure.

    I can see the two solutions here, first write a custom script that adds the CDROM and manages this one-off case.  Then, modify the vmreconfig.pl script to handle this particular case of a painting of the disconnected device.

    In VMUtil.pm, you will find line number 929:

    My = $unitNumber $# {$controller-> device} + 1;

    This is to change:

    My = $unitNumber (set $controller-> device)? $# {$controller-> device} + 1:0;

    There may be other cases in the VMUtil.pm module that needs to be updated as well.  For this reason, it may be better to just write your own custom tool.  However, the simple correction above may let you go ahead with your project in the short term.

  • Cannot connect to the shared drive?

    Hey,.

    I have this shared drive. I'm unable to open a session. I have the drive on the mode of account and the account I want to connect to is say (see photo). I tried to make a new account. I triple check that I was typing in the correct thing. but still not connect if anyone can help that would be great!

    I hope this helps. Thank you!

    Michael

    To use the option "with accounts" to share a drive connected to an AirPort base station, this drive MUST be formatted in HFS +. It will NOT work for disks formatted in FAT32, ExFAT, or NTFS.

    If you already have the drive formatted in HFS +, then you need create user accounts in order for users to access the shared drive. This is NOT the same as the user's Windows login account. When you use AirPort Utility to share this record with the accounts, you should have the opportunity to complete the list of accounts. You add individual user names and password and choose the level of access to this list. Did you do that?

    If so, then to access Windows 10, start the file Explorer. In the location field, type: \ < IP address of the base station >, then press < enter >.

    Now, you will be prompted for a user name and password. Enter a name of user and password combination you created earlier, and then click OK.

  • using the shared object

    The game I'm going to have a modified visual element.  Is it possible to save the entire objects?

    The way I see now I have either the database of every possible item edit and save whoever he is, or save each property of the item in a way where it can be re-created whenever it is loaded.

    Yes, this last part of what you said is what you need to do, where it is via a database or a shared object... 'save each property of the item in a way where it can be re-created whenever it is loaded' the choice is that you want to carry the burden of storing data on a server versus storing locally on the user's computer.

  • Transparency of the dynamic object created in Illustrator

    Hi guys! Someone smarter than me?

    1. I created the vector Illustrator object with opacity masks:
    2. I inserted the .ai file saved {by dragging BR} in Ps as smart object.

    But look at the Sun. below: you can see, that the area hidden by using Ia - mask opacity is 100% Demasquee have, but don't you understand, the same area what when .ai file is converted to the dynamic object in Ps? Do you have any ide what may cause this difference in the rendering of the same object?

    Thank you in advance!

    http://i.imm.io/cdHG.pnghttp://i.imm.io/cdI6.png

    Make sure you use the same color space in both programs and create your mask in the destination color space. It's a problem of color management. This problem is because you use different color spaces in Illustrator and Photoshop.

    Most likely, you have created the mask in a CMYK (text) color space into Illustrator and your Photoshop document uses an RGB color space. Indeed you will have the same problem in Illustrator if you convert your document CMYK to RGB using the file > color mode of the Document or copy the work of a CMYK document and paste it into a document RGB. Having in mind that the problem is not limited only to the conversion between the RGB and CMYK color spaces, you might have the same problem when converting between the two areas of different color using the same color as RGB, for example sRGB template in Illustrator and Adobe RGB in Photoshop. For more details about similar problems with color spaces to check this thread:

    http://forums.Adobe.com/message/3911412#3911412

  • Release of an object created with ActiveXAdapter

    Hello

    I have an ActiveX (HyperAccess) object that uses the ActiveXAdapter.

    Is that what I created during execution. Communication works very well.

    But I'm not able to call ReleaseDispatch. His is not accessible the Hilgraeve interface.

    It is a way to release the ActiveX (IDispatch) objects during execution?

    Jürgen

    Fair value of all variables storing the reference to nothing.

    Example:

    Locals.MyActiveXReference = Nothing

    Reference count is automatically handled by the object reference variables. If you step to the activeX to create the object at the time of load/unload you must unload the not too well (but is not the default setting).

    Hope this helps,

    -Doug

  • Cannot write to the shared folder in secure workspace

    Hello

    I'm working on an application that writes to a debug log file in the shared documents folder. I use blackberry.io to get the path of the file as follows

    fs.root.getFile(blackberry.io.shared + '/documents/debug.txt', {create: true}, this._handleFileRead, this._handleError);
    

    Make sure I have "unsandbox" first by going to: blackberry.io.sandbox = false; According to the API.

    When I deploy the application on personal space, it works very well. When I deploy the application through the BES10 to the workspace and then I get a NO_MODIFICATION_ALLOWED_ERR trying to get/create the file...

    Note: If I try to create the file in my sandbox it works well in both areas.

    Hi Georgechr,

    The error message indicates that your application doesn't have write access to the shared directory.

    FYI, the shared folder of the workspace is located here:

    Accounts/1000-Enterprise/Shared

    While the shared personal folder is located here:

    / accounts/1000/shared

    First, we will ensure that blackberry.io.shared actually point to the shared folder of the workspace. Print (console.log ()) its results and attach to your response.

    An application which is installed within the perimeter of work can store data in the work and personal spaces as long as the following it policy is the value allow on BES:

    Security-> App work access to the personal data

    Kind regards

    A.

Maybe you are looking for

  • idea

    I have a great idea for microsoft. How can I send it?

  • Programs work only with windows vista

    I've had nothing but trouble with my new computer and am more convinced, it's because of Vista.  Every program that I buy, which says compatible with vista doesn't work properly or at all.  The most recent is Adobe Photoshop Elements 7.  It worked 'o

  • Malware, the Web Bots and Trojans is equal to the fall of DSL speed?

    Ive been having some trouble DSL speed and my ISP suggested that my computer had been compromised, so I downloaded Microsoft Security Essentials and of course after a 5 hour scan he found a Trojan horse and removed, although later that night, I conti

  • Change suddenly the size of the font, now it is almost too small to read

    Three of the four days there all fonts in any related windows, including Microsoft Office program has become so tiny as to be unreadable. I use Google and Firefox, but it seems not exclusive online. Searching through all the Q and R, but could not fi

  • BlackBerry Smartphones cannot access internet or email

    My wife and I bought the new storm at the same time and place. She has no problem with access to the internet, but whenever I try to connect, the message "unable to connect to the Internet, please try again later. If the problem persists contact your