whateverable icon indicating copy to clipboard operation
whateverable copied to clipboard

GLOBAL symbol failure on install

Open coke opened this issue 2 years ago • 12 comments

$ zef install --force-install --verbose Whateverable
The following candidates are already installed: Whateverable
===> Searching for: Whateverable
===> Found: Whateverable:ver<1.0.11> [via Zef::Repository::Ecosystems<rea>]
===> Fetching [OK]: Whateverable:ver<1.0.11> to /tmp/.zef/1664227963.10229.4815.0995966892315/Whateverable%3Aver%3C1.0.11%3E%3Aauth%3Cgithub%3ARaku%3E.tar.gz
===> Extraction [OK]: Whateverable to /tmp/.zef/Whateverable%3Aver%3C1.0.11%3E%3Aauth%3Cgithub%3ARaku%3E.tar.gz
===> Testing: Whateverable:ver<1.0.11>
===> Testing [OK] for Whateverable:ver<1.0.11>
===> Installing: Whateverable:ver<1.0.11>
===> Install [FAIL] for Whateverable:ver<1.0.11>: ===SORRY!=== Error while compiling /home/coke/home#sources/FFCE30B7629EBB9BF4F889999F97C35CAC8EA91C (Whateverable)
Merging GLOBAL symbols failed: duplicate definition of symbol SSL
at /home/coke/home#sources/FFCE30B7629EBB9BF4F889999F97C35CAC8EA91C (Whateverable):28

===SORRY!=== Error while compiling /home/coke/home#sources/FFCE30B7629EBB9BF4F889999F97C35CAC8EA91C (Whateverable)
Merging GLOBAL symbols failed: duplicate definition of symbol SSL
at /home/coke/home#sources/FFCE30B7629EBB9BF4F889999F97C35CAC8EA91C (Whateverable):28

... but after failing the install, Whateverable reports as installed (and then I had to force it to run it again to capture this virtually identical output.)

coke avatar Sep 26 '22 21:09 coke

As I understand it, this is blocking Blin, which in turn is blocking a Rakudo release.

coke avatar Oct 04 '22 17:10 coke

This happens even without installing.

$ raku -I. xbin/Benchable.p6
===SORRY!=== Error while compiling /home/coke/sandbox/whateverable/xbin/Benchable.p6
===SORRY!=== Error while compiling /home/coke/sandbox/whateverable/lib/Whateverable.pm6 (Whateverable)
Merging GLOBAL symbols failed: duplicate definition of symbol SSL
at /home/coke/sandbox/whateverable/lib/Whateverable.pm6 (Whateverable):28

at /home/coke/sandbox/whateverable/xbin/Benchable.p6:19

coke avatar Oct 04 '22 21:10 coke

As I understand it, this is blocking Blin, which in turn is blocking a Rakudo release.

This particular issue isn't blocking the release, but it's definitely blocking me setting up Blin so I can run the tests.

coke avatar Oct 04 '22 21:10 coke

Pinning IRC::Client dependency to IRC::Client:ver<3.007010> (and removing higher versions from repos so it doesn't get loaded) worked for me. The SSL Error no longer shows and installed fine.

May be higher versions of IRC::Client will work, but I was having other dependencies errors, so I did not try other versions, since 3.007010 already worked .

hythm7 avatar Oct 04 '22 21:10 hythm7

Interesting. Could you make an issue for that for IRC::Client?

lizmat avatar Oct 04 '22 21:10 lizmat

Interesting. Could you make an issue for that for IRC::Client?

done https://github.com/lizmat/IRC-Client/issues/66 I'm not sure if its related to IRC::Client or its dependency IO::Socket::Async::SSL.

hythm7 avatar Oct 04 '22 22:10 hythm7

I did not see this issue when working with the bots in 2023. This ticket is still open though: https://github.com/lizmat/IRC-Client/issues/66. I'll keep it open for now, but I think this can be closed.

AlexDaniel avatar Nov 05 '23 16:11 AlexDaniel

I just hit this again on an ubuntu install with 2024.08 raku. Setting up an azure VM from scratch, the Whateverable install required for Blin dies with the same error. The suggested workaround in the linked ticket above doesn't work, Whateverable doesn't seem to compile with that older version of IRC::Client anymore.

coke avatar Aug 31 '24 01:08 coke

Here's golfed code that has the same error:

$ raku -I. -e 'use IRC::Client; use Whateverable::Bits'
===SORRY!=== Error while compiling -e
Merging GLOBAL symbols failed: duplicate definition of symbol SSL
at -e:1

coke avatar Aug 31 '24 15:08 coke

@coke Bits is a relatively small file. The only big thing it imports is Cro::HTTP::Client;. I'm not sure what's going on here and https://github.com/lizmat/IRC-Client/issues/66 is still open. @lizmat maybe you have an idea?

AlexDaniel avatar Aug 31 '24 15:08 AlexDaniel

Still golfing. Yes, my current golf is:

$ raku -I. -e 'use IRC::Client; use Cro::HTTP::Client'
===SORRY!=== Error while compiling -e
Merging GLOBAL symbols failed: duplicate definition of symbol SSL
at -e:1

Which requires no Whateverable at all.

coke avatar Aug 31 '24 16:08 coke

$ raku -I. -e 'use IRC::Client; use IO::Socket::Async::SSL'
===SORRY!=== Error while compiling -e
Merging GLOBAL symbols failed: duplicate definition of symbol SSL
at -e:1

I am unable to reduce this to another module, this appears to be the root.

coke avatar Aug 31 '24 16:08 coke