[PATCH resend] kmstest: fix link error due to library ordering

Stefan Agner stefan at agner.ch
Wed Jan 27 13:08:35 PST 2016


Hi Reinette,

[added Emil to CC]
Hm, I wonder why that did not happen on my system. What OS/gcc version
do you use?

--
Stefan

On 2016-01-27 12:12, Reinette Chatre wrote:
> Recent commit below introduced a new library to be linked (libutil.la):
> 
> commit 0caf58a6cb82327a3f6a53f05dea8e02f1412a05
> Author: Stefan Agner <stefan at agner.ch>
> Date:   Sat Dec 19 21:52:58 2015 -0800
> 
>     kmstest: Use util_open()
> 
>     Use the new util_open() helper instead of open-coding the method for
>     finding a usable device. While at it, make the command-line interface
>     more consistent with that of modetest by adding the -D and -M options.
> 
>     Signed-off-by: Stefan Agner <stefan at agner.ch>
>     v2: correctly use util_open() - swap device, module
>     Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> 
> The ordering of the libraries in kmstest_LDADD is causing the following
> error on my build system:
> 
> ld: ../../tests/util/.libs/libutil.a(libutil_la-kms.o): undefined
> reference to symbol 'drmOpen'
> ../../.libs/libdrm.so: error adding symbols: DSO missing from command line
> collect2: error: ld returned 1 exit status
> Makefile:436: recipe for target 'kmstest' failed
> make[3]: *** [kmstest] Error 1
> 
> The above error is resolved by switching the linking order.
> 
> Cc: Stefan Agner <stefan at agner.ch>
> Cc: Kristian Høgsberg Kristensen <kristian.h.kristensen at intel.com>
> Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
> ---
> This is a resend since first attempt was made when I was not subscribed to
> mailing list and it only made it to cc list, not the mailing list.
> 
>  tests/kmstest/Makefile.am | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kmstest/Makefile.am b/tests/kmstest/Makefile.am
> index 100662e..9083620 100644
> --- a/tests/kmstest/Makefile.am
> +++ b/tests/kmstest/Makefile.am
> @@ -18,8 +18,8 @@ kmstest_SOURCES = \
>  
>  kmstest_LDADD = \
>  	$(top_builddir)/libdrm.la \
> -	$(top_builddir)/libkms/libkms.la \
> -	$(top_builddir)/tests/util/libutil.la
> +	$(top_builddir)/tests/util/libutil.la \
> +	$(top_builddir)/libkms/libkms.la
>  
>  run: kmstest
>  	./kmstest


More information about the dri-devel mailing list