diff --git a/cross/crossdirect/APKBUILD b/cross/crossdirect/APKBUILD index b86c2ef2c46ebf1a9d7a5319950521fa9e6717ae..1849c90f57ce1b0d04851412d2507d1340b44124 100644 --- a/cross/crossdirect/APKBUILD +++ b/cross/crossdirect/APKBUILD @@ -19,8 +19,8 @@ # version is implemented as simple shell wrappers. pkgname=crossdirect -pkgver=5.1.0 -pkgrel=1 +pkgver=5.2.0 +pkgrel=0 pkgdesc="Wrappers to launch native cross compilers in foreign chroots" url="https://postmarketOS.org" arch="all" @@ -82,7 +82,7 @@ package() { sha512sums=" 0f4b48f250425dc57f63955fc8b38477d23db793bee367c3fbe03c3d2a559ba576434d07518310db4cae9d90d501af4051b80038b10fae94b980e537fc9374ad cargo.sh -a1af3d2876dc05bb840e4bfb8b6e1c1dcf5b952375a6644dcb9cf659d82ec8bfc4be5d813064057fe9626104a10907ae7072a9d5fd7ac40f3b87e90dbf535eaf crossdirect.c +b2e602b7fc95ed403d29f0d754879d5f773c39ee33e726bb10cff17b3c088406dac84f2ca6d8ad563c64370007d98af805d6ee9cd4a06fe3d4c61c0cb90c5c0c crossdirect.c de2aa6929bbff5db9132673e667f4525b333d062cb1f7a0597dd924de9e5c7215a9f8e2e6263b6fb5ace06f2c4b64f4ebfd0ede9b78add07c2cd08ec8613e98f rustc.sh ea9bf8db3810d03d0a7395057f3d6e57f7127d87c55deaedc171c255288f5f3cc6fbcc680a5a1b92786cf573875d5dc22521173799fe2639acc97d0715ff905b rust-qemu-linker.sh " diff --git a/cross/crossdirect/crossdirect.c b/cross/crossdirect/crossdirect.c index f873edcf9028b853f169e70036f3e4434376c07e..426e426c89893fa8f1db5b1e9add14ace71f0fa0 100644 --- a/cross/crossdirect/crossdirect.c +++ b/cross/crossdirect/crossdirect.c @@ -44,8 +44,7 @@ void exit_userfriendly() { fprintf(stderr, "Please report this at: https://gitlab.postmarketos.org/postmarketOS/pmaports/issues\n"); - fprintf(stderr, "As a workaround, you can compile without crossdirect.\n"); - fprintf(stderr, "See 'pmbootstrap -h' for related options.\n"); + fprintf(stderr, "As a workaround, you can compile without crossdirect with options=\"!pmb:crossdirect\".\n"); exit(1); } @@ -118,11 +117,17 @@ int main(int argc, char **argv) NULL }; char *ldPreload = getenv("LD_PRELOAD"); if (ldPreload) { - if (strcmp(ldPreload, "/usr/lib/libfakeroot.so") == 0) { - env[0] = "LD_PRELOAD=/native/usr/lib/libfakeroot.so"; - } else { - fprintf(stderr, "ERROR: crossdirect: can't handle LD_PRELOAD: %s\n", ldPreload); - exit_userfriendly(); + if (strstr(ldPreload, "libfakeroot.so")) { + fprintf(stderr, "============================================================================================\n"); + fprintf(stderr, "ERROR: crossdirect was called with: LD_PRELOAD=%s\n", ldPreload); + fprintf(stderr, "This means your package tried to run a compiler during package().\n"); + fprintf(stderr, "This is not supported by crossdirect, and usually not a good idea.\n"); + fprintf(stderr, "* Try to fix your APKBUILD so it does not run the compiler during package(), only in build()\n"); + fprintf(stderr, " * If you're using 'meson install', try to add '--no-rebuild'\n"); + fprintf(stderr, "* If this is not possible, you can work around it by setting options=\"!pmb:crossdirect\"\n"); + fprintf(stderr, " (compilation will be slower!)\n"); + fprintf(stderr, "============================================================================================\n"); + exit(1); } }