[llvmlinux] [libdrm][clang] libtool: Relinking BROKEN on 'sudo make install'

Sedat Dilek sedat.dilek at gmail.com
Fri Jan 18 13:30:45 UTC 2013


[ CC friends from LLVMLinux ]

Hi,

I am still playing with llvm/clang v3.2 and mesa.

My clang version is:

$ clang -v
clang version 3.2 (tags/RELEASE_32/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix

As Brian suggested me to switch to mesa-9.x, I wanted to do so.
So, I needed to bump my libdrm (here: v2.4.41), but the installation
fails reproducibly!

I am no Makefile/autotools/libtool expert, but as far as my research
showed me it seems to be a problem of relinking/relink_command caused
by libtool.

In [1] I have seen the advice to use "--enable-fast-install"
configure-option as a workaround, but this does NOT help here.

In [2] I read about version mismatch between included libtool.m4 and
acinclude.m4 files, but libtool.m4 from my libdrm-builddir is
identical with the system-wide libtool.m4.

287004 Jan 18 14:04 ~/src/libdrm/libdrm-git/m4/libtool.m4
287004 Nov 12  2011 /usr/share/aclocal/libtool.m4

$ diff -uprN ~/src/libdrm/libdrm-git/m4/libtool.m4 /usr/share/aclocal/libtool.m4
[ NO OUTPUT <--- files are identical ]

Unfortunately, I still see on 'sudo make install':
...
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/opt/xorg/lib" || /bin/mkdir -p "/opt/xorg/lib"
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   libkms.la
'/opt/xorg/lib'
libtool: install: warning: relinking `libkms.la'
libtool: install: (cd /home/wearefam/src/libdrm/libdrm-git/libkms;
/bin/bash /home/wearefam/src/libdrm/libdrm-git/libtool  --silent --tag
CC --mode=relink clang -Wall -Wextra -Wsign-compare
-Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
-Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute
-Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement
-Wold-style-definition -Wno-missing-field-initializers
-Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline
-I../include/drm -I.. -Qunused-arguments -version-number 1:0:0
-no-undefined -o libkms.la -rpath /opt/xorg/lib linux.lo intel.lo
dumb.lo api.lo vmwgfx.lo nouveau.lo radeon.lo ../libdrm.la )
/home/wearefam/src/libdrm/libdrm-git/libtool: line 8968: clang:
command not found
libtool: install: error: relink `libkms.la' with the above command
before installing it
make[2]: *** [install-libkms_laLTLIBRARIES] Error 1
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
make: *** [install-recursive] Error 1

Executing the libtool-line shows no ERRORS but continuing with 'sudo
make install' fails again at same place.

[ ~/src/libdrm/libdrm-git/libtool: line 8968: clang: command not found ]
...
        save_ifs="$IFS"; IFS='~'
        for cmd in $cmds; do
          IFS="$save_ifs"
          eval cmd=\"$cmd\"
          $opt_silent || {
            func_quote_for_expand "$cmd"
            eval "func_echo $func_quote_for_expand_result"
          }
          $opt_dry_run || eval "$cmd" || { <--- LINE #8968
            lt_exit=$?

            # Restore the uninstalled library and exit
            if test "$opt_mode" = relink; then
              ( cd "$output_objdir" && \
                $RM "${realname}T" && \
                $MV "${realname}U" "$realname" )
            fi

            exit $lt_exit
          }
        done
        IFS="$save_ifs"
...

NOTE: My clang binary is in my $PATH and /opt/llvm is ldconfig-ed!

$ which clang
/opt/llvm/bin/clang

$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/llvm/bin

$ sudo ldconfig -v | grep -A3 llvm
/opt/llvm/lib:
        libLTO.so -> libLTO.so
        libclang.so -> libclang.so
        libprofile_rt.so -> libprofile_rt.so

Relevant scripts and logs are attached!

Any help appreciated!
Have more fun than me!

Regards,
- Sedat -

[1] http://lists.gnu.org/archive/html/libtool/2010-05/msg00051.html
[2] http://lists.gnu.org/archive/html/bug-libtool/2012-03/msg00017.html
-------------- next part --------------
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4 ${ACLOCAL_FLAGS}
configure.ac:145: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:98: LIBDRM_CC_TRY_FLAG is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:145: the top level
autoreconf: configure.ac: tracing
configure.ac:145: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:98: LIBDRM_CC_TRY_FLAG is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:145: the top level
autoreconf: running: libtoolize --install --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
libtoolize: copying file `build-aux/config.guess'
libtoolize: copying file `build-aux/config.sub'
libtoolize: copying file `build-aux/install-sh'
libtoolize: copying file `build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
configure.ac:145: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:98: LIBDRM_CC_TRY_FLAG is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:145: the top level
autoreconf: running: /usr/bin/autoconf --force
configure.ac:145: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:98: LIBDRM_CC_TRY_FLAG is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:145: the top level
autoreconf: running: /usr/bin/autoheader --force
configure.ac:145: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:98: LIBDRM_CC_TRY_FLAG is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:145: the top level
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:145: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:98: LIBDRM_CC_TRY_FLAG is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:145: the top level
autoreconf: Leaving directory `.'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... yes
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of clang... gcc3
checking how to run the C preprocessor... clang -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by clang... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from clang object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if clang supports -fno-rtti -fno-exceptions... yes
checking for clang option to produce PIC... -fPIC -DPIC
checking if clang PIC flag -fPIC -DPIC works... yes
checking if clang static flag -static works... yes
checking if clang supports -c -o file.o... yes
checking if clang supports -c -o file.o... (cached) yes
checking whether the clang linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for PTHREADSTUBS... yes
checking for clock_gettime... no
checking for clock_gettime in -lrt... yes
checking for open_memstream... yes
checking for supported warning flags... 
checking whether clang supports -Wall... yes
checking whether clang supports -Wextra... yes
checking whether clang supports -Wsign-compare... yes
checking whether clang supports -Werror-implicit-function-declaration... yes
checking whether clang supports -Wpointer-arith... yes
checking whether clang supports -Wwrite-strings... yes
checking whether clang supports -Wstrict-prototypes... yes
checking whether clang supports -Wmissing-prototypes... yes
checking whether clang supports -Wmissing-declarations... yes
checking whether clang supports -Wnested-externs... yes
checking whether clang supports -Wpacked... yes
checking whether clang supports -Wswitch-enum... yes
checking whether clang supports -Wmissing-format-attribute... yes
checking whether clang supports -Wstrict-aliasing=2... yes
checking whether clang supports -Winit-self... yes
checking whether clang supports -Wdeclaration-after-statement... yes
checking whether clang supports -Wold-style-definition... yes
checking whether clang supports -Wno-missing-field-initializers... yes
checking whether clang supports -Wno-unused-parameter... yes
checking whether clang supports -Wno-attributes... yes
checking whether clang supports -Wno-long-long... yes
checking whether clang supports -Winline... yes
checking which warning flags were supported...  -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline
checking for CAIRO... yes
checking whether to enable Cairo tests... yes
checking for LIBUDEV... yes
checking for xsltproc... /usr/bin/xsltproc
checking for native atomic primitives... Intel
checking for PCIACCESS... yes
checking for VALGRIND... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libkms/Makefile
config.status: creating libkms/libkms.pc
config.status: creating intel/Makefile
config.status: creating intel/libdrm_intel.pc
config.status: creating radeon/Makefile
config.status: creating radeon/libdrm_radeon.pc
config.status: creating nouveau/Makefile
config.status: creating nouveau/libdrm_nouveau.pc
config.status: creating omap/Makefile
config.status: creating omap/libdrm_omap.pc
config.status: creating exynos/Makefile
config.status: creating exynos/libdrm_exynos.pc
config.status: creating tests/Makefile
config.status: creating tests/modeprint/Makefile
config.status: creating tests/modetest/Makefile
config.status: creating tests/kmstest/Makefile
config.status: creating tests/radeon/Makefile
config.status: creating tests/vbltest/Makefile
config.status: creating include/Makefile
config.status: creating include/drm/Makefile
config.status: creating man/Makefile
config.status: creating libdrm.pc
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands

libdrm 2.4.41 will be compiled with:

  libkms         yes
  Intel API      yes
  vmwgfx API     yes
  Radeon API     yes
  Nouveau API    yes
  OMAP API       no
  EXYNOS API     no

make  all-recursive
make[1]: Entering directory `/home/wearefam/src/libdrm/libdrm-git'
Making all in .
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git'
  CC     libdrm_la-xf86drm.lo
xf86drm.c:318:22: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]
        group = (serv_group >= 0) ? serv_group : DRM_DEV_GID;
                 ~~~~~~~~~~ ^  ~
