Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

installation issue due to "t -> ." symlink in "t"-folder #26

Open
dkriegner opened this issue Jan 28, 2016 · 9 comments
Open

installation issue due to "t -> ." symlink in "t"-folder #26

dkriegner opened this issue Jan 28, 2016 · 9 comments

Comments

@dkriegner
Copy link
Contributor

During following the "installation from source" instructions [1] I experienced an error at step 3.

Step 3 says: run
perl ./Build.PL
I got:
<PATH>/demeter/t/t is a recursive symbolic link at /usr/lib64/perl5/5.20.2/File/Find.pm line 431.

Removing the symlink I could continue/finish the installation without problems. Is this symlink needed?

[1] http://bruceravel.github.io/demeter/pods/installation.pod.html

@bruceravel
Copy link
Owner

@dkriegner, the warning message is correct. It is, indeed, a recursive symlink, which I use as a convenience when working with the test suite.

I am surprised by your result, though. I've never seen that one before. In fact, I just made a fresh clone on the Ubuntu machine I am sitting at, ran perl ./Build.PL, and did not see it.

What kind of computer are you using?

In any case, as far as i can remember, you can safely remove the symlink and carry on. Doing so (as far as I can remember!) won't even affect the ./Build test step.

By the way, if you have any comments or suggestions for the installation instructions, please let me know. I find that a particularly hard document to write given that I understand the code so well. It is hard to myself in the shoes of someone coming to it for the first time.

@dkriegner
Copy link
Contributor Author

I am on:

# uname -a
Linux 4.3.0-sabayon #1 SMP Wed Dec 16 22:02:39 UTC 2015 x86_64 Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz GenuineIntel GNU/Linux

# perl -v
This is perl 5, version 20, subversion 2 (v5.20.2) built for x86_64-linux-thread-multi
(with 27 registered patches, see perl -V for more detail)

let me know if you need more info.

Otherwise the instructions are fine from my perspective. Except of few smaller problems with dependencies of dependencies (e.g. [1]) the only thing I realized was a broken link in this paragraph:

In a section below (see "Installing Demeter without root privileges") instructions are given for installation without root privileges. All the instructions are the same, once you do an additional preparatory step.

the anchor http://bruceravel.github.io/demeter/pods/installation.pod.html#quot_Installing_Demeter_without_root is missing.

[1] https://rt.cpan.org/Public/Bug/Display.html?id=63095

@dkriegner
Copy link
Contributor Author

@bruceravel Actually I should highlight that this was not a warning, but the only output I got! Only after removing the symlink I could get any output from the build script! If the symlink is only needed on your testing machine I think you should consider removing it from the repo.

@bruceravel
Copy link
Owner

Yes, "error" not "warning". Gotcha.

Valid point about the symlink. Simply removing the symlink is almost certainly the right thing to do. Still, it would be nice to understand the cause.

What does your machine say for

perl -e 'use File::Find; print $File::Find::VERSION, $/'

And thanks for pointing out the broken link.

@bruceravel
Copy link
Owner

Except of few smaller problems with dependencies of dependencies (e.g. [1])

[1] https://rt.cpan.org/Public/Bug/Display.html?id=63095

Happily, that particular problem will be going away entirely soon. That dependence was needed for the documentation system. I am in the middle of a complete rewrite of the document -- using sphinx instead of something home-brewed.

@dkriegner
Copy link
Contributor Author

$ perl -e 'use File::Find; print $File::Find::VERSION, $/'
1.27

@bruceravel
Copy link
Owner

Weird. Same as mine. I'm confused....

@dkriegner
Copy link
Contributor Author

I think the problem originates in this module

$ perl -e 'use ExtUtils::Manifest; print $ExtUtils::Manifest::VERSION, $/'
1.70

see:

$ perl -Mdiagnostics Build.PL 
Uncaught exception from user code:
        <PATH>/demeter/t/t is a recursive symbolic link at /usr/lib64/perl5/5.20.2/File/Find.pm line 431.
        File::Find::Follow_SymLink("<PATH>/demeter/t/t") called at /usr/lib64/perl5/5.20.2/File/Find.pm line 980
        File::Find::_find_dir_symlnk(HASH(0x56210a111400), "<PATH>/demeter", ".") called at /usr/lib64/perl5/5.20.2/File/Find.pm line 566
        File::Find::_find_opt(HASH(0x56210a111400), ".") called at /usr/lib64/perl5/5.20.2/File/Find.pm line 1081
        File::Find::find(HASH(0x56210a111400), ".") called at /usr/lib64/perl5/vendor_perl/5.20.2/ExtUtils/Manifest.pm line 202
        ExtUtils::Manifest::manifind(undef) called at /usr/lib64/perl5/vendor_perl/5.20.2/ExtUtils/Manifest.pm line 290
        ExtUtils::Manifest::_check_files() called at /usr/lib64/perl5/vendor_perl/5.20.2/ExtUtils/Manifest.pm line 223
        ExtUtils::Manifest::manicheck() called at /usr/lib64/perl5/vendor_perl/5.20.2/Module/Build/Base.pm line 1972
        Module::Build::Base::check_manifest(DemeterBuilder=HASH(0x562108f85340)) called at /usr/lib64/perl5/vendor_perl/5.20.2/Module/Build/Base.pm line 39
        Module::Build::Base::new("DemeterBuilder", "module_name", "Demeter", "create_readme", 0, "license", "artistic", "dist_author", "Bruce Ravel <http://bruceravel.github.io/home>", ...) called at Build.PL line 55

the problematic call to find is

    find({wanted => $wanted, follow_fast => 1},
         $Is_MacOS ? ":" : ".");

where follow_fast is set, which changed somewhere between 1.63 and 1.70

bruceravel added a commit that referenced this issue Jan 29, 2016
bring test 3 up to date with current number of configuration groups
fix the spnotexist Fit sanity check to deal with a path that reads a
feffNNNN.dat file directly
@bruceravel
Copy link
Owner

Apparently sometime between 1.65 and 1.70. I have 1.65 on my machine. Now it's understood and clearly an upstream issue that I have to live with.

Anyway, I removed the symlink and fixed a couple of other small bugs. See 63f2e1c

Thank you very much for looking into this. It is pretty uncommon that someone does the footwork to track down a problem for me. I am pleasantly surprised and quite grateful.

Cheers,
B

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants