Opened 9 years ago

Closed 9 years ago

Last modified 16 months ago

#48630 closed defect (fixed)

ghemical @2.99.2: error: friend declaration specifying a default argument must be a definition

Reported by: segalemb Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: ghemical

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Problem in building ghemical:

Error: Processing of port ghemical failed

OS: Mac Yosemite, 10.10.5
Xcode 6.4 (6E35b)

the log are attached.

Attachments (1)

main.log (180.4 KB) - added by segalemb 9 years ago.
log report

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by segalemb

Attachment: main.log added

log report

comment:1 Changed 9 years ago by mf2k (Frank Schima)

Description: modified (diff)
Keywords: ghemical science chemistry removed
Port: ghemical added

In the future, please use WikiFormatting and fill in the Port field.

comment:2 Changed 9 years ago by dbevans (David B. Evans)

The problem is here

In file included from custom_camera.cpp:21:
2230	:info:build In file included from ./custom_camera.h:31:
2231	:info:build ./project.h:210:14: error: friend declaration specifying a default argument must be a definition
2232	:info:build         friend bool ReadGPR_OLD(project &, istream &, bool, bool = false);              ///< this is for the very old version.
2233	:info:build                     ^
2234	:info:build ./project.h:211:14: error: friend declaration specifying a default argument must be a definition
2235	:info:build         friend bool ReadGPR_v100(project &, istream &, bool, bool = false);             ///< this is for the version 1.00.
2236	:info:build                     ^
2237	:info:build ./project.h:212:14: error: friend declaration specifying a default argument must be a definition
2238	:info:build         friend bool ReadGPR_v110(project &, istream &, bool, bool = false);             ///< this is for the version 1.10.
2239	:info:build                     ^
2240	:info:build ./project.h:214:14: error: friend declaration specifying a default argument must be a definition
2241	:info:build         friend bool ReadGPR(project &, istream &, bool, bool = false);

As the error says, a friend declaration specifying a default argument must also be a definition. Newer versions of clang will choke on this because these friend declarations specify default arguments but are not full function definitions (no body).

Full discussion of this issue can be found here and some alternative fixes for this type of issue are discussed here.

This issue should probably be referred to the upstream developers for resolution since choosing the correct fix requires some understanding of the related code.

comment:3 Changed 9 years ago by dbevans (David B. Evans)

Owner: changed from macports-tickets@… to devans@…
Status: newassigned

Actually, I see that version 3.0.0 of this port and it's dependencies are now available. Updating now to see if that effects this issue.

Last edited 9 years ago by dbevans (David B. Evans) (previous) (diff)

comment:4 Changed 9 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: assignedclosed
Version: 2.3.3

dependency libghemical updated to version 3.0.0 in r139540.
dependency liboglappth updated to version 1.0.0 in r139541.

ghemical updated to version 3.0.0 in r139542 using patch from debian bug 756440 which fixes the clang build issue reported here.

comment:5 Changed 16 months ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Summary: ghemical install problemghemical @2.99.2: error: friend declaration specifying a default argument must be a definition
Note: See TracTickets for help on using tickets.