Bug 2257735

Summary: atlas: Many C compatibility issues
Product: [Fedora] Fedora Reporter: Florian Weimer <fweimer>
Component: atlasAssignee: Jakub Martisko <jamartis>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 40CC: jamartis, jkucera, orion, releng
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: atlas-3.10.3-28.fc42 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-01-08 02:01:55 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:
Bug Depends On:    
Bug Blocks: 2137512, 2231791    
Attachments:
Description Flags
Beginning of patch none

Description Florian Weimer 2024-01-10 16:22:25 UTC
I tried porting this package to GCC 14, but I'm stuck on this error:


In file included from /builddir/build/BUILD/ATLAS/x86_64_base/..//src/testing/ATL_f77gelqf.c:31:
/builddir/build/BUILD/ATLAS/x86_64_base/..//src/testing/ATL_f77gelqf.c: In function ‘ATL_df77gelqf’:
/builddir/build/BUILD/ATLAS/x86_64_base/..//include/atlas_misc.h:127:16: error: implicit declaration of function ‘dgelqf_’
  127 |    #define PRE d
      |                ^
/builddir/build/BUILD/ATLAS/x86_64_base/..//include/atlas_misc.h:74:27: note: in definition of macro ‘my_join’
   74 | #define my_join(pre, nam) pre ## nam
      |                           ^~~
/builddir/build/BUILD/ATLAS/x86_64_base/..//src/testing/ATL_f77gelqf.c:40:21: note: in expansion of macro ‘Mjoin’
   40 |    #define F77GELQF Mjoin(PRE,gelqf_)
      |                     ^~~~~
/builddir/build/BUILD/ATLAS/x86_64_base/..//src/testing/ATL_f77gelqf.c:40:27: note: in expansion of macro ‘PRE’
   40 |    #define F77GELQF Mjoin(PRE,gelqf_)
      |                           ^~~
/builddir/build/BUILD/ATLAS/x86_64_base/..//src/testing/ATL_f77gelqf.c:58:4: note: in expansion of macro ‘F77GELQF’
   58 |    F77GELQF(&F77M, &F77N, A, &F77lda, tau, work, &F77lwork, &F77info);
      |    ^~~~~~~~

This requires creating a C prototype for a Fortran routine:

      SUBROUTINE DGELQF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
      INTEGER            INFO, LDA, LWORK, M, N
      DOUBLE PRECISION A( LDA, * ), TAU( * ), WORK( * )

(ATLAS/interfaces/lapack/F77/src/dgelqf.f) I don't know enough Fortran to fix this.

I suppose we can add a build flags exemptions for this package.

Reproducible: Always

Comment 1 Florian Weimer 2024-01-10 16:23:02 UTC
Created attachment 2008130 [details]
Beginning of patch

Comment 2 Jakub Martisko 2024-01-12 12:47:40 UTC
Hello, I've actually reported this (and few other implicit declarations) a few years ago https://sourceforge.net/p/math-atlas/support-requests/1082/, however the upstream has been dead for a 5+ years now, so there's no chance this is getting addressed upstream:-/

Comment 3 Florian Weimer 2024-01-29 22:10:19 UTC
*** Bug 2260995 has been marked as a duplicate of this bug. ***

Comment 4 Aoife Moloney 2024-02-15 23:09:30 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle.
Changing version to 40.

Comment 5 Fedora Update System 2025-01-08 01:57:54 UTC
FEDORA-2025-a36637d6e2 (atlas-3.10.3-28.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-a36637d6e2

Comment 6 Fedora Update System 2025-01-08 02:01:55 UTC
FEDORA-2025-a36637d6e2 (atlas-3.10.3-28.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.