Bug 1160256

Summary: argyllcms fails with -fno-common
Product: [openSUSE] openSUSE Tumbleweed Reporter: Martin Liška <martin.liska>
Component: BasesystemAssignee: Stanislav Brabec <sbrabec>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: alynx.zhou
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1160244    

Description Martin Liška 2020-01-07 13:42:09 UTC
The package fails here:
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:M/argyllcms/standard/x86_64

Please take a look at the META package for the instructions.
Comment 1 Martin Liška 2020-01-07 13:44:03 UTC
*META issue
Comment 2 Martin Liška 2020-02-04 11:04:02 UTC
May I please ping this issue?
Comment 3 Martin Liška 2020-03-02 12:04:39 UTC
May I please ping this as we're slowly (but surely) approaching a new GCC release and this will unblock acceptance of the new package into Factory.
Comment 4 Stanislav Brabec 2020-03-05 03:54:31 UTC
I updated to version 2.1.2. Still affected.

In this case, there was combination of two problems:

- The header problem described in bug 1160244.

Local variables defined without "static" were conflicting with local variables of another file with the same problem.

I made a fix and sent it to the upstream maintainer Graeme Gill.

https://build.opensuse.org/request/show/781709
Comment 5 Stanislav Brabec 2020-03-10 02:21:55 UTC
Upstream rejected part of my patch:

Hi,

> Index: Argyll_V2.1.2/gamut/gamut.h
> ===================================================================
> --- Argyll_V2.1.2.orig/gamut/gamut.h
> +++ Argyll_V2.1.2/gamut/gamut.h
> @@ -36,7 +36,7 @@
>  #define MAXGAMN 10				/* Maximum gamut point neighbors returned */
>  #define NSLOTS 6				/* Number of maximum direction slots */
>  
> -struct _vrml *wrl;				/* Declared in vrml.h, which may be #included after this */
> +extern struct _vrml *wrl;			/* Declared in vrml.h, which may be #included after this */
>  
>  /* ------------------------------------ */
>  #define NODE_STRUCT		

This is a bug. The declaration should simply be:

	struct _vrml;

Fixed via https://build.opensuse.org/request/show/783130