CUDA: remove preexisting log file before install (#17018)
cuda: 10.1 and onward, installers will crash if /tmp/cuda-installer.log exists Try to help if user owns the file, otherwise try to provide useful info. Clean up the file post-install to try to avoid the whole issue.
This commit is contained in:
parent
d4f0a8f70b
commit
7e322b3184
@ -8,6 +8,7 @@
|
|||||||
from llnl.util.filesystem import LibraryList
|
from llnl.util.filesystem import LibraryList
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
|
import llnl.util.tty as tty
|
||||||
|
|
||||||
# FIXME Remove hack for polymorphic versions
|
# FIXME Remove hack for polymorphic versions
|
||||||
# This package uses a ugly hack to be able to dispatch, given the same
|
# This package uses a ugly hack to be able to dispatch, given the same
|
||||||
@ -85,6 +86,14 @@ def setup_run_environment(self, env):
|
|||||||
env.set('CUDA_HOME', self.prefix)
|
env.set('CUDA_HOME', self.prefix)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
|
if os.path.exists('/tmp/cuda-installer.log'):
|
||||||
|
try:
|
||||||
|
os.remove('/tmp/cuda-installer.log')
|
||||||
|
except OSError:
|
||||||
|
if spec.satisfies('@10.1:'):
|
||||||
|
tty.die("The cuda installer will segfault due to the "
|
||||||
|
"presence of /tmp/cuda-installer.log "
|
||||||
|
"please remove the file and try again ")
|
||||||
runfile = glob(join_path(self.stage.source_path, 'cuda*_linux*'))[0]
|
runfile = glob(join_path(self.stage.source_path, 'cuda*_linux*'))[0]
|
||||||
chmod = which('chmod')
|
chmod = which('chmod')
|
||||||
chmod('+x', runfile)
|
chmod('+x', runfile)
|
||||||
@ -110,6 +119,10 @@ def install(self, spec, prefix):
|
|||||||
arguments.append('--toolkitpath=%s' % prefix) # Where to install
|
arguments.append('--toolkitpath=%s' % prefix) # Where to install
|
||||||
|
|
||||||
runfile(*arguments)
|
runfile(*arguments)
|
||||||
|
try:
|
||||||
|
os.remove('/tmp/cuda-installer.log')
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def libs(self):
|
def libs(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user