lilypond-devel
[Top][All Lists]
Advanced

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

GUB mingw pixman 0.40 linking problem


From: Knut Petersen
Subject: GUB mingw pixman 0.40 linking problem
Date: Tue, 13 Jul 2021 11:09:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2

Hi everybody,

My efforts to make GUB fit for the Cairo backend patch came to the following 
result:

Building  of LilyPond with the cairo backend code and the old versions of 
Pixman and Cairo included in Gub works fine. Old Cairo means that pdfs are 
generated without hyperlinks and without metadata.

Building of Lilypond with the cairo backend code and the current stable 
versions of Pixman 0.40.0 and Cairo 1.16.0  works fine for the linux-x86, 
darwin-x86 and linux-64 platforms.

For the mingw platform building of Pixman 0.40  fails. Pixman 0.30, the minimum 
version required by Cairo 1.16.0, fails with the same problem, so there is no 
need to work on anything but the latest stable code.

Pixman 0.40 initially failed for all platforms, but adding appropriate LDFLAGS 
helped for linux.* and darwin-x86. See pixman-new.py.

It's also a linker problem with mingw, but this problem proves to be hard for 
me. I tried many more or less obvious link options and searched google's 
advice, but I simply was unable to persuade the linker to resolve the PNG 
symbols that are in the libpng given on the command line.

An excerpt from the log of a 'bin/gub mingw::pixman-new' run:

libtool: link: i686-mingw32-gcc -mwindows -mms-bitfields -g -O2 -Wall -Wdeclaration-after-statement -Wno-unused-local-typedefs -fno-strict-aliasing -pthread -g -O2 -Wall -Wdeclaration-after-statement -Wno-unused-local-typedefs -fno-strict-aliasing -pthread -o .libs/region-test.exe region-test.o  -L/home/gub/gub/target/mingw/root/usr/lib -L/home/gub/gub/target/mingw/root/usr/bin -L/home/gub/gub/target/mingw/root/usr/lib/w32api ./.libs/libutils.a ../pixman/.libs/libpixman-1.dll.a /home/gub/gub/target/mingw/root/usr/lib/libpng12.dll.a -lz -pthread -Wl,-rpath -Wl,/home/gub/gub/target/mingw/root/usr/lib -Wl,-rpath -Wl,'$'ORIGIN/../lib -Wl,-rpath -Wl,/home/gub/gub/target/mingw/root/usr/lib libtool: link: i686-mingw32-gcc -mwindows -mms-bitfields -g -O2 -Wall -Wdeclaration-after-statement -Wno-unused-local-typedefs -fno-strict-aliasing -pthread -g -O2 -Wall -Wdeclaration-after-statement -Wno-unused-local-typedefs -fno-strict-aliasing -pthread -o .libs/region-translate-test.exe region-translate-test.o -L/home/gub/gub/target/mingw/root/usr/lib -L/home/gub/gub/target/mingw/root/usr/bin -L/home/gub/gub/target/mingw/root/usr/lib/w32api ./.libs/libutils.a ../pixman/.libs/libpixman-1.dll.a /home/gub/gub/target/mingw/root/usr/lib/libpng12.dll.a -lz -pthread -Wl,-rpath -Wl,/home/gub/gub/target/mingw/root/usr/lib -Wl,-rpath -Wl,'$'ORIGIN/../lib -Wl,-rpath -Wl,/home/gub/gub/target/mingw/root/usr/lib
./.libs/libutils.a(utils.o): In function `write_png':
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:683: undefined 
reference to `png_create_write_struct'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:687: undefined 
reference to `png_create_info_struct'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:690: undefined 
reference to `png_init_io'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:692: undefined 
reference to `png_set_IHDR'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:697: undefined 
reference to `png_write_info'
/.home//gub/.gublibs//target/libutils.amingw(/utils.osrc)/:pixman -newIn- 
0.40.0function/ test`/utils.cwrite_png:'699::
 /undefinedhome /referencegub /togub /`targetpng_write_image/'mingw
//srchome//pixmangub-/gubnew/-target0.40.0//mingwtest//src/utils.cpixman:-new683-:0.40.0
 /undefinedtest /utils.creference: 701to : `undefinedpng_create_write_struct 
'reference
 /tohome /`gubpng_write_end/'gub
//targethome//mingwgub//srcgub//pixmantarget/-mingwnew/-src0.40.0/pixman/-testnew/-utils.c0.40.0/:test687/:utils.c
 :undefined706 : referenceundefined  toreference `topng_create_info_struct '`
png_destroy_write_struct/'home
/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:690: undefined 
reference to `png_init_io'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:692: undefined 
reference to `png_set_IHDR'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:697: undefined 
reference to `png_write_info'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:699: undefined 
reference to `png_write_image'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:701: undefined 
reference to `png_write_end'
/home/gub/gub/target/mingw/src/pixman-new-0.40.0/test/utils.c:706: undefined 
reference to `png_destroy_write_struct'

Attached are my modified gub/gub/spec files for the old versions (pixman.py, 
cairo.py) and spec files for the current versions of pixman and cairo (*new.py).

Any idea how to solve the problem is welcome. Thanks in advance!

Knut

Attachment: pixman.py
Description: Text Data

Attachment: pixman-new.py
Description: Text Data

Attachment: cairo.py
Description: Text Data

Attachment: cairo-new.py
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]