Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^15: gmake error on Glib compile

by MikeMc69 (Novice)
on Sep 04, 2023 at 13:08 UTC ( [id://11154247] : note . print w/replies, xml ) Need Help??


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

Hi sorry but i have been a way for a while and came back to this today. Good news is GLIB now installed, but getting similar undefined reference to in Cairo now even though i have renamed the dlls etc.

C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x8 +6_64-w64-mingw32/bin/ld.exe: C:\msys64\mingw64\lib\libcairo.a(win32_c +airo-win32-printing-surface.c.obj):(.text+0x3fbc): more undefined ref +erences to `__stack_chk_fail' follow collect2.exe: error: ld returned 1 exit status gmake: *** [Makefile:522: blib\arch\auto\Cairo\Cairo.xs.dll] Error 1

Thanks Mike

Replies are listed 'Best First'.
Re^16: gmake error on Glib compile
by syphilis (Archbishop) on Sep 04, 2023 at 13:51 UTC
    ... 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

      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