-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
bmake: fix compile error and update version #17956
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please give more details on the compiler error you are facing and how this PR solves the issue? Also can you remove commented code from the recipe?
@@ -6,29 +6,42 @@ | |||
from spack import * | |||
|
|||
|
|||
class Bmake(Package): | |||
class Bmake(AutotoolsPackage): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason that this originally used Package
instead of AutotoolsPackage
is that by bootstrapping the program, we can build make
without relying on a previously existing make
on the system. I'm not sure if anyone has actually used it for that purpose, but this change makes it impossible to bootstrap make
without an external make
command.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it.
How about this one? 75467cd
Error log as below:
|
Okay, I'm taking a closer look into this. When I wrote #8221 those commands worked just fine. They still work fine when run from the command-line, but fail for some reason when run via Spack. According to the README, the way we had it is the recommended installation method:
|
Figured it out. At some point, the way in which we staged the package changed. If you extract the tarball, it creates a directory I think there are a couple of possible solutions here. We could patch |
@tldahlgren it looks like #11528 broke the
|
@darmac this fixed the package for me: diff --git a/var/spack/repos/builtin/packages/bmake/package.py b/var/spack/repos/builtin/packages/bmake/package.py
index 8d103513f5..142f7ba136 100644
--- a/var/spack/repos/builtin/packages/bmake/package.py
+++ b/var/spack/repos/builtin/packages/bmake/package.py
@@ -20,6 +20,9 @@ class Bmake(Package):
def patch(self):
# Do not pre-roff cat pages
filter_file('MANTARGET?', 'MANTARGET', 'mk/man.mk', string=True)
+ # boot-strap hardcodes the directory it expects to be extracted to
+ filter_file('GetDir /bmake', 'GetDir ' + self.stage.source_path,
+ 'boot-strap', string=True)
def configure(self, spec, prefix):
sh = which('sh') Just make sure it applies to all versions of the package and I think this solution should be best. |
OK, I tried your patch with |
No description provided.