[sane-devel] Build system issues.

m. allan noah kitno455 at gmail.com
Fri Feb 20 20:17:31 UTC 2009


On Fri, Feb 20, 2009 at 3:08 PM, Chris Bagwell <chris at cnpbagwell.com> wrote:
>
>
> On Fri, Feb 20, 2009 at 12:38 PM, m. allan noah <kitno455 at gmail.com> wrote:
>>
>> I'm not sure, but i think the build system used to overwrite all the
>> .so and .so.1 symlinks. It no longer does. I think this is a useful
>> feature, because you can tell users just to build from source and they
>> will be using the new version. Otherwise, they have to uninstall the
>> old version, and this can get hairy with novice users and helpful
>> package managers.
>>
>
> You mean during install phase, right?

yes.

>
> When backend was converted to automake, it uses the standard automake
> support to install libraries.  That does install symlinks on fresh install.
>
> I think your point is that now if a user installs, libsane.so.1.1.0 on top
> of a previous libsane.so.1.0.19 install then libsane.so symlink still points
> to libsane.so.1.0.19?

it's not just that it leaves the links behind, it actually makes the
links to 1.0.19, even when 1.1.0 is also installed.

> I've not tried above yet but seems reasonable libtool behavior to me.  I'll
> read up on libtool and see if they have an "opinion" on this.
>
> I didn't port over the following logic from old "install-be" target but it
> must have been doing what you said (move symlink to libsane.so.1.1.0).  The
> comment suggested that libtool simply wasn't working but since it was I
> didn't bother porting over...
>
> If people agree with old behavior, I can add it back. Old logic seems
> dangerious if we ever have a libsane.so.2.0.0 (as apposed to
>  libsane2.so.0.0.0).  We don't want to move libsane.so to libsane.so.2.0.0
> blindly or else will break a lot of applications that were working fine.
> But since we are not at that point yet, no issue to restore it.  Moving
> libsane.so.x to lastest version of libsane.so.x.y.z seems safe.

yes. but i think we are going to end up with libsane2.so anyway, so
don't worry about that.

allan

>
>         @# Create library links manually. Actually this is libtool's job but
> it
> doesn't
>         @# seem to work on some platforms.
>         @# Assume the dll name without any versions is last
>         @if test "$(USE_LINKS)" = "yes" ; then  \
>           dllend=`../tools/libtool-get-
> dll-ext libsane-dll.la`; \
>           list="$(ALL_BACKENDS)"; cd $(DESTDIR)$(libsanedir) && for be in
> $$list
> ; do \
>             file=libsane-$${be}.$$dllend.$(V_MAJOR); \
>             lib=`grep dlname= libsane-$${be}.la | cut -f2 -d"'"`; \
>             if test ! -f $${file} -a -n "$${lib}"; then \
>               $(LN_S) $${lib} $${file}; \
>             fi; \
>           done; \
>         fi
>
>
> Chris
>
>



-- 
"The truth is an offense, but not a sin"



More information about the sane-devel mailing list