Bug 263448

Summary: graphics/GraphicsMagick: fails to build WITH=JXL
Product: Ports & Packages Reporter: Dmitry Marakasov <amdmi3>
Component: Individual Port(s)Assignee: Po-Chuan Hsieh <sunpoet>
Status: Closed DUPLICATE    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (sunpoet)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Dmitry Marakasov freebsd_committer freebsd_triage 2022-04-21 13:15:35 UTC
Reported by reprise:

SUCCESS graphics/GraphicsMagick on 13-amd64 (-BZIP2)
SUCCESS graphics/GraphicsMagick on 13-amd64 (+FPX)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-FREETYPE)
SUCCESS graphics/GraphicsMagick on 13-amd64 (+HEIF)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-JASPER)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-JBIG)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-JPEG)
BLDFAIL graphics/GraphicsMagick on 13-amd64 (+JXL)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-LCMS2)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-LZMA)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-OPENMP)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-PNG)
SUCCESS graphics/GraphicsMagick on 13-amd64 (+Q8BIT)
SUCCESS graphics/GraphicsMagick on 13-amd64 (+SSE)
SUCCESS graphics/GraphicsMagick on 13-amd64 (+TEST)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-TIFF)
SUCCESS graphics/GraphicsMagick on 13-amd64 (+UMEM)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-WEBP)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-WMF)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-X11)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-XML)
SUCCESS graphics/GraphicsMagick on 13-amd64 (-ZLIB)
SUCCESS graphics/GraphicsMagick on 13-amd64 (+ZSTD)

--- coders/magick_libGraphicsMagick_la-jxl.lo ---
coders/jxl.c:513:19: warning: implicit declaration of function 'JxlDecoderCloseInput' is invalid in C99 [-Wimplicit-function-declaration]
                  JxlDecoderCloseInput(jxl);
                  ^
coders/jxl.c:811:3: error: use of undeclared identifier 'JxlEncoderFrameSettings'
  JxlEncoderFrameSettings
  ^
coders/jxl.c:812:6: error: use of undeclared identifier 'frame_settings'
    *frame_settings = NULL; /* Deallocated when encoder is destroyed with JxlEncoderDestroy() */
     ^
coders/jxl.c:960:3: error: use of undeclared identifier 'frame_settings'
  frame_settings = JxlEncoderFrameSettingsCreate(jxl_encoder, NULL);
  ^
coders/jxl.c:960:20: warning: implicit declaration of function 'JxlEncoderFrameSettingsCreate' is invalid in C99 [-Wimplicit-function-declaration]
  frame_settings = JxlEncoderFrameSettingsCreate(jxl_encoder, NULL);
                   ^
coders/jxl.c:963:11: warning: implicit declaration of function 'JxlEncoderSetFrameLossless' is invalid in C99 [-Wimplicit-function-declaration]
      if (JxlEncoderSetFrameLossless(frame_settings,JXL_TRUE) != JXL_ENC_SUCCESS)
          ^
coders/jxl.c:963:38: error: use of undeclared identifier 'frame_settings'
      if (JxlEncoderSetFrameLossless(frame_settings,JXL_TRUE) != JXL_ENC_SUCCESS)
                                     ^
coders/jxl.c:971:15: warning: implicit declaration of function 'JxlEncoderSetFrameDistance' is invalid in C99 [-Wimplicit-function-declaration]
          if (JxlEncoderSetFrameDistance(frame_settings,
              ^
coders/jxl.c:971:42: error: use of undeclared identifier 'frame_settings'
          if (JxlEncoderSetFrameDistance(frame_settings,
                                         ^
coders/jxl.c:977:15: warning: implicit declaration of function 'JxlEncoderSetFrameDistance' is invalid in C99 [-Wimplicit-function-declaration]
          if (JxlEncoderSetFrameDistance(frame_settings,
              ^
coders/jxl.c:977:42: error: use of undeclared identifier 'frame_settings'
          if (JxlEncoderSetFrameDistance(frame_settings,
                                         ^
coders/jxl.c:989:7: error: unknown type name 'JxlEncoderFrameSettingId'
      JxlEncoderFrameSettingId fs_id;
      ^
coders/jxl.c:993:22: error: use of undeclared identifier 'JXL_ENC_FRAME_SETTING_EFFORT'
         { "effort", JXL_ENC_FRAME_SETTING_EFFORT },
                     ^
coders/jxl.c:994:29: error: use of undeclared identifier 'JXL_ENC_FRAME_SETTING_DECODING_SPEED'
         { "decodingspeed", JXL_ENC_FRAME_SETTING_DECODING_SPEED },
                            ^
coders/jxl.c:1000:29: error: invalid application of 'sizeof' to an incomplete type 'const struct (anonymous struct at coders/jxl.c:986:18) []'
    for (index = 0; index < ArraySize(int_frame_settings); index++)
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./magick/studio.h:349:29: note: expanded from macro 'ArraySize'
#define ArraySize(a) (sizeof(a)/sizeof(a[0]))
                            ^~~
coders/jxl.c:1007:17: warning: implicit declaration of function 'JxlEncoderFrameSettingsSetOption' is invalid in C99 [-Wimplicit-function-declaration]
            if (JxlEncoderFrameSettingsSetOption(frame_settings, int_frame_settings[index].fs_id, int_value) != JXL_ENC_SUCCESS)
                ^
coders/jxl.c:1007:50: error: use of undeclared identifier 'frame_settings'; did you mean 'int_frame_settings'?
            if (JxlEncoderFrameSettingsSetOption(frame_settings, int_frame_settings[index].fs_id, int_value) != JXL_ENC_SUCCESS)
                                                 ^~~~~~~~~~~~~~
                                                 int_frame_settings
coders/jxl.c:990:7: note: 'int_frame_settings' declared here
    } int_frame_settings[]
      ^
coders/jxl.c:1039:31: error: use of undeclared identifier 'frame_settings'
  if (JxlEncoderAddImageFrame(frame_settings,&pixel_format,in_buf,
                              ^
6 warnings and 12 errors generated.
*** [coders/magick_libGraphicsMagick_la-jxl.lo] Error code 1

make[2]: stopped in /work/usr/ports/graphics/GraphicsMagick/work/GraphicsMagick-1.3.38
Comment 1 Po-Chuan Hsieh freebsd_committer freebsd_triage 2022-04-24 19:45:09 UTC
The option already says "BROKEN now".

*** This bug has been marked as a duplicate of bug 263352 ***
Comment 2 Dmitry Marakasov freebsd_committer freebsd_triage 2022-04-25 17:49:04 UTC
> The option already says "BROKEN now".

That is not how we mark ports broken. Will add explicit BROKEN which is visible both to automated tools and to people who set options via make.conf.
Comment 3 commit-hook freebsd_committer freebsd_triage 2022-04-25 17:49:26 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ce5876680bbbf05c957385e577c924a4d5117cfe

commit ce5876680bbbf05c957385e577c924a4d5117cfe
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2022-04-25 16:19:46 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2022-04-25 17:47:17 +0000

    graphics/GraphicsMagick: mark JXL option explicitly BROKEN

    PR:             263448, 263352
    Approved by:    portmgr blanket

 graphics/GraphicsMagick/Makefile | 1 +
 1 file changed, 1 insertion(+)