najoshi / sickle

Windowed Adaptive Trimming for fastq files using quality
MIT License
217 stars 95 forks source link

Concerning libz #16

Closed nkav closed 11 years ago

nkav commented 11 years ago

Thanks so much for wrapping the tool for Galaxy. I was hoping to also install zlib as a Galaxy-installed dependency. If this is the case, how could I point the Makefile to zlib's correct directory (which wouldn't be in /usr/local/lib in this case)?

najoshi commented 11 years ago

I'm not sure what you mean by a "Galaxy-installed" dependency..... but to compile using zlib in another directory, you would use -L/path/to/libdir and then use the LD_LIBRARY_PATH shell variable at runtime to point to zlib. Is that what you mean?

On Wed, Jul 10, 2013 at 8:48 AM, nkav notifications@github.com wrote:

Thanks so much for wrapping the tool for Galaxy. I was hoping to also install zlib as a Galaxy-installed dependency. If this is the case, how could I point the Makefile to zlib's correct directory (which wouldn't be in /usr/local/lib in this case)?

— Reply to this email directly or view it on GitHubhttps://github.com/najoshi/sickle/issues/16 .

Nikhil Joshi Bioinformatics Analyst/Programmer UC Davis Bioinformatics Core http://bioinformatics.ucdavis.edu/ najoshi -at- ucdavis -dot- edu 530.752.2698 (w)

nkav commented 11 years ago

I was actually wrapping sickle for the tool shed; an included tool_dependencies.xml would zlib and sickle for the downloading user and put it in a sandboxed directory.

Thanks for the help. So, I could append the directory of zlib/lib to LD_LIBRARY_PATH, as well as referring to -l/path/to/z to search for libz.a? in path/to? What is the point of specifying the directory twice? I'm still getting the hang of compiling and makefiles, so please excuse what probably is a primitive question.

najoshi commented 11 years ago

I believe the -l during compilation is just so that the library is linked to so that the compiler can do type checking, function arguments checking, etc. But during runtime, in order to actually use the library it needs to know exactly where it is, and that is when you use -L. So for example, you could compile the program on one machine and then take it to another machine (with the same architecture) and run it using a different library path. Try it and let me know if that works.

On Thu, Jul 11, 2013 at 1:09 PM, nkav notifications@github.com wrote:

I was actually wrapping sickle for the tool shed; an included tool_dependencies.xml would zlib and sickle for the downloading user and put it in a sandboxed directory.

Thanks for the help. So, I could append the directory of zlib/lib to LD_LIBRARY_PATH, as well as referring to -l/path/to/z to search for libz.a? in path/to? What is the point of specifying the directory twice? I'm still getting the hang of compiling and makefiles, so please excuse what probably is a primitive question.

— Reply to this email directly or view it on GitHubhttps://github.com/najoshi/sickle/issues/16#issuecomment-20838620 .

Nikhil Joshi Bioinformatics Analyst/Programmer UC Davis Bioinformatics Core http://bioinformatics.ucdavis.edu/ najoshi -at- ucdavis -dot- edu 530.752.2698 (w)

nkav commented 11 years ago

That works! Thanks for your help.