From: Joseph Jones Date: 2015-12-17T21:05:38-07:00 Subject: [ruby-core:72237] [Ruby trunk - Bug #11733] Compile of ruby 2.2.3 fails on AIX 6.1 TL07 SP03 --56738612_66334873_16c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Joseph Jones liked your message with Boxer. On December 7, 2015 at 00:55:= 22 MST, naruse=40airemix.jp wrote:Issue =2311733 has been updated by Yui = NARUSE.Assignee set to cruby-aix----------------------------------------B= ug =2311733: Compile of ruby 2.2.3 fails on AIX 6.1 TL07 SP03https://bugs= .ruby-lang.org/issues/11733=23change-55299* Author: Perry Smith* Status: = Open* Priority: Normal* Assignee: cruby-aix* ruby -v: * Backport: 2.0.0: = UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN--------------------------------------= --The build on AIX fails in the ext/-test-/file directory with errors suc= h ascompiling /usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c/usr/work/src/= ruby-2.2.3/ext/-test-/file/fs.c: In function 'get=5Ffsname':/usr/work/src= /ruby-2.2.3/ext/-test-/file/fs.c:39:14: error: storage size of 'st' isn't= known/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c:44:5: warning: implic= it declaration of function 'statvfs'/usr/work/src/ruby-2.2.3/ext/-test-/f= ile/fs.c:39:14: warning: unused variable 'st'make: *** =5Bfs.o=5D Error 1= This can be avoided if line 65 is modified but then we encounter a second= error:compiling /usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c/usr/work/s= rc/ruby-2.2.3/ext/-test-/file/fs.c: In function 'get=5Ffsname':/usr/work/= src/ruby-2.2.3/ext/-test-/file/fs.c:45:5: warning: implicit declaration o= f function 'statvfs'/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c:49:11: = error: 'struct statfs' has no member named 'f=5Fbasetype'/usr/work/src/ru= by-2.2.3/ext/-test-/file/fs.c:50:9: error: 'struct statfs' has no member = named 'f=5Fbasetype'/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c:50:9: e= rror: 'struct statfs' has no member named 'f=5Fbasetype'/usr/work/src/rub= y-2.2.3/ext/-test-/file/fs.c:50:9: error: 'struct statfs' has no member n= amed 'f=5Fbasetype'/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c:50:9: er= ror: 'struct statfs' has no member named 'f=5Fbasetype'In the extconf.rb,= they test for struct statfs -- which AIX has but the code declares varia= bles of statfs=5Ft which AIX does not have.The AIX statfs is defined in /= usr/include/sys/statfs.h (which is included by vfs.h). It has an f=5Ftype= field but not an f=5Fbasetype field.To get around the issue, I kludged e= xtconf.rb to fail to find the structures it was looking for and then it b= uilt but this is clearly not a real solution.-- https://bugs.ruby-lang.or= g/ --56738612_66334873_16c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Joseph Jones liked your message with Boxer.


= On December 7, 2015 at 00:55:22 MST, naruse=40airemix.jp wrote:
Issue =2311733 has been updated= by Yui NARUSE.

Assignee set to cruby-aix

---------= -------------------------------
Bug =2311733: Compile of ruby 2.2.3 = fails on AIX 6.1 TL07 SP03
https://bugs.ruby-lang.org/issues/11733=23= change-55299

* Author: Perry Smith
* Status: Open
* = Priority: Normal
* Assignee: cruby-aix
* ruby -v:
* Backp= ort: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
--------------------= --------------------
The build on AIX fails in the ext/-test-/file d= irectory with errors such as

compiling /usr/work/src/ruby-2.2.= 3/ext/-test-/file/fs.c
/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c= : In function 'get=5Ffsname':
/usr/work/src/ruby-2.2.3/ext/-test-/fi= le/fs.c:39:14: error: storage size of 'st' isn't known
/usr/work/src= /ruby-2.2.3/ext/-test-/file/fs.c:44:5: warning: implicit declaration of f= unction 'statvfs'
/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c:39:1= 4: warning: unused variable 'st'
make: *** =5Bfs.o=5D Error 1
<= br />This can be avoided if line 65 is modified but then we encounter a s= econd error:

compiling /usr/work/src/ruby-2.2.3/ext/-test-/fil= e/fs.c
/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c: In function 'g= et=5Ffsname':
/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c:45:5: wa= rning: implicit declaration of function 'statvfs'
/usr/work/src/ruby= -2.2.3/ext/-test-/file/fs.c:49:11: error: 'struct statfs' has no member n= amed 'f=5Fbasetype'
/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c:50= :9: error: 'struct statfs' has no member named 'f=5Fbasetype'
/usr/w= ork/src/ruby-2.2.3/ext/-test-/file/fs.c:50:9: error: 'struct statfs' has = no member named 'f=5Fbasetype'
/usr/work/src/ruby-2.2.3/ext/-test-/f= ile/fs.c:50:9: error: 'struct statfs' has no member named 'f=5Fbasetype'<= br />/usr/work/src/ruby-2.2.3/ext/-test-/file/fs.c:50:9: error: 'struct s= tatfs' has no member named 'f=5Fbasetype'

In the extconf.rb, t= hey test for struct statfs -- which AIX has but the code declares variabl= es of statfs=5Ft which AIX does not have.

The AIX statfs is de= fined in /usr/include/sys/statfs.h (which is included by vfs.h). It has = an f=5Ftype field but not an f=5Fbasetype field.

To get around= the issue, I kludged extconf.rb to fail to find the structures it was lo= oking for and then it built but this is clearly not a real solution.




--
https://bugs.ruby-lang.org/
--56738612_66334873_16c--