Opened 9 months ago

Last modified 9 months ago

#69420 assigned defect

geomview @1.9.5_0+opengl: error: expected identifier or '('

Reported by: murrayE Owned by: raphael-st (Raphael Straub)
Priority: Normal Milestone:
Component: ports Version: 2.9.1
Keywords: arm64 Cc:
Port: geomview

Description

Many errors:

:info:build ../../../../include/porting.h:68:19:In file included from cm_geometry.c: 34:
:info:build error: In file included from expected identifier or '('./cmodelP.h
:info:build :24:
:info:build In file included from ../../../../include/point3.h:39:
:info:build In file included from ../../../../include/geomtypes.h:113:
:info:build static inline int finite(double v)In file included from 
:info:build ../../../../include/reference.h                  ^:
:info:build 28:
:info:build In file included from ../../../../include/ooglutil.h:323:
:info:build ../../../../include/porting.h:68:19: error: expected identifier or '('
:info:build static inline int finite(double v)
:info:build                   ^../../../../config.h
:info:build :677:20: note: expanded from macro 'finite'
:info:build # define finite(x) isfinite(x)
:info:build                    ^
:info:build ../../../../config.h:677:20: note: expanded from macro 'finite'
:info:build # define finite(x) isfinite(x)
:info:build                    ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h:156:7: note: expanded from macro 'isfinite'
:info:build     ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \
:info:build       ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h:156:7:In file included from  cmodel_data.cnote: :expanded from macro 'isfinite'33
:info:build :
:info:build In file included from ./cmodelP.h:24:
:info:build In file included from ../../../../include/point3.h:39:
:info:build In file included from ../../../../include/geomtypes.h:113    ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \:
:info:build In file included from       ^../../../../include/reference.h
:info:build :28:
:info:build In file included from ../../../../include/ooglutil.hIn file included from :cm_geometry.c323::
:info:build 34../../../../include/porting.h:
:info:build :In file included from 68./cmodelP.h::1924::
:info:build  In file included from error: ../../../../include/point3.hexpected ')':
:info:build 39:
:info:build ../../../../config.hIn file included from :../../../../include/geomtypes.h677::11320:
:info:build :In file included from  ../../../../include/reference.hnote: :expanded from macro 'finite'28
:info:build :
:info:build In file included from ../../../../include/ooglutil.h:323:
:info:build ../../../../include/porting.h# define finite(x) isfinite(x)
:info:build                    ^
:info:build :/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h68::15619::7 :error: expected ')' 
:info:build note: expanded from macro 'isfinite'
:info:build ../../../../config.h:677:20: note: expanded from macro 'finite'
:info:build     ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \
:info:build       ^
:info:build # define finite(x) isfinite(x)../../../../include/porting.h
:info:build :                   ^68
:info:build :19/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h:: 156note: :to match this '('7
:info:build : ../../../../config.hnote: :expanded from macro 'isfinite'677
:info:build :20: note: expanded from macro 'finite'
:info:build # define finite(x) isfinite(x)
:info:build     ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \                   ^
:info:build       ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h:../../../../include/porting.h:68:19156:: 5note: :to match this '(' 
:info:build note: expanded from macro 'isfinite'../../../../config.h
:info:build :677:20: note: expanded from macro 'finite'
:info:build     ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \# define finite(x) isfinite(x)
:info:build     ^                   ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h:156:5: note: expanded from macro 'isfinite'
:info:build     ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \
:info:build     ^
:info:build In file included from cmodel.c:34:
:info:build In file included from ./cmodelP.h:24:
:info:build In file included from ../../../../include/point3.h:39:
:info:build In file included from ../../../../include/geomtypes.h:113:
:info:build In file included from ../../../../include/reference.h:28:
:info:build In file included from ../../../../include/ooglutil.h:323:
:info:build ../../../../include/porting.h:68:19: error: expected identifier or '('
:info:build static inline int finite(double v)
:info:build                   ^
:info:build ../../../../config.h:677:20: note: expanded from macro 'finite'
:info:build # define finite(x) isfinite(x)
:info:build                    ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h:156:7: note: expanded from macro 'isfinite'
:info:build     ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \
:info:build       ^
:info:build In file included from cmodel.c:34:
:info:build In file included from ./cmodelP.h:24:
:info:build In file included from ../../../../include/point3.h:39:
:info:build In file included from ../../../../include/geomtypes.h:113:
:info:build In file included from ../../../../include/reference.h:28:
:info:build In file included from ../../../../include/ooglutil.h:323:
:info:build ../../../../include/porting.h:68:19: error: expected ')'
:info:build ../../../../config.h:677:20: note: expanded from macro 'finite'
:info:build # define finite(x) isfinite(x)
:info:build                    ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h:156:7: note: expanded from macro 'isfinite'
:info:build     ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \
:info:build       ^
:info:build ../../../../include/porting.h:68:19: note: to match this '('
:info:build ../../../../config.h:677:20: note: expanded from macro 'finite'
:info:build # define finite(x) isfinite(x)
:info:build                    ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/math.h:156:5: note: expanded from macro 'isfinite'
:info:build     ( sizeof(x) == sizeof(float)  ? __inline_isfinitef((float)(x))       \
:info:build     ^
:info:build 22 error errorss generated generated.
:info:build .
:info:build 2 errors generated.
:info:build make[5]: *** [cmodel_data.lo] Error 1

Attachments (1)

main.log (117.5 KB) - added by murrayE 9 months ago.
main.log

Download all attachments as: .zip

Change History (2)

Changed 9 months ago by murrayE

Attachment: main.log added

main.log

comment:1 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: raphael-st removed
Keywords: sonoma removed
Owner: set to raphael-st
Status: newassigned
Summary: geomview-1.9.5_0+opengl arm64 build failsgeomview @1.9.5_0+opengl: error: expected identifier or '('

It's failing on all of our arm64 builders too, but not the x86_64 ones.

finite was replaced with isfinite in C99 (25 years ago) and Apple Silicon doesn't support finite. We've fixed this problem in several other ports before (e.g. https://github.com/macports/macports-ports/pull/18137).

Looks like geomview is trying to continue to use finite in the code but replace it with isfinite by using the macro # define finite(x) isfinite(x) and for some reason this is making the system headers unhappy. The solution is probably to remove that macro and literally replace all occurrences of finite in the code with isfinite.

This issue is not MacPorts-specific and should be reported to the developers, however I'm not sure they still exist. The last release of geomview was ten years ago. Their sourceforge page has an issue tracker but it doesn't appear to be used. They say they want bug reports sent to their mailing list instead. I don't see any reports of an isfinite problem there yet.

Note: See TracTickets for help on using tickets.