Dependency Walker equivalent for Linux? [duplicate] - linux

This question already has answers here:
Hierarchical ldd(1)
(4 answers)
Closed 3 years ago.
I need a tool to show all the shared library dependencies in some graphical way, not just with ldd on each .so. For MS Windows Dependency Walker works. Is there anything for Linux?
.

Try binscan or ELF Library Viewer

Related

How to read the contents of a file on linux in FASM x86_64 assembly? [duplicate]

This question already has answers here:
How to read from and write to files using NASM for x86-64bit
(2 answers)
Read file from a specific position in x86
(2 answers)
Closed 8 months ago.
I'm trying to learn how to use FASM, and currently looking into manipulating files using it. But all resources I could find for it seem to be windows-only.
How could I obtain a pointer to the contents of the file, or loop over each of its lines?

Can compiled Haskell run w/o Haskell environment? [duplicate]

This question already has answers here:
Is it possible to produce stand alone haskell executable
(2 answers)
Do ghc-compiled binaries require GHC or are they self-contained?
(4 answers)
Closed 4 years ago.
I was trying to find out, whether the Haskell environment is needed to run Haskell program? For instance like Java.
Or does it work more like .net, where compiled .exe can be run on any computer wherever one copies it to?
I got this question, because in addition to normal arguments, one can give arguments for Haskell environment (+RTS -RTS) when launching an executable.

How to know which shared object is used? [duplicate]

This question already has answers here:
Determine direct shared object dependencies of a Linux binary?
(4 answers)
Closed 5 years ago.
This probably already has an answer but I couldn't find it.
I want to know which shared object is used by the binary (based on LD_LIBRARY_PATH, /etc/ld.so.conf, etc...). Something similar to the which command but for .so.
Thanks
You should use the ldd utility. In the same environment you would load your executable (Same LD_LIBRARY_PATH, e.t.c.)

Should I use libc++ or libstdc++? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I am developing command line interface executables for both osx and linux using c/c++. The project will link against opencv. Should I use libc++ or libstdc++?
I would use the native library for each OS i.e. libstdc++ on GNU/Linux and libc++ on Mac OS X.
libc++ is not 100% complete on GNU/Linux, and there's no real advantage to using it when libstdc++ is more complete. Also, if you want to link to any other libraries written in C++ they will almost certainly have been built with libstdc++ so you'll need to link with that too to use them.
More info here about the completeness of libc++ on various platforms.
Major Linux distributions do not provide LLVM libc++, because:
Unlike Apple and FreeBSD, the GPL+3 is not an issue, so no need to
implement another stack here.
Linux components have been developed around GNU libstd++ for ages. Some of them
do not build on anything else.
While libc++ is strong in new features, it has some problems with legacy code.
If eventually libc++ became part of distributions, it will be as an optional component. linking against it will probably require extra options.
Like Jonathan said, you should use whatever tool is included by default. Clang is safe in Linux to use since is configured as a GCC replacement, so in that aspect you don't have to worry about 2 compilers. Also since you are targeting two platforms, you should take a look to cmake.

Giving R under Linux access to a DLL [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I have an R script which was developed in Windows, and which requires a particular DLL to be in the path because it uses some functions contained therein (via the dyn.load function).
Is it possible to make the script work under Linux? Perhaps using wine?
Assuming you have the source code of the non R code, I think your best bet will be to compile the code under Linux, e.g. Using a gcc compiler, create the shared library (.so file) and load it into R. If you put your code (R code and the other source code) in an R package you could integrate the R code and other source code so that they can be installed in one go, where the source is compiled on the fly.
The fact that you don't have the source code makes things quite a bit more complex. This SO post:
Using Windows DLL from Linux
Suggests to me that what you want is not trivial. One option would be to run the dll in a windows virtual machine. You then communicate using e.g. Tcp/ip to the dll running on your machine. So depending on how far you are willing to go, this might be a solution. The answers to the post above also suggest wine will not provide a satisfactory solution, but the post is quite old so wine might be improved in the meantime.

Resources