Re: [PATCH v2 1/3] kernel-shark: Reorder the priority when searching for trace-cmd libs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 26 Mar 2019 09:57:52 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Tue, 26 Mar 2019 15:35:28 +0200
> "Yordan Karadzhov (VMware)" <y.karadz@xxxxxxxxx> wrote:
> 
> > > I really don't want any build artifacts in the executable. This
> > > will mean that you need to do special arrangements to build
> > > kernelshark and then move it to another machine.    
> > 
> > I am confused. I do not know how we can make possible to build 
> > kernelshark on one machine and then move it to another machine and 
> > guarantee that it will work. Note that trace-cmd is not the only 
> > external dependency. We depend on OpenGL, Qt, ....
> > 
> > Qt itself depends on big number of things.
> > 
> > Is this really doable?  
> 
> Yes, I've done it myself several times.
> 
> One only needs the "-dev" packages to build kernelshark. But if you
> want to run it, you just need the normal packages. I have those
> packages installed on several machines. In fact, I  may only want to
> build kernelshark on one box, and then copy it to other boxes that
> don't have the "-dev" packages.
> 
> There's also a case for cross compiling, where Qt, OpenGL and others
> are already installed on those other boxes.
> 
> Package managers will let you know this is done all the time, right
> Patrick? ;-)

This is pretty much how package managers operate, whenever you "apt-get
install" or "dnf install" the package manager is downloading binaries
built on a random server and installing them on your machine. As long
as the appropriate dependencies are installed (which the package
manager takes care of for you), it should just work.

Finding the libraries at runtime is generally taken care of by your
linker, and there is nothing that really needs to be done in your
package. For plugins (and other things that you dlopen()), you need to
come up with a way to figure out where to look. Most packages do this
with defaults defined at build time (packagers and distro security
teams will not like you very much if you hard code looking for dynamic
libraries at relative paths from the CWD), and overrides in
configuration files.



[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux