<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>9996</bug_id>
          
          <creation_ts>2002-10-30 21:44 0000</creation_ts>
          <short_desc>sylpheed-claws, libaspell and portage cleaning</short_desc>
          <delta_ts>2003-02-04 19:42:18 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>tom.gl@free.fr</reporter>
          <assigned_to>nall@themountaingoats.net</assigned_to>
          <cc>news@derived-software.ltd.uk</cc>
    
    <cc>seemant@gentoo.org</cc>
    
    <cc>tom.gl@free.fr</cc>

      

      
          <long_desc isprivate="0">
            <who>tom.gl@free.fr</who>
            <bug_when>2002-10-30 21:44:30 0000</bug_when>
            <thetext>Hi, 

I&apos;ve seen that the new &quot;clean by default&quot; portage behavior is currently
discussed on gentoo-dev ml... Here is an example of a bad consequence, where an
actual runtime dependency is stronger than the ebuild dependency protected from
cleaning:

 - I&apos;ve installed sylpheed-claws 0.8.5 while aspell-0.50.1 was installed
 - I&apos;ve then upgraded to aspell-0.50.2
 - libaspell-common-0.50.1.so deleted by portage cleaning
 - sylpheed-claws then refused to start, because it was still looking for
libaspell-common-0.50.1.so 

I don&apos;t know why it was looking for the minor version installed while compiling
and not the symlink (libaspell-common.so, or at least libaspell-common.50.so),
but &quot;ldd&quot; output was explicit. It&apos;s probably just a sylpheed-claws bug. I had to
reemerge it. Now, &quot;ldd&quot; still gives me a dependency on the minor version, so the
problem will occur again when I upgrade aspell:

thomas@gromit thomas $ ldd /usr/bin/sylpheed-claws 
	libaspell.so.15 =&gt; /usr/lib/libaspell.so.15 (0x4002a000)
	libaspell-common-0.50.2.so =&gt; /usr/lib/libaspell-common-0.50.2.so (0x400e4000)
[...]</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nall@themountaingoats.net</who>
            <bug_when>2002-11-01 08:14:22 0000</bug_when>
            <thetext>ok, after talking with the aspell author, i&apos;ve come to some conclusions about
how to fix this.

libaspell-common is a library used internally by libaspell. applications should
never need to link against this. furthermore, libaspell-common&apos;s interface may
change at any time, so it&apos;s actually not safe for apps to link against it.
they&apos;re currently linked against it because it&apos;s listed in the dependency_libs
list of libaspell.la. i&apos;ve spoken with the aspell author and he doesn&apos;t know of
a good way to prevent this problem.


so how do we prevent apps from linking against it? i&apos;ve come up with 2 ways:

1. we can find every package that links against aspell and patch its libtool to
set link_all_deplibs to &quot;no&quot;. this will cause the package to link against
libaspell.so, but none of its dependencies (libaspell-common.0.51.0.so). this is
probably the &quot;right&quot; thing to do, but it&apos;s kind of a maintenance nightmare.

2. we can sed out the libaspell-common.la dependency from libaspell.la before
installing it. this is probably the easiest solution. i don&apos;t think removing the
libaspell-common.la from libaspell.la has any ramifications other than
preventing packages linking against libaspell from also linking against
libaspell-common. this change is made in only one place (the aspell ebuild) and
can be removed if the aspell author solves the problem. this is my preferred
solution.

in any case, it&apos;ll cause a lot of things to need to be rebuilt. (eg: packages
that link with libaspell; packages that link w/ packages that link with
libaspell, etc..)

seemant, do you know of any reason not to go with solution #2?
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>seemant@gentoo.org</who>
            <bug_when>2002-11-01 15:23:56 0000</bug_when>
            <thetext>I think it would be the best course of action, to be honest.  I am not entirely
sure if it would require a lot of recompilation. It might, but might not. 
aspell is relatively new in the tree (this version) and not everything works it
at the moment.  It&apos;s something to investigate anyway.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>seemant@gentoo.org</who>
            <bug_when>2002-11-02 00:34:55 0000</bug_when>
            <thetext>*** Bug 9980 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nall@themountaingoats.net</who>
            <bug_when>2002-11-11 07:56:23 0000</bug_when>
            <thetext>i just checked in aspell-0.50.2-r1. this should fix the bad dependency on aspell-common. you&apos;ll need to recompile everything that depends on aspell afterwards.

closing</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nall@themountaingoats.net</who>
            <bug_when>2002-11-11 14:03:28 0000</bug_when>
            <thetext>just adding some words so people finding this with apps other than
sylpheed-claws might find this bug.

a list of the current packages depending on aspell:
abiword gnome-spell sylpheed-claws lyx gtkspell gtk+licq balsa
</thetext>
          </long_desc>
      
    </bug>

</bugzilla>