3

I'm a totally fresh man in bioinformatics and this is my first time to ask for help in english language web. When I tried to install 'BioPerl' in my MacBookPro BigSur 11.5.2, something strange happened. Firstly, when doing cpan install BioPerl, it failed and told to me that

one dependency not OK (Graph::Directed); additionally test harness failed

Secondly, I tried to install Graph::Directed, and ...

Result: FAIL
Failed 63/84 test programs. 11/740 subtests failed.
make: *** [test_dynamic] Error 255
  ETJ/Graph-0.9724.tar.gz
one dependency not OK (Set::Object); additionally test harness failed
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports ETJ/Graph-0.9724.tar.gz

Thirdly, I installed Set::Object, this failed again...

cc -c   -g -pipe -fno-strict-aliasing -fstack-protector-strong -DPERL_USE_SAFE_PUTENV -Os   -DVERSION=\"1.41\" -DXS_VERSION=\"1.41\"  -iwithsysroot "/System/Library/Perl/5.30/darwin-thread-multi-2level/CORE"   Object.c
Object.xs:5:10: fatal error: 'EXTERN.h' file not found
#include "EXTERN.h"
         ^~~~~~~~~~
1 error generated.
make: *** [Object.o] Error 1
  RURBAN/Set-Object-1.41.tar.gz
  /usr/bin/make -- NOT OK

After that, I find some answers ("Fatal error: 'EXTERN.h' file not found" while installing Perl modules1) but not work, my perl is 5.30.2 (result of 'perl -v' in terminal) while '/Library/Developer/CommandLineTools/SDKs' just including 'MacOSX10.14.sdk' and 'MacOSX10.15.sdk' (no 'MacOSX11sdk') and when I use

find /Library/Developer/CommandLineTools -name EXTERN.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/EXTERN.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Perl/5.28/darwin-thread-multi-2level/CORE/EXTERN.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/EXTERN.h

Versions in my Mac maybe in chaos? so I have no idea to solve this question now. That is very upsetting to a new man but I will never give up...


After the failure of all the above, I look for perl 5.30.2 file, and it is in "usr/perl" and "sys/lib", compared with which i "find"(sys/lib/developer/), the "CORE" file is empty and cannot be edited (I want to copy the absent file from 5.28 but failed and does not work). That is the results to those errors. While, I cannot fix it...

Bhargav Rao
  • 50,140
  • 28
  • 121
  • 140
JackBio
  • 31
  • 1
  • See also [this](https://stackoverflow.com/q/65435551/2173773) issue – Håkon Hægland Sep 21 '21 at 17:59
  • That file is part of Perl. If it's missing, it could be because your distributions only installed part of Perl and expects you to install a package to get the rest. – ikegami Sep 21 '21 at 18:00
  • Also I would recommend that you try install a fresh perl using perlbrew instead of using the perl that comes preinstalled on your system (the so-called system perl). I think this would be the easiest solution, since there have been reported many issues by trying to add modules (using e.g. `sudo cpan`) to the system perl on macOS. – Håkon Hægland Sep 21 '21 at 18:16
  • Thanks Håkon very much! Cause the results which had been shown (NO MacOSX11 sdk), I installed perlbrew successfully, and then, it said that 'command cpanm not found', actually I had carried out 'perlbrew install-cpanm' but 'perl5/perlbrew/bin/cpanm already exists, are you sure to override ? [y/N] [N]', the 'N' was defined. So Im in dilemma again... – JackBio Sep 22 '21 at 13:52
  • @JackBio You can probably type "y" on that question.. Which shell are you using? If you are using `zsh` or `bash` you need to source the activation script `~/perl5/perlbrew/etc/bashrc`. It seems like you have done that since you are able to run `perlbrew`. Have you installed a perl with perlbrew? What is the output of running `perlbrew list` ? – Håkon Hægland Sep 22 '21 at 20:36
  • Thanks Håkon again! This is zsh. I tried but cannot type anything, '[N]' is forced. So strange. 'perlbrew list' leads to nothing, that means I haven't activate it? While, I open '~/perl5/perlbrew/' , the only file in it just 'bin/cpanm', there is no 'etc/zshrc'. Different with miniconda or vim, I have no idea to activate it by zsh. And web administrator delete my answer maybe the rule that "my 'perl 5.30.2' file is in "usr/perl" and "sys/lib", compared with sys/lib/developer/, the CORE file is empty and cannot be edited (I want to copy the absent file from 5.28 but failed and does not work)." – JackBio Sep 23 '21 at 17:00
  • @JackBio Can you try to reinstall perlbrew like [this](https://pastebin.com/gjJDwNzR) ? – Håkon Hægland Sep 23 '21 at 17:47
  • I tried reinstall but ... 'curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443 '. What a pity. And I also have tried install them with miniconda, failed as expected. – JackBio Sep 24 '21 at 12:51
  • I did not realize that you used miniconda. Is this inside a miniconda environment? I think you should exit that environment before trying to install perlbrew – Håkon Hægland Sep 24 '21 at 12:52
  • Alternativly, instead of installing perlbrew you could try stay inside the conda enviroment and install the [`perl-bioperl`](https://anaconda.org/bioconda/perl-bioperl) package – Håkon Hægland Sep 24 '21 at 12:55
  • Aha, not in miniconda environment, actually I tried to reinstall it in terminal and miniconda, but both of them were failed. I'm very confused that how can I utilize perl correctly, that have trapped me for 8 days and it just the beginning of my project. Does this error just happen in my Mac? – JackBio Sep 25 '21 at 02:46
  • @JackBio Yes this seems strange. Can you try again [the following](https://pastebin.com/96e8DrKz) commands (not in conda) from the terminal? Then upload the output you get from running the commands to pastebin and provide a link here. – Håkon Hægland Sep 25 '21 at 06:46
  • I ran those commands, and 'sw_vers', 'perl --version' and 'curl --version' can work, but the order to reinstall cannot. I mean, maybe I am in China (a giant net wall)? And I really have no idea to fix my perl, if necessary, I'd like to choose one package from python3 with pip3, to take place of BioPerl in perl ... I appreciate Håkon very much and I feel a little guilty about I still failed with your total help. – JackBio Sep 26 '21 at 13:50
  • Yes, it is very curious that it does not work. Can you paste a link to the output you got when running those commands? – Håkon Hægland Sep 26 '21 at 14:03

0 Answers0