/* * Copyright 2021 Richard Purdie * * SPDX-License-Identifier: GPL-2.0-only */ #include #include #include #include #include /* * Run the original script (argv[0] + ".real") with LD_LIBRARY_PATH unset * This avoids issues where cargo is running a wrapper script using /bin/sh from the host * which links to something which has an incompatible version in in recipe-sysroot-native * such as libtinfo on centos 7. */ int main(int argc, char* argv[]) { char *real = malloc(strlen(argv[0] + 5)); strcpy(real, argv[0]); strcpy(real + strlen(argv[0]), ".real"); putenv("LD_LIBRARY_PATH="); if(execv(real, argv) == -1) { printf("Wrapper failed to execute, error: %s\n", strerror(errno)); return -1; } }