Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:ALP:Source:Standard:Core:0.1
suse-hpc
hpc_elf.pl
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File hpc_elf.pl of Package suse-hpc
#! /usr/bin/perl use Cwd 'abs_path'; use File::Basename; $dir=dirname(abs_path($0)); $command=$dir . "/elfdeps"; $dlinfo=$dir . "/dlinfo"; $arglist = ""; sub usage { my $message = <<EOF; Usage: $0 [-?] [-P|--provides] [-R|--requires] [--filter-private] [--soname-only] [--no-fake-soname] [--assume-exec] [-?|--help] [--usage] EOF print $message; exit (0); } sub help { my $message = <<EOF; Usage: $0 [OPTION...] -P, --provides -R, --requires --filter-private --soname-only --no-fake-soname --assume-exec Help options: -?, --help Show this help message --usage Display brief usage message EOF print $message; exit (0); } while ( $a = shift @ARGV ) { if ( $a =~ /--assume-exec/ || $a =~ /--provides/ || $a =~ /-P/ || $a =~ /--requires/ || $a =~ /-R/ || $a =~ /--filter-private/ || $a =~ /--soname-only/ || $a =~ /--no-fake-soname/ || $a =~ /--filter-private/ ) { $arglist .= " " . $a; } elsif ( $a =~ /--modules/ ) { $modules = shift @ARGV; } elsif ( $a =~ /--help/ || $a =~ /-?/ ) { help; } elsif ( $a =~ /--usage/ ) { usage; # } elsif ( $a = ~ / / ) { # } else { } } open HANDLE, "$command $arglist |"; if ( $modules ) { $ldlibrarypath = `module load $modules; echo \$LD_LIBRARY_PATH`; chop $ldlibrarypath; } while ((chop($line = <HANDLE>))) { $line =~ /([^\(]+)(.*)/; $libs{$1}{$2} = 1; } foreach $lib ( keys %libs ) { $full=`$dlinfo $lib`; chop $full; if (!$full) { delete $libs{$lib}; } elsif ( $ldlibrarypath ) { $hpc = `LD_LIBRARY_PATH=$ldlibrarypath $dlinfo $lib`; chop $hpc; if ( $full ne $hpc) { delete $libs{$lib}; } } } foreach $lib ( keys %libs ) { foreach $key ( keys %{ $libs{$lib} } ) { print "$lib$key\n"; } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor