This is a test version of Biostars. For the public version, visit https://www.biostars.org.
External MBEDTLS version mismatch with Julia but not with bash

Hello

I am running a shell script that launches blastx. From terminal it works but launching the script from Julia gives this error:

julia> x_blast = read(pipeline(`.../fetcher.sh`), String)
Critical: [blastx] External MBEDTLS version mismatch: 2.16.0 headers vs. 2.16.2 runtime

would you know what it is about?

blast

Most commands that "work when run on the shell but don't work when a wrapper is added" probably stop working because they rely on one of the dot file settings. In your case, probably, there is a PATH variable that needs to be read in for the command to find the right version of a tool.

Try running the same command using bash --noprofile -c "<command>" and if that fails, you'll know that the problem is caused by a dotfile setting.

I tried with

x_blast = read(pipeline(`bash --noprofile -c /home/gigiux/Downloads/h32/fetcher.sh`), String)
Critical: [blastx] External MBEDTLS version mismatch: 2.16.0 headers vs. 2.16.2 runtime

Try running the bash --noprofile command from the shell, not from within Julia. You're debugging a dot file related problem and trying to do that while maintaining a wrapper, which makes no sense. Please try and understand what you're doing before you try to do it.

is this correct .../?

it is the short for the real path, which is a bit long.

I guess ... is aliased to ../../. That could be causing a problem too, but doesn't look like it.

Do you set or modify any environment variable before running the script on the command line? Do you have to load something with module load xxx-yyy? What is the content of the fetch.sh script?

You can speed up a lot the process of getting help if you are more careful and detailed when asking questions.

0 answers

No answers yet.

Log in to answer this question.