Bug 109081

Summary: libf2c package has the .so version - but not the .a version of -lg2c
Product: [Retired] Red Hat Raw Hide Reporter: Satish Balay <balay>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0Keywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-11-05 11:02:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Satish Balay 2003-11-04 22:25:37 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5)
Gecko/20031016 Epiphany/1.0.4

Description of problem:
libf2c package has the .so version - but not the .a version of -lg2c

Version-Release number of selected component (if applicable):
libf2c-3.3.2-1, gcc-g77-3.3.2-1

How reproducible:
Always

Steps to Reproduce:
1. install libf2c (for eg: yum install libf2c)
2. ls /usr/lib/libg2c*
3.
    

Actual Results:  /usr/lib/libg2c.so.0  /usr/lib/libg2c.so.0.0.0


Expected Results:  /usr/lib/libg2c.so.0  /usr/lib/libg2c.so.0.0.0
/usrlib/libg2c.a

Additional info:

Perhaps libg2c package should also include /usr/lib/libg2c.a.
Currently gcc-g77 package has the .a version - which gets installed at
/usr/lib/gcc-lib/i386-redhat-linux/3.3.2/libg2c.a.

I'm thinking the following will break down for the user - if gcc-g77
package is not installed.

gcc -static foo.c -lblas -lg2c

Comment 1 Jakub Jelinek 2003-11-05 11:02:06 UTC
libg2c is runtime package only. If you want to link against libg2c,
no matter if libg2c.so or libg2c.a, you need to install gcc-g77
package which is kind of libg2c-devel (IMHO there is no point
splitting gcc-g77 into gcc-g77 and libg2c-devel).
libg2c package doesn't contain the libg2c.so symlink either FYI.

Comment 2 Satish Balay 2003-11-05 15:49:05 UTC
I wasn't sugesting spliting packages. I thought It was already
split/(duplicated) as the pacakge libf2c exists.

I tried testing it again - I'm still a bit stumped on what the correct
thing here is (if the libraries should exist in /usr/lib)

asterix:/home/balay/junk>rpm -q gcc-g77
package gcc-g77 is not installed
asterix:/home/balay/junk>cat bar.c
extern ddot_();
int main()
{
        ddot_();
        return 0;
}
asterix:/home/balay/junk>gcc bar.c -lblas /usr/lib/libg2c.so.0
asterix:/home/balay/junk>gcc bar.c -lblas -lg2c
/usr/bin/ld: cannot find -lg2c
collect2: ld returned 1 exit status
asterix:/home/balay/junk>


/usr/lib/libg2c.so.0 is able to resolve the symbols required by blas.
However configure test - I guess is supporsed not to do such a linking
- but just use '-lg2c' (and fail - in this case).

My primary concern is bugzilla #109079 - where I'd like blas/lapack to
be useable (as in linkable) if they exist - and not have users to go
through 'configure - error - fix error by installing gcc-g77' try
again. (this is wrt installing the software we distribute as source)

Part of the issue here is - we try to use a fortran library from C
(which works with gcc/libg2c). And these fortran libraries don't
comply to the model 'package', package-devel' - where 'package-devel'
is the right thing wrt dependencies for developer install.

Oh well..