Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

Error 1 occurred at System Exec while building Shared Object

No, but I would be happy to follow your steps to try to recreate the problem here if that's any help.

0 Kudos
Message 11 of 20
(601 Views)

Jeff2,

If you have a desire to see a 64-bit LabVIEW for Linux, please let your local sales person know. More voices are always better in these situations.

Randy Hoskin

0 Kudos
Message 12 of 20
(598 Views)

Thank you for your help Jeff.Are you using LabView Linux 2009?

I am attaching AdditionSO.vi which I would like to create into a shared object.The following are the steps I am using to create one. I have also attached them in a file, for easier reference. These should be sufficient, however a more detailed steps are present in LV Help -> Index-> Application Builder-> Building Shared Libraries.

1. Create new Project and put AdditionSO.vi into it.
2. Right click on Build Specifications -> New-> Shared Object
3 Information-> Enter Build Specification name(say, MySharedLibrary), Target filename (libAdd.so), Destination Directory (where you would want to save the shared object)
4. Source Files -> Add the AdditionSo.vi  into Exported VI. The function Prototype would look something like: int32_t AdditionSO(int32_t input1, int32_t input2)
5. Preview -> Generate Preview -> OK
6. Expand Build Specifications so that you see the 'MySharedLibrary' entered in step 3 under  Build Specifications.
7. Right Click MySharedLibrary -> Build.

I always get this message:

"Error 1 occurred at System Exec: /usr/local/lib/liblvrt.so.9.0: could not read symbols: File in wrong format collect2: ld returned 1 exit status"

Regards,

-H.

Download All
0 Kudos
Message 13 of 20
(601 Views)

Let me outline the step I took to ensure they are the same.  A few options seem to be different.

1. Created new project.

2. Right clicked on "My Computer" and added AdditionSO.vi

3. Right clicked on "Build Specification" -> New -> Source Distribution

Step three is different than you listed.  This is the only option.  I don't see Shared Object, however I continue from this point

4. Enter info as you detail in step 3

5. Under source file click the -> arrow to add AdditionSO.vi to be included under "Always Included"

This is a little different then outlined in your step 4.  In addition I don't see anythin like int32_t AdditionSO(int32_t input1, int32_t input2)

6.  Finish you steps 5-7 and everything builds fine.  Under my build directory I see AdditionSO.vi.

This doesn't seem correct.  Am I missing something or looking in the wrong place?  I am using Labview 2009.

Jeff

0 Kudos
Message 14 of 20
(601 Views)

A source distribution is not the same as a shared library build. Maybe you don't have application builder installed.

0 Kudos
Message 15 of 20
(598 Views)

Hello Jeff,

Thank you for your help.

When I right click on Build Specifications, I get four options : 1. Application 2. Shared Library 3. Source Distribution 4. Zip File.

I am using LV Linux 2009 Professional version. Yours could be another version.

Regards,

Hita.

0 Kudos
Message 16 of 20
(598 Views)

I filed a bug report suggesting that we make this change. I also suggested that we look at the GCC environment variable so that the user can override the compiler. I don't know when this change will be made, though. For now you can use the trick Shawn suggested.

0 Kudos
Message 17 of 20
(598 Views)

Your right, I have the Full Development System, not Professional.  I didn't even think about this because we have always had the Professional version.  I took at look at out past discs and it looks like we changed to Full for 2009 and I didn't catch it.

I'll probably look into this and if we have the Professional version I'll reinstall otherwise sorry I can't help.

Jeff

0 Kudos
Message 18 of 20
(598 Views)

Hello Adam,

I am also getting an error when I try to upload a Shared object into a Vi using the 'Call Library Function Node'

-H.

0 Kudos
Message 19 of 20
(598 Views)

You'll have to be more specific than that. Is your .so a 32-bit binary or a 64-bit binary? You can only use 32-bit binaries with a 32-bit LabVIEW (there is no 64-bit LabVIEW for Linux right now).

0 Kudos
Message 20 of 20
(598 Views)