Error installing Concrete 5.8.4

Permalink
I'm trying to install Concrete 5.8.4 using Softaculous for a new to build website. Running into problems because there's one file -buried deep in the package- that uses a filename that doesn't follow the naming convention. The server aborts install and throws this error code:

=====
The server has reported:
r+e.gex[c]a(r)s: No such file or directory
=====

I've found the file here: Concrete5.8.4/concrete/vendor/symphony/finder/tests/fixtures/r+e.gex[c]a(e)s

Any ideas how to overcome this problem are welcome! Also I've got the idea that 5.8.4 has much more directories and files than previous versions. Apple's Finder says this updates has 15.558 files using 138,7MB on disk.

hhockx
 
JohntheFish replied on at Permalink Reply
JohntheFish
Could you have downloaded development and build files zipped up from GitHub rather than just the installer zip?
hhockx replied on at Permalink Reply
hhockx
Well, it could explain the large file. But I did the install using Softaculous from my provider in the Netherlands. Maybe they put the wrong version in Softaculous.
Tomorrow I will check again.

What do you make of that strange file that that I mentioned in my previous message?
hhockx replied on at Permalink Reply
hhockx
No luck sofar... I managed to delete the installed concrete5. First try gave me this error again:

The server has reported:
r+e.gex[c]a(r)s: No such file or directory

Strange message because this file was still on the location I mentioned above. I changed the filename to 'trash' and that made it possible to delete the file. After that i could delete concrete5. But still no working site...
JohntheFish replied on at Permalink Reply
JohntheFish
I did a search on that in the core source. It occurs in one place
/concrete/vendor/symfony/finder/Tests/FinderTest.php
public function testRegexSpecialCharsLocationWithPathRestrictionContainingStartFlag()
    {
        $finder = $this->buildFinder();
        $finder->in(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'r+e.gex[c]a(r)s')
            ->path('/^dir/');
        $expected = array('r+e.gex[c]a(r)s'.DIRECTORY_SEPARATOR.'dir', 'r+e.gex[c]a(r)s'.DIRECTORY_SEPARATOR.'dir'.DIRECTORY_SEPARATOR.'bar.dat');
        $this->assertIterator($this->toAbsoluteFixtures($expected), $finder);
    }

Something may be preventing that from working correctly in your environment. Perhaps a php version compatibility or something in the environment that alters how it is evaluated.
Regexes have been a common area of php version compatibility issues recently.
If you are trying to install with php7.4+, try php7.3 or 7.2.
hhockx replied on at Permalink Reply
hhockx
The directory name: r+e.gex[c]a(r)s is the problem. These characters: + [ ] are not allowed in filenames for most operating systems. In my case I'm using MacOS 10.15.6 but I'm pretty sure this string will break installation also on Windows PC's.

I found the string in Concrete 5-8-5-2-4 that I downloaded from my host: concrete / vendor /symphony / html-objects / fixtures / r+e.gex[c]a(r)s
You can rename the last directory to something computers do understand, like: 'rubbish'