{"record":{"id":"7cf24281eb6e94fc","repo":"xtekky/gpt4free","slug":"pyandroid-runner-c-missing-w","errorCode":null,"errorMessage":"pyandroid_runner.c missing: %w","messagePattern":"pyandroid_runner\\.c missing: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"g4f-go/runtime_android.go","lineNumber":97,"sourceCode":"\n// androidPythonExe returns the interpreter path for the android layout\n// (the dlopen target inside the runner).\nfunc androidPythonExe(binDir string) string {\n\treturn filepath.Join(androidPythonHome(binDir), \"lib\", \"libpython3.14.so\")\n}\n\n// buildAndroidRunner compiles pyandroid_runner.c against the downloaded\n// python headers using Termux's clang, then links against libpython.\nfunc buildAndroidRunner(binDir string) error {\n\tif ok, err := IsTermuxInstalled(); err != nil || !ok {\n\t\treturn fmt.Errorf(\"Termux is required to build the python runner (install com.termux and retry)\")\n\t}\n\thome := androidPythonHome(binDir)\n\tlib := filepath.Join(home, \"lib\")\n\tinclude := filepath.Join(home, \"include\", \"python3.14\")\n\tsrc := filepath.Join(binDir, \"pyandroid_runner.c\")\n\tif _, err := os.Stat(src); err != nil {\n\t\treturn fmt.Errorf(\"pyandroid_runner.c missing: %w\", err)\n\t}\n\n\t// Termux clang is at $PREFIX/bin/clang; $PREFIX is /data/data/com.termux/files/usr.\n\ttermuxPrefix := \"/data/data/com.termux/files/usr\"\n\tcc := filepath.Join(termuxPrefix, \"bin\", \"clang\")\n\tif _, err := os.Stat(cc); err != nil {\n\t\t// fall back to whatever clang is on PATH\n\t\tcc = \"clang\"\n\t}\n\tout := filepath.Join(binDir, \"pyandroid\")\n\targs := []string{\n\t\tsrc,\n\t\t\"-o\", out,\n\t\t\"-I\", include,\n\t\t\"-L\", lib,\n\t\t\"-Wl,-rpath,\" + lib,\n\t\t\"-lpython3.14\",\n\t\t\"-ldl\",","sourceCodeStart":79,"sourceCodeEnd":115,"githubUrl":"https://github.com/xtekky/gpt4free/blob/973504e1770928ed5fb82f43da528f441ad9ddc3/g4f-go/runtime_android.go#L79-L115","documentation":"Error \"pyandroid_runner.c missing: %w\" thrown in xtekky/gpt4free.","triggerScenarios":"Thrown at g4f-go/runtime_android.go:97 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Restore pyandroid_runner.c from the source tree and rebuild g4f-go."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"973504e1770928ed5fb82f43da528f441ad9ddc3","analyzedAt":"2026-08-14T23:45:32.408Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}