xf86drm.c:974:19: warning: implicit conversion from enumeration type 'drmMapType' to different enumeration type 'enum drm_map_type' [-Wenum-conversion]
    map.type    = type;
                ~ ^~~~
xf86drm.c:975:19: warning: implicit conversion from enumeration type 'drmMapFlags' to different enumeration type 'enum drm_map_flags' [-Wenum-conversion]
    map.flags   = flags;
                ~ ^~~~~
xf86drm.c:1302:36: warning: implicit conversion from enumeration type 'drmDMAFlags' to different enumeration type 'enum drm_dma_flags' [-Wenum-conversion]
    dma.flags           = request->flags;
                        ~ ~~~~~~~~~^~~~~
xf86drm.c:2156:19: warning: implicit conversion from enumeration type 'enum drm_map_type' to different enumeration type 'drmMapType' [-Wenum-conversion]
    *type   = map.type;
            ~ ~~~~^~~~
xf86drm.c:2157:19: warning: implicit conversion from enumeration type 'enum drm_map_flags' to different enumeration type 'drmMapFlags' [-Wenum-conversion]
    *flags  = map.flags;
            ~ ~~~~^~~~~
6 warnings generated.
  CC     libdrm_la-xf86drmHash.lo
  CC     libdrm_la-xf86drmRandom.lo
  CC     libdrm_la-xf86drmSL.lo
  CC     libdrm_la-xf86drmMode.lo
  CCLD   libdrm.la
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git'
Making all in libkms
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
  CC     linux.lo
  CC     intel.lo
  CC     dumb.lo
  CC     api.lo
  CC     vmwgfx.lo
  CC     nouveau.lo
  CC     radeon.lo
  CCLD   libkms.la
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
Making all in intel
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/intel'
  CC     intel_bufmgr.lo
  CC     intel_bufmgr_fake.lo
  CC     intel_bufmgr_gem.lo
  CC     intel_decode.lo
  CC     mm.lo
  CCLD   libdrm_intel.la
  CC     test_decode.o
  CCLD   test_decode
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/intel'
Making all in nouveau
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/nouveau'
  CC     nouveau.lo
  CC     pushbuf.lo
  CC     bufctx.lo
  CC     abi16.lo
  CCLD   libdrm_nouveau.la
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/nouveau'
Making all in radeon
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/radeon'
  CC     radeon_bo_gem.lo
  CC     radeon_cs_gem.lo
  CC     radeon_cs_space.lo
  CC     radeon_bo.lo
  CC     radeon_cs.lo
  CC     radeon_surface.lo
