Re: Building a program with the library shipped in Debian, not in orig.tar.gz
At 1158313616 past the epoch, Charles Plessy wrote: EMBOSS is shipped and built with its own copy of libpcre. As a result, the EMBOSS Debian package contains some files wich are also in the libpcre Debian package, and they conflict together. Argh. Reading the -devel mesg you linked to, I take it that this software is using stuff which is not exposed in libpcre as a public function. The correct solution would be for the upstream software to be adjusted such that a) it did not use bits of pcre that are not exposed in the library b) it was feasible to link to an external pcre (perhaps by default) -- Jon Dowland http://alcopop.org/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Building a program with the library shipped in Debian, not in orig.tar.gz
Le Wed, Sep 27, 2006 at 11:10:34AM +0100, Jon Dowland a écrit : At 1158313616 past the epoch, Charles Plessy wrote: EMBOSS is shipped and built with its own copy of libpcre. As a result, the EMBOSS Debian package contains some files wich are also in the libpcre Debian package, and they conflict together. Argh. Reading the -devel mesg you linked to, I take it that this software is using stuff which is not exposed in libpcre as a public function. The correct solution would be for the upstream software to be adjusted such that a) it did not use bits of pcre that are not exposed in the library b) it was feasible to link to an external pcre (perhaps by default) Hi, This is definitely what I will do, but EMBOSS releases a stable version every 3-4 month, and a major version every 1-2 years, so I do not think that it is compatible with having EMBOSS in Debian soon. Other distributions, such as RHEL, FreeBSD, Gentoo, and Fink all manage to distribute EMBOSS, so I wonder if the problem my inexperience rather than EMBOSS itself... For the packaging of EMBOSS, I started with the preliminary work of somebody else, which was made at a time where EMBOSS was not using pcre. It happens that when used on the latest version, it includes the headers from pcre in the a emboss-lib package which also contains libraries specific to EMBOSS. If I understand correctly, this symptom can be cured easily (removing the pcre headers from the package), but this leaves the possibility that the EMBOSS binaries will have a wrong behaviour because they would use a different libpcre than the one they have been compiled with. But maybe the binaries are statically linked... How can I figure out? Have a nice day, -- Charles Plessy http://charles.plessy.org Wako, Saitama, Japan -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Building a program with the library shipped in Debian, not in orig.tar.gz
Hello, On Wed, 27 Sep 2006, Charles Plessy wrote: Le Wed, Sep 27, 2006 at 11:10:34AM +0100, Jon Dowland a écrit : At 1158313616 past the epoch, Charles Plessy wrote: EMBOSS is shipped and built with its own copy of libpcre. As a result, the EMBOSS Debian package contains some files wich are also in the libpcre Debian package, and they conflict together. Other distributions, such as RHEL, FreeBSD, Gentoo, and Fink all manage to distribute EMBOSS, so I wonder if the problem my inexperience rather than EMBOSS itself... I had a similar issue with building pngcrush and libpng. If you build using the upstream's copy of libpcre which is included with the code, then the security team will raise the following question: Who is responsible for fixing the security issues that arise in the libpcre library as they apply to your package? This is forever a problem with forked code. If there is a security bug in one version the security team will be forced to examine its implications in all other forks. For this reason the Debian version of pngcrush is built using the Debian libpng. This is something that is deprecated by the upstream author but he has been kind enough to facilitate it anyhow. The Debian version of optipng is done differently. It includes a separate library of png functions which are only for its own use. Hence it does not depend on Debian's libpng at all. Hope this experience will help you to solve your problem. Regards, Kapil. -- signature.asc Description: Digital signature
Re: Building a program with the library shipped in Debian, not in orig.tar.gz
Le Fri, Sep 15, 2006 at 03:22:37AM +0200, Daniel Leidert a écrit : In short: Change #include pcre.h to #include pcre.h and see 'man pcre-config' for the compilation arguments (you only need, what --libs tells you in the linking step, IIRC). Dear Daniel, I have posted more information on -devel, as the maintainer of libpcre asked for advice on this list. The message is here: http://lists.debian.org/debian-devel/2006/09/msg00973.html To cut a long story short, I made changes in the spirit of what you suggested, but some headers used by EMBOSS are not in libpcre because they are meant for internal use. I copied them in the debian directory, but in the end, the build stops with: make: *** No rule to make target `pcre.lo', needed by `libajax.la'. Stop. This goes far beyond my area of knowledge (bioinformatics, trivial debian packaging, molecular biology), so I would greatly appreciate any help from persons interested in seeing EMBOSS in Debian. Maybe an easy solution would be to figure out wether EMBOSS is build statically against the libpcre it ships, and do the necessary changes if not. This way, there is no need for shipping files conflicting with libpcre. Have a nice day, -- Charles Plessy http://charles.plessy.org Wako, Saitama, Japan -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Building a program with the library shipped in Debian, not in orig.tar.gz
Dear Mentors I am preparing Debian packages for EMBOSS (the European Molecular Biology Software Suite, www.emboss.org), and I run in the following problem: EMBOSS is shipped and built with its own copy of libpcre. As a result, the EMBOSS Debian package contains some files wich are also in the libpcre Debian package, and they conflict together. I would like to try to build EMBOSS with the libpcre from Debian, but I could not figure out how to do. Can somebody give me hints? EMBOSS uses the auto(make|conf) system - I do not understand the difference yet. The files for libpcre such as pcre.h are in the same directory as the files for a core EMBOSS library. I need to tell the program to use /usr/include/pcre.h and so on, but I have no clue on how to do this (I never programmed in C). Is there a documentation for solving that kind of problem? I beleive it should be recurrent in Debian... Have a nice day, -- Charles Plessy http://charles.plessy.org Wako, Saitama, Japan -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Building a program with the library shipped in Debian, not in orig.tar.gz
Am Freitag, den 15.09.2006, 09:46 +0900 schrieb Charles Plessy: I am preparing Debian packages for EMBOSS (the European Molecular Biology Software Suite, www.emboss.org), and I run in the following problem: EMBOSS is shipped and built with its own copy of libpcre. As a result, the EMBOSS Debian package contains some files wich are also in the libpcre Debian package, and they conflict together. I would like to try to build EMBOSS with the libpcre from Debian, but I could not figure out how to do. Can somebody give me hints? EMBOSS uses the auto(make|conf) system - I do not understand the difference yet. I guess, it will be more problematic to begin to change the Makefile.am/.in or configure.ac/.in files in the Debian package, than just making the custom changes to use Debian pcre-package. If EMBOSS compiles with a common libpcre-version, upstream should add the necessary checks for an libpcre installation and prefer this version, instead of the shipped pcre-version. But for you, this will be overkill I guess (you know, where the libpcre-header files are installed, so you don't need such checks). The files for libpcre such as pcre.h are in the same directory as the files for a core EMBOSS library. I need to tell the program to use /usr/include/pcre.h and so on, but I have no clue on how to do this (I never programmed in C). In short: Change #include pcre.h to #include pcre.h and see 'man pcre-config' for the compilation arguments (you only need, what --libs tells you in the linking step, IIRC). Is there a documentation for solving that kind of problem? I beleive it should be recurrent in Debian... HTH and regards, Daniel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]