Re: Building a program with the library shipped in Debian, not in orig.tar.gz

2006-09-27 Thread Jon Dowland
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

2006-09-27 Thread Charles Plessy
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

2006-09-27 Thread Kapil Hari Paranjape
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

2006-09-26 Thread Charles Plessy
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

2006-09-14 Thread Charles Plessy
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

2006-09-14 Thread Daniel Leidert
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]