{"record":{"id":"b56c6b5fc27cfe5a","repo":"DrKLO/Telegram","slug":"s-sorry-multi-scan-output-was-not-compiled","errorCode":null,"errorMessage":"%s: sorry, multi-scan output was not compiled\n","messagePattern":"(.+?): sorry, multi-scan output was not compiled\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"TMessagesProj/jni/mozjpeg/jpegtran.c","lineNumber":366,"sourceCode":"      else if (keymatch(argv[argn], \"180\", 3))\n        select_transform(JXFORM_ROT_180);\n      else if (keymatch(argv[argn], \"270\", 3))\n        select_transform(JXFORM_ROT_270);\n      else\n        usage();\n\n      prefer_smallest = FALSE;\n\n    } else if (keymatch(arg, \"scans\", 1)) {\n      /* Set scan script. */\n#ifdef C_MULTISCAN_FILES_SUPPORTED\n      if (++argn >= argc)       /* advance to next argument */\n        usage();\n      prefer_smallest = FALSE;\n      scansarg = argv[argn];\n      /* We must postpone reading the file in case -progressive appears. */\n#else\n      fprintf(stderr, \"%s: sorry, multi-scan output was not compiled\\n\",\n              progname);\n      exit(EXIT_FAILURE);\n#endif\n\n    } else if (keymatch(arg, \"transpose\", 1)) {\n      /* Transpose (across UL-to-LR axis). */\n      select_transform(JXFORM_TRANSPOSE);\n      prefer_smallest = FALSE;\n\n    } else if (keymatch(arg, \"transverse\", 6)) {\n      /* Transverse transpose (across UR-to-LL axis). */\n      select_transform(JXFORM_TRANSVERSE);\n      prefer_smallest = FALSE;\n\n    } else if (keymatch(arg, \"trim\", 3)) {\n      /* Trim off any partial edge MCUs that the transform can't handle. */\n      transformoption.trim = TRUE;\n      prefer_smallest = FALSE;","sourceCodeStart":348,"sourceCodeEnd":384,"githubUrl":"https://github.com/DrKLO/Telegram/blob/45ab8f4308496e1f01026a97fcdb0d58a5274474/TMessagesProj/jni/mozjpeg/jpegtran.c#L348-L384","documentation":"The -scans flag (multi-scan output script) was passed but the build lacks C_MULTISCAN_FILES_SUPPORTED. jpegtran exits with failure at parse time; the scan script file is never read.","triggerScenarios":"Passing -scans <file> on a libjpeg/mozjpeg build compiled without multi-scan support. Baseline-only or single-scan builds reject this option.","commonSituations":"Embedded/baseline-only libjpeg builds, size-constrained distributions, or misconfigured CMake. Command examples using -scans or -progressive fail identically on these builds.","solutions":["Remove -scans and accept default scan layout.","Rebuild with C_MULTISCAN_FILES_SUPPORTED defined (default on for full libjpeg-turbo/mozjpeg; check jpegparam.h and CMake).","Probe for the feature at build time and conditionally enable scan scripts.","Note -progressive also depends on this feature; if -scans fails, -progressive likely will too."],"exampleFix":"# before\n./jpegtran -scans script.txt in.jpg > out.jpg\n# after\n./jpegtran in.jpg > out.jpg   # or rebuild with C_MULTISCAN_FILES_SUPPORTED","handlingStrategy":"type-guard","validationCode":null,"typeGuard":"#ifndef C_MULTISCAN_FILES_SUPPORTED\n#error \"multi-scan output unavailable; do not pass -scans\"\n#endif","tryCatchPattern":null,"preventionTips":["Probe for C_MULTISCAN_FILES_SUPPORTED; -progressive depends on it too.","Rebuild with multi-scan support if scan scripts are needed.","Drop -scans on baseline-only builds."],"tags":["jpegtran","multiscan","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"}