radeon_surface.c:271:16: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((i == 0)) {
             ~~^~~~
radeon_surface.c:271:16: note: remove extraneous parentheses around the comparison to silence this warning
        if ((i == 0)) {
            ~  ^   ~
radeon_surface.c:271:16: note: use '=' to turn this equality comparison into an assignment
        if ((i == 0)) {
               ^~
               =
radeon_surface.c:299:16: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((i == 0)) {
             ~~^~~~
radeon_surface.c:299:16: note: remove extraneous parentheses around the comparison to silence this warning
        if ((i == 0)) {
            ~  ^   ~
radeon_surface.c:299:16: note: use '=' to turn this equality comparison into an assignment
        if ((i == 0)) {
               ^~
               =
radeon_surface.c:332:16: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((i == 0)) {
             ~~^~~~
radeon_surface.c:332:16: note: remove extraneous parentheses around the comparison to silence this warning
        if ((i == 0)) {
            ~  ^   ~
radeon_surface.c:332:16: note: use '=' to turn this equality comparison into an assignment
        if ((i == 0)) {
               ^~
               =
radeon_surface.c:373:16: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((i == 0)) {
             ~~^~~~
radeon_surface.c:373:16: note: remove extraneous parentheses around the comparison to silence this warning
        if ((i == 0)) {
            ~  ^   ~
radeon_surface.c:373:16: note: use '=' to turn this equality comparison into an assignment
        if ((i == 0)) {
               ^~
               =
radeon_surface.c:620:16: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((i == 0)) {
             ~~^~~~
radeon_surface.c:620:16: note: remove extraneous parentheses around the comparison to silence this warning
        if ((i == 0)) {
            ~  ^   ~
radeon_surface.c:620:16: note: use '=' to turn this equality comparison into an assignment
        if ((i == 0)) {
               ^~
               =
radeon_surface.c:673:16: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((i == 0)) {
             ~~^~~~
radeon_surface.c:673:16: note: remove extraneous parentheses around the comparison to silence this warning
        if ((i == 0)) {
            ~  ^   ~
radeon_surface.c:673:16: note: use '=' to turn this equality comparison into an assignment
        if ((i == 0)) {
               ^~
               =
radeon_surface.c:1065:16: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((i == 0)) {
             ~~^~~~
radeon_surface.c:1065:16: note: remove extraneous parentheses around the comparison to silence this warning
        if ((i == 0)) {
            ~  ^   ~
radeon_surface.c:1065:16: note: use '=' to turn this equality comparison into an assignment
        if ((i == 0)) {
               ^~
               =
7 warnings generated.
  CC     bof.lo
  CCLD   libdrm_radeon.la
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/radeon'
Making all in tests
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/tests'
Making all in modeprint
make[3]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/tests/modeprint'
  CC     modeprint.o
  CCLD   modeprint
make[3]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/tests/modeprint'
Making all in kmstest
make[3]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/tests/kmstest'
  CC     main.o
  CCLD   kmstest
make[3]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/tests/kmstest'
Making all in modetest
make[3]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/tests/modetest'
  CC     buffers.o
buffers.c:907:39: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
        ret = kms_bo_get_prop(bo, KMS_PITCH, stride);
                                             ^~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:950:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[0]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:961:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[0]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:964:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[1]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:973:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[0]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:976:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[1]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:979:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[2]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:991:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[0]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:1000:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[0]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
buffers.c:1011:35: warning: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                kms_bo_get_prop(bo, KMS_HANDLE, &handles[0]);
                                                ^~~~~~~~~~~
../../libkms/libkms.h:69:64: note: passing argument to parameter 'out' here
int kms_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out);
                                                               ^
10 warnings generated.
  CC     modetest.o
modetest.c:658:60: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
        plane_bo = create_test_buffer(kms, p->fourcc, p->w, p->h, handles,
                                                                  ^~~~~~~
./buffers.h:40:33: note: passing argument to parameter 'handles' here
                   int width, int height, int handles[4], int pitches[4],
                                              ^
modetest.c:659:11: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                                      pitches, offsets, PATTERN_TILES);
                                      ^~~~~~~
./buffers.h:40:49: note: passing argument to parameter 'pitches' here
                   int width, int height, int handles[4], int pitches[4],
                                                              ^
modetest.c:659:20: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                                      pitches, offsets, PATTERN_TILES);
                                               ^~~~~~~
./buffers.h:41:10: note: passing argument to parameter 'offsets' here
                   int offsets[4], enum fill_pattern pattern);
                       ^
modetest.c:717:57: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
        bo = create_test_buffer(kms, c->fourcc, width, height, handles,
                                                               ^~~~~~~
./buffers.h:40:33: note: passing argument to parameter 'handles' here
                   int width, int height, int handles[4], int pitches[4],
                                              ^
modetest.c:718:5: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                                pitches, offsets, PATTERN_SMPTE);
                                ^~~~~~~
./buffers.h:40:49: note: passing argument to parameter 'pitches' here
                   int width, int height, int handles[4], int pitches[4],
                                                              ^
modetest.c:718:14: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                                pitches, offsets, PATTERN_SMPTE);
                                         ^~~~~~~
./buffers.h:41:10: note: passing argument to parameter 'offsets' here
                   int offsets[4], enum fill_pattern pattern);
                       ^
modetest.c:761:63: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
        other_bo = create_test_buffer(kms, c->fourcc, width, height, handles,
                                                                     ^~~~~~~
./buffers.h:40:33: note: passing argument to parameter 'handles' here
                   int width, int height, int handles[4], int pitches[4],
                                              ^
modetest.c:762:11: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                                      pitches, offsets, PATTERN_PLAIN);
                                      ^~~~~~~
./buffers.h:40:49: note: passing argument to parameter 'pitches' here
                   int width, int height, int handles[4], int pitches[4],
                                                              ^
modetest.c:762:20: warning: passing 'uint32_t [4]' to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
                                      pitches, offsets, PATTERN_PLAIN);
                                               ^~~~~~~
./buffers.h:41:10: note: passing argument to parameter 'offsets' here
                   int offsets[4], enum fill_pattern pattern);
                       ^
modetest.c:886:60: warning: format specifies type 'char *' but the argument has type 'char (*)[5]' [-Wformat]
        if (sscanf(arg, "%d:%dx%d@%4s", &p->con_id, &p->w, &p->h, &p->format_str) != 4 &&
                                  ~~~                             ^~~~~~~~~~~~~~
10 warnings generated.
  CCLD   modetest
make[3]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/tests/modetest'
Making all in radeon
make[3]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/tests/radeon'
  CC     rbo.o
  CC     radeon_ttm.o
radeon_ttm.c:58:12: warning: implicit declaration of function 'drmOpen' is invalid in C99 [-Wimplicit-function-declaration]
    return drmOpen("radeon", NULL);
           ^
radeon_ttm.c:73:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    close(radeonfd);
    ^
2 warnings generated.
  CCLD   radeon_ttm
make[3]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/tests/radeon'
Making all in vbltest
make[3]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/tests/vbltest'
  CC     vbltest.o
  CCLD   vbltest
make[3]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/tests/vbltest'
make[3]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/tests'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/tests'
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/tests'
Making all in include
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/include'
Making all in drm
make[3]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/include/drm'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/include/drm'
make[3]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/include'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/include'
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/include'
make[1]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build_libdrm.sh
Type: application/x-sh
Size: 255 bytes
Desc: not available
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20130118/8736b469/attachment-0002.sh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: git-clone_libdrm-fdo.sh
Type: application/x-sh
Size: 260 bytes
Desc: not available
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20130118/8736b469/attachment-0003.sh>
-------------- next part --------------
Making install in .
make[1]: Entering directory `/home/wearefam/src/libdrm/libdrm-git'
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/opt/xorg/lib" || /bin/mkdir -p "/opt/xorg/lib"
 /bin/bash ./libtool   --mode=install /usr/bin/install -c   libdrm.la '/opt/xorg/lib'
libtool: install: /usr/bin/install -c .libs/libdrm.so.2.4.0 /opt/xorg/lib/libdrm.so.2.4.0
libtool: install: (cd /opt/xorg/lib && { ln -s -f libdrm.so.2.4.0 libdrm.so.2 || { rm -f libdrm.so.2 && ln -s libdrm.so.2.4.0 libdrm.so.2; }; })
libtool: install: (cd /opt/xorg/lib && { ln -s -f libdrm.so.2.4.0 libdrm.so || { rm -f libdrm.so && ln -s libdrm.so.2.4.0 libdrm.so; }; })
libtool: install: /usr/bin/install -c .libs/libdrm.lai /opt/xorg/lib/libdrm.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /opt/xorg/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /opt/xorg/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/opt/xorg/include" || /bin/mkdir -p "/opt/xorg/include"
 /usr/bin/install -c -m 644 xf86drm.h xf86drmMode.h '/opt/xorg/include'
test -z "/opt/xorg/lib/pkgconfig" || /bin/mkdir -p "/opt/xorg/lib/pkgconfig"
 /usr/bin/install -c -m 644 libdrm.pc '/opt/xorg/lib/pkgconfig'
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git'
make[1]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git'
Making install in libkms
make[1]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
make[2]: Entering directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/opt/xorg/lib" || /bin/mkdir -p "/opt/xorg/lib"
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   libkms.la '/opt/xorg/lib'
libtool: install: warning: relinking `libkms.la'
libtool: install: (cd /home/wearefam/src/libdrm/libdrm-git/libkms; /bin/bash /home/wearefam/src/libdrm/libdrm-git/libtool  --silent --tag CC --mode=relink clang -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -I../include/drm -I.. -Qunused-arguments -version-number 1:0:0 -no-undefined -o libkms.la -rpath /opt/xorg/lib linux.lo intel.lo dumb.lo api.lo vmwgfx.lo nouveau.lo radeon.lo ../libdrm.la )
/home/wearefam/src/libdrm/libdrm-git/libtool: line 8968: clang: command not found
libtool: install: error: relink `libkms.la' with the above command before installing it
make[2]: *** [install-libkms_laLTLIBRARIES] Error 1
make[2]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/wearefam/src/libdrm/libdrm-git/libkms'
make: *** [install-recursive] Error 1


More information about the LLVMLinux mailing list