[Pixman] Missing symbols prng_state and prng_state_data

Siarhei Siamashka siarhei.siamashka at gmail.com
Mon Dec 1 05:35:01 PST 2014


On Fri, 7 Nov 2014 21:04:21 -0500
Programmingkid <programmingkidx at gmail.com> wrote:

> When I try to compile pixman, I see this error message:
> 
> CC     utils.lo
>  CC     utils-prng.lo
>  CCLD   libutils.la
>  CC     prng-test.o
>  CCLD   prng-test
>  CC     a1-trap-test.o
>  CCLD   a1-trap-test
>  CC     pdf-op-test.o
>  CCLD   pdf-op-test
>  CC     region-test.o
>  CCLD   region-test
> Undefined symbols for architecture x86_64:
>  "_prng_state", referenced from:
>      _main in region-test.o
>  "_prng_state_data", referenced from:
>      _main in region-test.o
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> make: *** [region-test] Error 1
> 
> The prng_state and prng_state_data symbols are located in the
> utils.c file. I was able to fix this problem by changing the following
> lines in the file pixman/test/Makefile to this:

These functions should be in the supplementary libutils.a library,
which should be linked when compiling tests. This works without any
problems for most people, including all the developers.

However there is indeed something wrong on some systems and we had
occasional problem reports. Hopefully eventually someone can come
up with a proper explanation about what's going on and a clean patch.

> line 203:
> region_test_OBJECTS = region-test.$(OBJEXT) utils.$(OBJEXT)
> 
> line 233:
> scaling_helpers_test_OBJECTS = scaling-helpers-test.$(OBJEXT) utils.$(OBJEXT)
> 
> I just added utils.$(OBJEXT) to each line.
> 
> I compiled pixman on Mac OS 10.6.8.

As nobody else can realistically test these changes (the problem is
not reproducible for anyone else), having a complete patch would be
pretty much appreciated.

But first of all, could you check the libutils.a library to see
whether it contains the right symbols and gets actually linked?

Thanks.

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list