pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: buildlink breakage on libwebp?



More detail:


Making all in extras
/bin/bash ../libtool  --tag=CC    --mode=link gcc -fvisibility=hidden -Wall -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wshadow -Wundef -Wunreachable-code -Wunused-but-set-variable -Wunused -Wvla -O3 -march=ivybridge -I/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/include -I/usr/include -pthread   -L/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -Wl,-R/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -L/usr/lib -Wl,-R/usr/lib -o webp_quality webp_quality-webp_quality.o ../imageio/libimageio_util.la libwebpextras.la  ../src/libwebp.la 
libtool: link: gcc -fvisibility=hidden -Wall -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wshadow -Wundef -Wunreachable-code -Wunused-but-set-variable -Wunused -Wvla -O3 -march=ivybridge -I/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/include -pthread -Wl,-rpath -Wl,/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -o .libs/webp_quality webp_quality-webp_quality.o  -L/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib ../imageio/.libs/libimageio_util.a ./.libs/libwebpextras.a /tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/libwebp-1.1.0/src/.libs/libwebp.so ../src/.libs/libwebp.so -lm -pthread -Wl,-rpath -Wl,/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib
/bin/bash ../libtool  --tag=CC    --mode=link gcc -fvisibility=hidden -Wall -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wshadow -Wundef -Wunreachable-code -Wunused-but-set-variable -Wunused -Wvla -O3 -march=ivybridge -I/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/include -I/usr/include -pthread   -L/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -Wl,-R/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -L/usr/lib -Wl,-R/usr/lib -o get_disto get_disto-get_disto.o ../imageio/libimageio_util.la  ../imageio/libimagedec.la ../src/libwebp.la -Wl,-R/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -L/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -lpng16  -ljpeg -ltiff 
libtool:   error: cannot find the library '/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib/libwebp.la' or unhandled argument '/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib/libwebp.la'
*** Error code 1


Even if I change it to link directly to the correct .so file:

bash-4.4$ /bin/bash ../libtool  --tag=CC    --mode=link gcc -fvisibility=hidden -Wall -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wshadow -Wundef -Wunreachable-code -Wunused-but-set-variable -Wunused -Wvla -O3 -march=ivybridge -I/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/include -I/usr/include -pthread   -L/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -Wl,-R/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -L/usr/lib -Wl,-R/usr/lib -o get_disto get_disto-get_disto.o ../imageio/libimageio_util.la  ../imageio/libimagedec.la $PWD/../src/.libs/libwebp.so -Wl,-R/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -L/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib -lpng16  -ljpeg -ltiff
libtool:   error: cannot find the library '/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib/libwebp.la' or unhandled argument '/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib/libwebp.la'

It seems to enter via dependencies. So somehow the .la files are messed
up so that linking within the source tree does not work. This is
pkgsrc's libtool 2.4.6 on Linux/x86-64. Wrapper work log did not seem
suspicious (IRC conversation).

I guess this has something to do with how the .la files are modified.
This particular linker dependency chain insists on the libraries
already being installed, even if this is just the `make` phase.

bash-4.4$ cat ../src/libwebp.la 
# libwebp.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libwebp.so.7'

# Names of this library.
library_names='libwebp.so.7.1.0 libwebp.so.7 libwebp.so'

# The name of the static archive.
old_library='libwebp.a'

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
# buildlink modification
dependency_libs='-L/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib -lm'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for libwebp.
current=8
age=1
revision=0

# Is this an already installed library?
installed=no

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib'

Libtool debugging shows this file seems to be to blame:

bash-4.4$ cat /tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib/libtiff.la
# libtiff.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libtiff.so.5'

# Names of this library.
library_names='libtiff.so.5.5.0 libtiff.so.5 libtiff.so'

# The name of the static archive.
old_library='libtiff.a'

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
# buildlink modification
dependency_libs='/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib/libwebp.la -lzstd -llzma -lpthread -lrt -ljbig -ljpeg -lz -lm'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for libtiff.
current=10
age=5
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/tmp/work-with-system-gcc/pkgsrc/cvs-20200227/bw/graphics/libwebp/work/.buildlink/lib'


Libtiff in buildlink depends on libwebp?! That's the original in pkgsrc
installation:

$ cat .prefix/lib/libtiff.la 
# libtiff.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libtiff.so.5'

# Names of this library.
library_names='libtiff.so.5.5.0 libtiff.so.5 libtiff.so'

# The name of the static archive.
old_library='libtiff.a'

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
# buildlink modification
dependency_libs='-L/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib /usr/lib/libwebp.la -lzstd -llzma -lpthread -lrt -ljbig -ljpeg -lz -lm'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for libtiff.
current=10
age=5
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/stuff/sw/env/system-gcc/pkgsrc/cvs-20200227/lib'



It's using my libwebp in the system. OK, so that's a reason why others
don't see this. I got a conflict between system and pkgsrc libwebp. Is
it supposed to play out that way with the wrappers?

Heck. This also means we got a circular dependency between tiff and
webp here. Great idea, that. How should this be approached at all in
pkgsrc?


Alrighty then,

Thomas

-- 
Dr. Thomas Orgis
HPC @ Universität Hamburg


Home | Main Index | Thread Index | Old Index