Ticket #936 (closed bug: fixed)

Opened 5 years ago

Last modified 5 years ago

"make install" doesn't install PCT

Reported by: pmichaud Owned by: jkeenan
Priority: normal Milestone:
Component: install Version: 1.5.0
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description (last modified by pmichaud) (diff)

As of r40625, the "make install" target appears to not install any of the PCT components. This basically means that any (precompiled) PCT-based compiler will be unable to run with just an installed parrot -- the development install will be needed to merely run the compiler.

Note that this ticket is focused on running a compiler that has already been built, not on building a compiler from its sources.

Pm

Change History

  Changed 5 years ago by pmichaud

  • description modified (diff)

in reply to: ↑ description   Changed 5 years ago by jkeenan

Replying to pmichaud:

As of r40625, the "make install" target appears to not install any of the PCT components.

I looked at that changeset but didn't see anything that touched code that actually underlies make install. So we may have to look earlier than that. What happens if you try r40037 and r40038?

kid51

in reply to: ↑ description ; follow-up: ↓ 4   Changed 5 years ago by jkeenan

Replying to pmichaud:

As of r40625, the "make install" target appears to not install any of the PCT components.

Could you list those components? I couldn't name them myself off the top of my head. Thanks.

kid51

in reply to: ↑ 3   Changed 5 years ago by pmichaud

Replying to jkeenan:

Could you list those components? I couldn't name them myself off the top of my head. Thanks.

runtime/parrot/library/PCT/Grammar.pbc [pct] runtime/parrot/library/PCT/HLLCompiler.pbc [pct] runtime/parrot/library/PCT/PAST.pbc [pct] runtime/parrot/library/PCT.pbc [pct]

Pm

follow-up: ↓ 6   Changed 5 years ago by jkeenan

  • status changed from new to assigned
  • owner set to jkeenan
  • component changed from none to install

The install for me with make install-dev.

$ find  lib/parrot/1.5.0-devel/library/ -path '*/PCT*'
lib/parrot/1.5.0-devel/library/PCT
lib/parrot/1.5.0-devel/library/PCT/Grammar.pbc
lib/parrot/1.5.0-devel/library/PCT/HLLCompiler.pbc
lib/parrot/1.5.0-devel/library/PCT/PAST.pbc
lib/parrot/1.5.0-devel/library/PCT.pbc

AFAICT, this behavior is unchanged since at least r40037.

Can you confirm?

kid51

in reply to: ↑ 5 ; follow-up: ↓ 7   Changed 5 years ago by pmichaud

Replying to jkeenan:

AFAICT, this behavior is unchanged since at least r40037. Can you confirm?

My apologies if the "As of r40625" part of my original bug report is confusing. I wasn't trying to claim that earlier versions of Parrot were correct and are now broken in r40625 -- I was simply giving a revision number for reference.

All I'm saying is that Parrot's "make install" doesn't install the PCT libraries, and it should.

Pm

in reply to: ↑ 6 ; follow-up: ↓ 8   Changed 5 years ago by jkeenan

Replying to pmichaud:

All I'm saying is that Parrot's "make install" doesn't install the PCT libraries, and it should.

Okay. When wayland and I were working on lib/Parrot/Install.pm a couple of months back, our objective was to preserve all existing behavior while cleaning up the code underlying make install and make install-dev. So if make install-dev was what was required to install the PCT libraries before that refactoring, it should have stayed that way after the refactoring.

So, Patrick, can you provide a one-sentence explanation as to why we should move the installation of PCT libraries from make install-dev to make install?

I will then make the change and work that explanation into the comments or POD.

Thank you very much.
kid51

in reply to: ↑ 7   Changed 5 years ago by pmichaud

Replying to jkeenan:

So, Patrick, can you provide a one-sentence explanation as to why we should move the installation of PCT libraries from make install-dev to make install?

(from the original ticket report) "...any PCT-based compiler will be unable to run with just an installed Parrot..."

In short, one cannot run any of Rakudo, Cardinal, Pynie, NQP, APL, LOLCODE, or any other PCT-based compiler if these libraries are not present. The compilers themselves depend on the availability of the libraries in order to transform HLL source code into executable code.

Pm

  Changed 5 years ago by jkeenan

pmichaud:

I believe this change was as simple as changing the package associated with the 4 files in MANIFEST.generated from [pct] to [main]. See r40828:

Index: branches/tt936_install_pct/MANIFEST.generated
===================================================================
--- a/branches/tt936_install_pct/MANIFEST.generated
+++ b/branches/tt936_install_pct/MANIFEST.generated
@@ -172,8 +172,8 @@
 runtime/parrot/library/pcore.pbc                  [main]
 runtime/parrot/library/pcre.pbc                   [main]
-runtime/parrot/library/PCT/Grammar.pbc            [pct]
-runtime/parrot/library/PCT/HLLCompiler.pbc        [pct]
-runtime/parrot/library/PCT/PAST.pbc               [pct]
-runtime/parrot/library/PCT.pbc                    [pct]
+runtime/parrot/library/PCT/Grammar.pbc            [main]
+runtime/parrot/library/PCT/HLLCompiler.pbc        [main]
+runtime/parrot/library/PCT/PAST.pbc               [main]
+runtime/parrot/library/PCT.pbc                    [main]
 runtime/parrot/library/PGE/Dumper.pbc             [main]
 runtime/parrot/library/PGE/Glob.pbc               [main]

From which I got these results:

$ fns ./lib/parrot/1.5.0-devel/library/ | grep -i PCT
./lib/parrot/1.5.0-devel/library/PCT/Grammar.pbc
./lib/parrot/1.5.0-devel/library/PCT/HLLCompiler.pbc
./lib/parrot/1.5.0-devel/library/PCT/PAST.pbc
./lib/parrot/1.5.0-devel/library/PCT.pbc

Can you please do a check out, configure, build and install from the tt936_install_pct branch and confirm?

Thank you very much.

kid51

  Changed 5 years ago by pmichaud

  • status changed from assigned to closed
  • resolution set to fixed

Confirm that r40840 does what I would expect here.

Closing ticket, thanks!

Pm

  Changed 5 years ago by jkeenan

  • status changed from closed to reopened
  • resolution fixed deleted

  Changed 5 years ago by jkeenan

  • status changed from reopened to closed
  • resolution set to fixed

Re-opening ticket because I had not merged the branch into trunk, hence problem was not fully corrected.

Merged tt936_install_pct branch into trunk at r40853.

Re-closing.

kid51

Note: See TracTickets for help on using tickets.