After successfully building and compiling sleuthkit library [4.2 version], I tried to write an introspection tool using the library.. Thing is whenever i am trying to compile the program in order to test it and I am using a function from the library API I'm get the following error :
error while loading shared libraries: libtsk.so.13: cannot open shared object file: No such file or directory
I found thought that this file exists in /usr/local/lib folder . Am i missing something ? ./configure && make didn't give me any errors.. and I am including -ltsk on the makefile!
My pc information : XEN hypervisor [Ubuntu 12.04 x64bit] and i am trying to investigate a guest vm running ubuntu 12.04 x32bit
Thanks in advance
I found a solution to the problem , if I install -dev package...
sudo apt-get install libtsk-dev
Also read this useful article... Understood why exactly that happened .
Related
I am on Ubunto 18.04. I installed libhdf5-serial-dev:
sudo apt-get install libhdf5-serial-dev
This installed ok - no errors. I can compile, link, and run a C++ file ok that creates and populates an HDF5 file. The resultant file looks good - I can read it ok with h5py and Python.
I installed hdf5-tools:
sudo apt-get install hdf5-tools
That also installed ok - no errors. But when I run h5dump I get:
h5dump: error while loading shared libraries: libhdf5_serial.so.100: cannot open shared object file: No such file or directory
That file does not exist in /usr/lib/x86_64-linux-gnu/hdf5/serial (or /usr/lib/x86_64-linux-gnu). No files with ".100" exist in either of those directories.
Any suggestions on what I've done wrong, and/or how to fix this?
None of the answers I found on the web helped me solve this problem - I tried every suggestion I found.
In the end, updating to Ubuntu 20.04 fixed the problem. Maybe reinstalling Ubuntu 18.04 would also have fixed the problem.
I am reposting this again in case missed out.
i have installed
sudo apt-get install libbluetooth-dev
and tried to compile btgatt-client.c from Blue5.54/tools/ with
gcc -o btgatt-client btgatt-client.c -lbluetooth
but get '#include "lib/bluetooth.h":no such file or directory'
What could be missing.I have tried move the files from '/usr/include/bluetooth'
the compilation folder but seems doesn't work. I am also curious where does this "src/shared/mainloop" from?
I am able to run the example and connect to nrf app but unable to compile the .c file.
The source files in BlueZ are not designed to be compiled singularly. Instead, you are supposed to build and install the entire BlueZ source, which in turn will compile btgatt-client.c for you. Please see the link below for instructions on how to build the entire BlueZ source:-
How to rebuild bluez
You will probably find that you need to install a lot of dependencies along the way, but you can either install these using sudo apt-get install <dependency> or try and not include it in the build. For example, to build BlueZ without systemd, you can do the following:-
./configure --disable-systemd
make
I hope this helps.
#Youssif Saeed. Thanks for the replies.
The good news is i have found out the cause.It seems the BlueZ bluetooth stack has an issue running in Raspbian Buster. I have downgrade the OS to Stretch and all seems up and running.
However i am trying gatt-client example and seems like not working when i set nrf app to advertising mode with exact UUID as in example. Or maybe i missed out certain part.Going to give a try with a simpler device like ESP32.
UPDATED
Thanks again guys.DBus gatt-client able to connect to BLMCU's. They key of operation is it needs to be paired > connected and read the BLE Server
Similar title question exist but not the same problem .
I have two machines one with CentOS 7.3.1611 and one with similar to CentOS you can say custom RedHat .
i have a SDK that i need to run on the custom machine but it doesn't have yum gcc.
so i had to compile and install the SDK on CentOS, after that i copied the result to the custom machine (shared libraries, scripts , binaries ...) in Order to run them there .
Naturally the SDK worked fine on CentOS, but on the custom machine while loading some of the drivers and other libraries fine , i got an error when loading a specific library as follow :
dlopen (libsdkpolicerlib.so) failed: (/usr/local/bin/../lib/libsdkpolicer.so.1: undefined symbol: policer_validate_packet_type)
Notice there are three shared objects involved here :
libsdkpolicerlib.so the one that dlopen tries to open
libsdkpolicer.so.1
libpolicercomlib.so that contains the symbol policer_validate_packet_type
all of the shared object are in the same directory /usr/local/lib .
libpolicercomlib.so actually contains the symbol .
I have :
verified the ld.so.cache contains all of the above libraries .
Also i have added /usr/local/lib to the LD_LIBRARY_PATH variable .
Executed ldconfig with "-n" with the path ...
I know this isn't the best way to do this sort of stuff, but this solution is temporary .
My question is what else do i have to verify in order for this to work ?
What am i missing here ?
You can check /lib/libsdkpolicer.so.1 with ldd command, maybe the libpolicercomlib.so file which you copy just is a link file, and check it on your machine without yum GCC. If everything is correct, you can copy the /lib64/ld-linux-x86-64.so.2 loader from your complie machine to your new machine(backup it before) and try it.
I am trying to compile and run this code under ubuntu 14.04. I downloaded and installed libpng version 1.6.12. I am able to compile the code using gcc test.c -lpng but when I try to run it, I get this error:
./a.out: error while loading shared libraries: libpng16.so.16: cannot open shared object file: No such file or directory
edit:
So I found libpng16.so.16, it was in /usr/local/lib and I copied it to /usr/local/include/libpng16/ and as well to /usr/local/include/ and recompiled the code, anyway the problem still persists.
Any suggestions ?
Ok so I found the solution here. The trick is to run sudo ldconfig after you install some shared library.
You can download the library from the link
https://sourceforge.net/projects/libpng/?source=directory
It will download a file something like "libpng-1.6.32.tar.xz"
Simply extract the file go inside folder and run these commands to install
./configure
make check
make install
Then you need to run after installing any library
ldconfig
I had same problem before I had installed it form below link and problem fixed.
I hope yours would be fixed as well
PNG reference library: libpng
I would ultimately like to modify and compile the existing Linux USB storage driver and test it. For the first step, I wanted to compile the module as is.
I downloaded the latest Linux kernel (version 3.12) and extracted it to ~/linux-3.12.
I found the driver I wanted to compile: drivers/usb/storage, but when I ran make, I got the following error:
make: *** No targets. Stop.
I found many guides online, but none of them worked for the USB storage driver. All I want is to compile this one module and get the .ko so I can test it out.
NOTE: I'm running Ubuntu 13.04 64-bit, and uname -r outputs 3.8.0-30-generic - I'm not sure if that's the problem, but I managed to compile the whole Kernel before. I don't want to do that now because it takes an eon.
If you wanted to build the drivers/usb/storage module you would do this:
make M=drivers/usb/storage
from the root directory of the kernel tree. Before doing so, you will need to make sure that your configuration is the same as the config of the running kernel.
You can't simply take the source code for one kernel and use it to build modules for another one. The module needs to be built from the same source and with the same configuration as the kernel itself.
Basically, you need to find the source code for the Ubuntu kernel you're running. In Ubuntu, as in Debian, that can be done with 'apt-get source '. The package name is probably something like 'linux-image-3.8-2-amd64'.
Once you have the source code you need to find the configuration of your running kernel. Fortunately Ubuntu keeps that in /boot/config-3.8-....
Copy that config to your kernel source tree as .config and run 'make oldconfig'. Now you should be able to build the module (assuming it's not already built into your kernel!).