Prevents iOS build failures caused by pkgx SQLite linking conflicts and ensures Xcode Command Line Tools are properly installed. Problem: - pkgx installs SQLite built for macOS, causing linker errors when building for iOS simulator: "linking in dylib built for 'macOS'" - Missing Command Line Tools cause build failures without clear error messages Changes: - Add check_sqlite_conflicts() function - Detects pkgx SQLite installations in ~/.pkgx - Warns about macOS dylibs that will cause iOS simulator build failures - Checks for system SQLite from Command Line Tools - Validates library paths (DYLD_LIBRARY_PATH, LD_LIBRARY_PATH) - Add check_command_line_tools() function - Verifies Xcode Command Line Tools are installed and configured - Checks for xcodebuild availability - Verifies sqlite3 is available (part of Command Line Tools) - Provides clear error messages with installation instructions - Enhance pkgx detection in iOS build functions - Specifically searches for pkgx SQLite dylibs - Automatically removes pkgx paths from PATH environment variable - Provides detailed warnings about detected conflicts - Cleans all problematic environment variables before building - Integrate checks into environment validation - Runs automatically when building for iOS - Provides early warnings before build starts - Fails fast with clear error messages if tools are missing This fixes the linker error: "ld: building for 'iOS-simulator', but linking in dylib (/Users/trent/.pkgx/sqlite.org/v3.44.2/lib/libsqlite3.0.dylib) built for 'macOS'" The build script now: - Detects pkgx SQLite conflicts before building - Automatically fixes environment variables - Verifies Command Line Tools are installed - Provides clear guidance for manual fixes if needed Files modified: - scripts/build-native.sh
22 KiB
Executable File
22 KiB
Executable File