Opened 9 years ago

Closed 9 years ago

#2047 closed defect (fixed)

GRASS doesn't build on FreeBSD

Reported by: lbartoletti Owned by: grass-dev@…
Priority: critical Milestone: 6.4.4
Component: Compiling Version: svn-releasebranch64
Keywords: FreeBSD Cc:
CPU: x86-64 Platform: Other Unix

Description

We have an error "va_list" into gisdefs.h

See the log and the FreshPorts' info http://www.freshports.org/databases/grass

Change History (8)

in reply to:  description ; comment:1 by glynn, 9 years ago

Replying to lbartoletti:

/usr/include/stdarg.h:72:2: error: #error this file needs to be ported to your
compiler

and

Error: /usr/include/stdio.h:67: Syntax error at 'va_list'

So something producing errors in the ISO C headers. The log file doesn't make any mention of which directory is compiled when the errors occur, but it looks like lib/python/ctypes, in which case the problem is with the flags that ctypesgen is passing to the preprocessor.

This needs to be debugged by someone with access to the target system.

in reply to:  1 comment:2 by mmetz, 9 years ago

Replying to glynn:

Replying to lbartoletti:

Testing on FreeBSD 9.0.1 with gcc (GCC) 4.2.1 20070813 patched [FreeBSD]

So something producing errors in the ISO C headers. The log file doesn't make any mention of which directory is compiled when the errors occur, but it looks like lib/python/ctypes, in which case the problem is with the flags that ctypesgen is passing to the preprocessor.

/usr/include/stdarg.h:72:2: error: #error this file needs to be ported to your
compiler

/usr/include/stdarg.h is protected by __GNUCLIKE_BUILTIN_STDARG. Adding

CFLAGS="-D__GNUCLIKE_BUILTIN_STDARG"

to the call to configure and hacking lib/python/ctypes/Makefile#L57 by adding $(CFLAGS) removes this error message. I was not able to spot a relevant difference between compiling lib/gis (which succeeds) and lib/python/ctypes, apart from gcc vs. gcc -E. I was also not able to find any documentation on __GNUCLIKE_BUILTIN_STDARG?

and

Error: /usr/include/stdio.h:67: Syntax error at 'va_list'

I get ctypes Syntax errors also on GNU/Linux, they appear to be harmless. It seems that these syntax errors are either indeed harmless and there is a bug in the ctypes C code parser, or these syntax errors are real, violating some yet unknown standard.

This needs to be debugged by someone with access to the target system.

I will test on FreeBSD 9.1 next week.

BTW, the standard FreeBSD C compiler clang bombs out for me in lib/gis with

fatal error: error in backend: ran out of registers during register allocation

unless I set CFLAGS="-DGNUCLIKE_BUILTIN_STDARG".

I can test on different FreeBSD versions, but I am not familiar with the intricacies of compiling GNU software on FreeBSD, thus I would appreciate very much some hints in order to get GRASS working on FreeBSD, ideally *BSD. BTW, GRASS 7 with standard functionality (modules + GUI without GUI components requiring ctypes) is working fine for me on FreeBSD 9.1.

comment:3 by lbartoletti, 9 years ago

Seems to be only on Amd64 :

i386 log amd64 log

comment:4 by neteler, 9 years ago

Milestone: 6.4.36.4.4
Version: 6.4.3 RCssvn-releasebranch64

Could you try with a recent SVN snapshot?

http://grass.osgeo.org/grass64/source/snapshot/

(I am not sure if this report is actually a blocker for 6.4.4)

in reply to:  4 comment:5 by neteler, 9 years ago

Keywords: FreeBSD added
Priority: blockercritical

Replying to neteler:

Could you try with a recent SVN snapshot?

http://grass.osgeo.org/grass64/source/snapshot/

(I am not sure if this report is actually a blocker for 6.4.4)

No answer, downgrading to critical since only Amd64 might be affected.

comment:6 by lbartoletti, 9 years ago

I worked on porting the application. Although Grass works very well, we still have this error. https://redports.org/buildarchive/20140109062917-24686/

in reply to:  6 comment:7 by neteler, 9 years ago

Replying to lbartoletti:

I worked on porting the application. Although Grass works very well, we still have this error. https://redports.org/buildarchive/20140109062917-24686/

Since the link is expired, to you have a new one?

comment:8 by lbartoletti, 9 years ago

Resolution: fixed
Status: newclosed

Logs for FreeBSD 9.x 10.x 11.x i386 and Amd64

https://redports.org/buildarchive/20140428171001-71581/

Note: See TracTickets for help on using tickets.