{"record":{"id":"044ab7313931d025","repo":"nodejs/node","slug":"1-044ab7","errorCode":"-1","errorMessage":"Assembly type \"%s\" is unknown.\n","messagePattern":"Assembly type \"(.+?)\" is unknown\\.\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"deps/icu-small/source/tools/pkgdata/pkgdata.cpp","lineNumber":758,"sourceCode":"                        nullptr,\n                        gencFilePath,\n                        sizeof(gencFilePath));\n\n                    result = pkg_createWithAssemblyCode(targetDir, mode, gencFilePath);\n                    if (result != 0) {\n                        fprintf(stderr, \"Error generating assembly code for data.\\n\");\n                        return result;\n                    } else if (IN_STATIC_MODE(mode)) {\n                      if(o->install != nullptr) {\n                        if(o->verbose) {\n                          fprintf(stdout, \"# Installing static library into %s\\n\", o->install);\n                        }\n                        result = pkg_installLibrary(o->install, targetDir, noVersion);\n                      }\n                      return result;\n                    }\n                } else {\n                    fprintf(stderr,\"Assembly type \\\"%s\\\" is unknown.\\n\", genccodeAssembly);\n                    return -1;\n                }\n            } else {\n                if(o->verbose) {\n                  fprintf(stdout, \"# Writing object code to %s ..\\n\", gencFilePath);\n                }\n                if (o->withoutAssembly) {\n#ifdef BUILD_DATA_WITHOUT_ASSEMBLY\n                    result = pkg_createWithoutAssemblyCode(o, targetDir, mode);\n#else\n                    /* This error should not occur. */\n                    fprintf(stderr, \"Error- BUILD_DATA_WITHOUT_ASSEMBLY is not defined. Internal error.\\n\");\n#endif\n                } else {\n#ifdef CAN_WRITE_OBJ_CODE\n                    /* Try to detect the arch type, use nullptr if unsuccessful */\n                    char optMatchArch[10] = { 0 };\n                    pkg_createOptMatchArch(optMatchArch);","sourceCodeStart":740,"sourceCodeEnd":776,"githubUrl":"https://github.com/nodejs/node/blob/1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e/deps/icu-small/source/tools/pkgdata/pkgdata.cpp#L740-L776","documentation":"The assembly type string specified via the -a option (stored in pkgDataFlags[GENCCODE_ASSEMBLY_TYPE]) did not pass checkAssemblyHeaderName(). pkgdata recognizes only specific assembly dialect names that genccode supports (e.g. 'gcc', 'gcc-darwin', 'masm', 'nasm'). An unrecognized value causes immediate exit with code -1 before any assembly code is generated.","triggerScenarios":"Passing pkgdata an -a flag with a value not in genccode's known assembly header list. The string is checked after stripping the leading '-a ' prefix (offset by 3 characters at line 735). Valid names depend on the ICU version's genccode implementation.","commonSituations":"Typo in the assembly type name; using a type valid in a newer ICU version against an older pkgdata build; passing a platform name instead of an assembly dialect name.","solutions":["Check the valid assembly types by running 'genccode -h' or inspecting checkAssemblyHeaderName() in genccode.c for your ICU version.","Use the correct platform-specific type: 'gcc' for GNU as, 'gcc-darwin' for macOS, 'masm' for MSVC x86, 'nasm' for NASM.","If unsure which type to use, omit -a entirely and let pkgdata auto-detect, or use BUILD_DATA_WITHOUT_ASSEMBLY mode."],"exampleFix":"// before\n//   pkgdata -a linux-x86_64 ...\n// after\n//   pkgdata -a gcc ...","handlingStrategy":"validation","validationCode":"// Before passing -a to pkgdata, validate the assembly type\n#include <string.h>\n\nbool isValidAssemblyType(const char* type) {\n    // Known genccode assembly types (varies by ICU version)\n    const char* known[] = {\"gcc\",\"gcc-darwin\",\"gcc-win32\",\"masm\",\"nasm\",nullptr};\n    for (int i = 0; known[i]; i++) {\n        if (strcmp(type, known[i]) == 0) return true;\n    }\n    return false;\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check valid assembly types with 'genccode -h' for your ICU version.","Let pkgdata auto-detect by omitting -a when possible.","Validate the -a value in your build script before invoking pkgdata."],"tags":["icu","pkgdata","assembly","configuration","build-tool"],"backgroundTag":null,"analyzedSha":"1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e","analyzedAt":"2026-08-13T00:53:24.642Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}