Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^16: gmake error on Glib compile

by syphilis (Archbishop)
on Sep 04, 2023 at 13:51 UTC ( [id://11154248] : note . print w/replies, xml ) Need Help??


in reply to Re^15: gmake error on Glib compile
in thread gmake error on Glib compile

... but getting similar undefined reference to in Cairo now even though i have renamed the dlls etc.

What does the EXTRALIBS entry in the generated Makefile specify ?
Also, what does pkg-config --version output ?

UPDATE: That missing symbol is resolved by the static library libfontconfig.a.
But the Cairo build shouldn't need to pull in that library ... so it's a bit weird.
Hopefully the EXTRALIBS spec will make things a bit clearer.

Cheers,
Rob

Replies are listed 'Best First'.
Re^17: gmake error on Glib compile
by MikeMc69 (Novice) on Sep 04, 2023 at 14:06 UTC

    Hi Rob I have literally just been able to get past that bit now libcairo.a and its dll needed renaming

    Getting another error now

    # Failed test at t/CairoFont.t line 79. # Looks like you failed 1 test of 29. t/CairoFont.t ..... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/29 subtests t/CairoFt.t ....... skipped: can't find font file t/CairoMatrix.t ... ok t/CairoPath.t ..... ok t/CairoPattern.t .. ok t/CairoRegion.t ... ok t/CairoSurface.t .. 1/100 unknown cairo_pdf_version_t value 2 encountered at t/CairoSurface.t line 259. unknown cairo_pdf_version_t value 3 encountered at t/CairoSurface.t line 259. unknown cairo_pdf_version_t value 2 encountered at t/CairoSurface.t line 263. unknown cairo_pdf_version_t value 3 encountered at t/CairoSurface.t line 263. t/CairoSurface.t .. ok Test Summary Report ------------------- t/CairoFont.t (Wstat: 256 Tests: 29 Failed: 1) Failed test: 16 Non-zero exit status: 1 Files=9, Tests=314, 1 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU) Result: FAIL Failed 1/9 test programs. 1/314 subtests failed. gmake: *** Makefile:1152: test_dynamic Error 255,/p>

    From makefile EXTRALIBS = "C:\msys64\mingw64\lib\libcairo.a" "C:\STRAWB~1\c\lib\libfreetype.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libmoldname.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libkernel32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libuser32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libgdi32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libwinspool.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libcomdlg32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libadvapi32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libshell32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libole32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\liboleaut32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libnetapi32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libuuid.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libws2_32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libmpr.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libwinmm.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libversion.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libodbc32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libodbccp32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libcomctl32.a"

    pkg-config --version shows 0.26


    Thanks Mike

      I sthink I get the same test results:
      D:\s\Cairo-1.109>gmake test "C:\sp\_64\sp-5.38.0\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_ +nonempty -- Cairo.bs blib\arch\auto\Cairo\Cairo.bs 644 "C:\sp\_64\sp-5.38.0\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MT +est::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, ' +blib\lib', 'blib\arch')" t/*.t t/00-loading.t .... ok t/Cairo.t ......... ok t/CairoFont.t ..... 1/29 unknown cairo_font_type_t value 5 encountered + at t/CairoFont.t line 79. # Failed test at t/CairoFont.t line 79. # Looks like you failed 1 test of 29. t/CairoFont.t ..... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/29 subtests t/CairoFt.t ....... skipped: can't find font file t/CairoMatrix.t ... ok t/CairoPath.t ..... ok t/CairoPattern.t .. ok t/CairoRegion.t ... ok t/CairoSurface.t .. 1/100 unknown cairo_pdf_version_t value 2 encounte +red at t/CairoSurface.t line 259. unknown cairo_pdf_version_t value 3 encountered at t/CairoSurface.t li +ne 259. unknown cairo_pdf_version_t value 2 encountered at t/CairoSurface.t li +ne 263. unknown cairo_pdf_version_t value 3 encountered at t/CairoSurface.t li +ne 263. t/CairoSurface.t .. ok
      I assume the single test failure is either a bug in the test script or a bug in the Cairo library. (I don't actually use this stuff, and I haven't investigated the failure.)

      pkg-config --version shows 0.26

      This is the pkg-config.bat that ships with Strawberry Perl.
      I'd prefer to use the msys version of pkg-config.exe - which should happen if you rename C:\STRAWB~1\perl\bin\pkg-config.bat to C:\STRAWB~1\perl\bin\pkg-config.bat_hide.
      That would then mean that, instead of EXTRALIBS specifying Strawberry's C:\STRAWB~1\c\lib\libfreetype.a, it would specify msys's libfreetype library.
      Anyway, this is something that so far seems to have NOT mattered with your build.

      See how you go with Cairo-GObject-1.005. (It passed all tests for me.)

      Cheers,
      Rob

        Hi Rob

        Yes it looks the same so it ran gmake install and got success

        for the Cairo-GObject I run into similar undefined reference. I've checked the libs renamed.

        pkg-config -- version now shows 0.29.2

        From Makefile EXTRALIBS = "C:\msys64\mingw64\lib\libcairo-gobject.a" "C:\msys64\mingw64\lib\libcairo.a" "C:\msys64\mingw64\lib\libgobject-2.0.a" "C:\msys64\mingw64\lib\libglib-2.0.a" "C:\msys64\mingw64\lib\libintl.a" "C:\msys64\mingw64\lib\libfreetype.a" "C:\msys64\mingw64\lib\libgthread-2.0.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libmoldname.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libkernel32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libuser32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libgdi32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libwinspool.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libcomdlg32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libadvapi32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libshell32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libole32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\liboleaut32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libnetapi32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libuuid.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libws2_32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libmpr.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libwinmm.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libversion.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libodbc32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libodbccp32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libcomctl32.a"


        I feel so close after getting the glib to install

        Thanks Mike