{"record":{"id":"1af79bfb9cfb3660","repo":"DrKLO/Telegram","slug":"s-sorry-progressive-output-was-not-compiled","errorCode":null,"errorMessage":"%s: sorry, progressive output was not compiled\n","messagePattern":"(.+?): sorry, progressive output was not compiled\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"TMessagesProj/jni/mozjpeg/jpegtran.c","lineNumber":313,"sourceCode":"    } else if (keymatch(arg, \"outfile\", 4)) {\n      /* Set output file name. */\n      if (++argn >= argc)       /* advance to next argument */\n        usage();\n      outfilename = argv[argn]; /* save it away for later use */\n\n    } else if (keymatch(arg, \"perfect\", 2)) {\n      /* Fail if there is any partial edge MCUs that the transform can't\n       * handle. */\n      transformoption.perfect = TRUE;\n\n    } else if (keymatch(arg, \"progressive\", 2)) {\n      /* Select simple progressive mode. */\n#ifdef C_PROGRESSIVE_SUPPORTED\n      simple_progressive = TRUE;\n      prefer_smallest = FALSE;\n      /* We must postpone execution until num_components is known. */\n#else\n      fprintf(stderr, \"%s: sorry, progressive output was not compiled\\n\",\n              progname);\n      exit(EXIT_FAILURE);\n#endif\n\n    } else if (keymatch(arg, \"restart\", 1)) {\n      /* Restart interval in MCU rows (or in MCUs with 'b'). */\n      long lval;\n      char ch = 'x';\n\n      if (++argn >= argc)       /* advance to next argument */\n        usage();\n      if (sscanf(argv[argn], \"%ld%c\", &lval, &ch) < 1)\n        usage();\n      if (lval < 0 || lval > 65535L)\n        usage();\n      if (ch == 'b' || ch == 'B') {\n        cinfo->restart_interval = (unsigned int)lval;\n        cinfo->restart_in_rows = 0; /* else prior '-restart n' overrides me */","sourceCodeStart":295,"sourceCodeEnd":331,"githubUrl":"https://github.com/DrKLO/Telegram/blob/45ab8f4308496e1f01026a97fcdb0d58a5274474/TMessagesProj/jni/mozjpeg/jpegtran.c#L295-L331","documentation":"The -progressive flag was given but the build lacks C_PROGRESSIVE_SUPPORTED, so progressive JPEG output is unavailable. jpegtran exits with failure at parse time.","triggerScenarios":"Passing -progressive to a libjpeg/mozjpeg build where progressive encoding was disabled at compile time. The flag is parsed but routed to the #else failure branch.","commonSituations":"Baseline-only embedded libjpeg builds, size-optimized distributions, or a CMake build with progressive output disabled. Tutorials that recommend -progressive fail on such builds.","solutions":["Omit -progressive; output will be baseline.","Rebuild libjpeg-turbo/mozjpeg with C_PROGRESSIVE_SUPPORTED (ensure jpegparam.h / CMake sets it, default is on for turbo/mozjpeg).","Detect the feature via a build-time probe and skip the flag when unsupported.","Post-process with a tool known to support progressive output if a rebuild is impossible."],"exampleFix":"# before\n./jpegtran -progressive in.jpg > out.jpg\n# after\n./jpegtran in.jpg > out.jpg   # or rebuild with C_PROGRESSIVE_SUPPORTED","handlingStrategy":"type-guard","validationCode":null,"typeGuard":"#ifndef C_PROGRESSIVE_SUPPORTED\n#error \"progressive output unavailable; do not pass -progressive\"\n#endif","tryCatchPattern":null,"preventionTips":["Probe for C_PROGRESSIVE_SUPPORTED before emitting -progressive.","Rebuild libjpeg-turbo/mozjpeg with progressive support (default on).","Baseline-only builds must omit the flag."],"tags":["jpegtran","progressive","build-config","compile-time","mozjpeg"],"backgroundTag":null,"analyzedSha":"45ab8f4308496e1f01026a97fcdb0d58a5274474","analyzedAt":"2026-08-14T05:19:30.815Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}