Software Archive
Read-only legacy content
17060 Discussions

Cilk Tools error while loading shared libraries

Nicholas_N_
Beginner
719 Views

I have successfully compiled cilkplus for gcc (4.8 branch) on Ubuntu 14.04 LTS and compiled the example program fib on the cilkplus website.  I would like to run cilkview and cilkscreen on it, and so I downloaded cilk tools from the website as well.  However, when I try to run cilkview, I get the following error:

[plain]Cilkview: Generating scalability data

-t: error while loading shared libraries: -t: cannot open shared object file: No such file or directory[/plain]

I've tried changing the environment variables $LIBRARY_PATH and $LD_LIBRARY_PATH to point to the libraries in the cilk tools directory, but I still come up with the same error.  I also noticed that on the cilk tools downloads, for linux there is an extra set of libraries (libelf and libdwarf), which I have also installed on my system.  I tried looking at the depenencies for cilkview, but I couldn't find anything unusual with those.  Here is the output:

[plain]$ ldd cilkview

    linux-gate.so.1 =>  (0xf7735000)

    libm.so.6 => /lib32/libm.so.6 (0xf76d1000)

    libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf75e8000)

    libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf75cb000)

    libc.so.6 => /lib32/libc.so.6 (0xf741f000)

    libdl.so.2 => /lib32/libdl.so.2 (0xf741a000)[/plain]

I would particularly like to run cilkview, but the error persists for both cilkview and cilkscreen.  It looks like the error is loading libraries; however,  I have no idea why it calls the library -t.  Any help with this would be much appreciated.

0 Kudos
7 Replies
Barry_T_Intel
Employee
719 Views

Try adding "--verbose" to the cilkview command. It should dump a bunch of information to help you (and us) debug the problem. Specifically, it will show you the Pin command that's being executed.

   - Barry

0 Kudos
Nicholas_N_
Beginner
719 Views

Here is the output of the verbose cilkview command:

[plain]PIN Environment variables:

LD_LIBRARY_PATH=/home/nick/cilktools-linux/lib64:/home/nick/cilkplus-install/lib:/home/nick/cilkplus-install/lib64:

PIN_APP_LD_ASSUME_KERNEL=<undefined>

PIN_APP_LD_LIBRARY_PATH=/home/nick/cilktools-linux/lib64:/home/nick/cilkplus-install/lib:/home/nick/cilkplus-install/lib64:

PIN_APP_LD_BIND_NOW=1

PIN_APP_LD_PRELOAD=<undefined>

PIN_LD_RESTORE_REQURED=<undefined>

PIN_VM_LD_LIBRARY_PATH=/home/nick/cilktools-linux/lib64:/home/nick/cilkplus-install/lib:/home/nick/cilkplus-install/lib64:

Cilkview: Generating scalability data

PIN command:

/home/nick/cilktools-linux/lib64/pinbin -t /home/nick/cilktools-linux/lib64/cilkview-tool.so -cvout ./REU_14/fib.cvdata -cores 16 -- ./REU_14/fib

-t: error while loading shared libraries: -t: cannot open shared object file: No such file or directory[/plain]

 

 

0 Kudos
Barry_T_Intel
Employee
719 Views

OK, taking the information from Pin command:

/home/nick/cilktools-linux/lib64/pinbin -t /home/nick/cilktools-linux/lib64/cilkview-tool.so -cvout ./REU_14/fib.cvdata -cores 16 -- ./REU_14/fib
  -t: error while loading shared libraries: -t: cannot open shared object file: No such file or directory

 

The message is telling you that the system cannot find the Pintool - cilkview-tools.so. According to the output, it should be at /home/nick/cilktools-linux/lib64/cilkview-tool.so. Does that file exist? If not, you've got a broken Cilk Tools installation. If it does exist, is there a pin.log file in the directory you're running from?

    - Barry

0 Kudos
Nicholas_N_
Beginner
719 Views

There is a library called cilkview-tool.so at /home/nick/cilktools-linux/lib64/cilkview-tool.so.  After I execute the cilkview command, I do not see a pin.log file.

Originally I did have pin.log files from a previous error about ptrace(), which is mentioned and solved in this forum thread; however, I am not getting a pin.log for this particular error.

0 Kudos
Barry_T_Intel
Employee
719 Views

FYI, "cilkview" is simply a driver. It's generating the Pin command that actually runs your application under Cilkview.

The protections on /home/nick/cilktools-linux/lib64/cilkview-tool.so are correct, right? Try using ldd on cilkview-tool.so to see if a dependency is not being found.

The value displayed for LD_LIBRARY_PATH is what Pin (pinbin) will be run with. The value displayed for PIN_APP_LD_LIBRARY_PATH is what will be in effect when your application is loaded.

   - Barry

0 Kudos
Nicholas_N_
Beginner
719 Views

Here is the output of ldd cilkview-tool.so:

[plain]linux-vdso.so.1 =>  (0x00007fff5ff3c000)

libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd3c24a4000)

libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd3c2286000)

libdwarf.so (0x00007fd3c204b000)

libelf.so.0 (0x00007fd3c1e34000)

libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd3c1b2e000)

libstdc++.so.6 => /home/nick/cilkplus-install/lib64/libstdc++.so.6 (0x00007fd3c182b000)

libgcc_s.so.1 => /home/nick/cilkplus-install/lib64/libgcc_s.so.1 (0x00007fd3c1615000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd3c124f000)

/lib64/ld-linux-x86-64.so.2 (0x00007fd3c2c4b000)[/plain]

I'm confused as to why the Pin command generates the error listing the -t argument rather than listing cilkview-tool.so.

 

 

0 Kudos
Barry_T_Intel
Employee
719 Views

You can get the list of options for pinbin by running it with the "-help" option.  "-t" specifies the Pintool to be run. In this case it's cilkview.so.

The one odd thing I can see is the display for libdwarf.so and libelf.so.0.  It should be resolving them from your Cilk tools library directory.  Try adding it to the front of LD_LIBRARY_PATH, though cilkview (the driver) should be doing that for you.

   - Barry

0 Kudos
Reply