Re: lang/ruby2* build failure on arm

2015-11-20 Thread Paul Mather
On Nov 20, 2015, at 11:54 AM, Michael Moll  wrote:

> Hello,
> 
> first, sorry for cross-posting this to arm and toolchain, but I'm unsure
> in which direction this will go... please CC me, as I'm not subscribed
> to any of the both lists.
> 
> In r384323 (ports) swills@ fixed the build of the lang/ruby2* ports,
> however, on a recent CURRENT on armv6hf I'm getting:
> checking for setjmp type... configure: error: _setjmp is not available
> 
> Reverting that change leads to a working Ruby, so the question here is:
> Which OSVERSION did bring in that change? I'm suspecting the LLVM 3.7
> import, but have no further data to back this claim.
> 
> Any hints?


According to my Poudriere build logs, the last successful build I was able to 
do of ruby21 for FreeBSD/arm 11-CURRENT was on 2015-08-07 (ruby21-2.1.6,1).  
That was using FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 
20150525.

I have no successful builds since the update to FreeBSD clang version 3.7.0 
(tags/RELEASE_370/final 246257) 20150906.  It fails with the same error you 
report above.

Cheers,

Paul.

___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


Re: lang/ruby2* build failure on arm

2015-11-20 Thread Dimitry Andric
On 20 Nov 2015, at 23:02, Michael Moll  wrote:
> 
> On Fri, Nov 20, 2015 at 06:04:53PM +0100, Dimitry Andric wrote:
>>> In r384323 (ports) swills@ fixed the build of the lang/ruby2* ports,
>>> however, on a recent CURRENT on armv6hf I'm getting:
>>> checking for setjmp type... configure: error: _setjmp is not available
>> 
>> Check the config.log file for further details.  Why does the configure
>> script conclude that _setjmp is not available?
> 
> The whole file is available as http://space.kvedulv.de/ruby_arm_config.log, 
> the output
> from the specific test is:
> 
> conftest.c:340:20: error: __builtin_longjmp is not supported for the current 
> target
>void t(void) {__builtin_longjmp((void **) jb, 1);}
>  ^~
> conftest.c:341:29: error: __builtin_setjmp is not supported for the current 
> target
>int jump(void) {(void)(__builtin_setjmp((void **) jb) ? 1 : 0); 
> return 0;}
>   ^~

Right, but that is not the real problem.  Earlier on, the configure
script is checking for the regular _setjmp():

configure:16921: checking for _setjmp
configure:16921: cc -o conftest -O -pipe  -fno-strict-aliasing 
-I/usr/local/include   -fstack-protector conftest.c -lcrypt -lm -lpthread 
-L/usr/local/lib >&5
conftest.c:228:6: warning: declaration of built-in function '_setjmp' requires 
inclusion of the header  [-Wbuiltin-requires-header]
char _setjmp ();
 ^
conftest.c:239:17: error: too few arguments to function call, expected 1, have 0
return _setjmp ();
   ~^
1 warning and 1 error generated.
configure:16921: $? = 1
configure: failed program was:

As to why GNU configure tries to call this without arguments, is beyond
me.  To work around its brokenness, I would set ac_cv_func__setjmp to
yes before calling configure.  Or attempt to unbreak autoconf, but that
is a truly Herculean task. :-)

-Dimitry



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: lang/ruby2* build failure on arm

2015-11-20 Thread Michael Moll
Hi,

On Fri, Nov 20, 2015 at 06:04:53PM +0100, Dimitry Andric wrote:
> > In r384323 (ports) swills@ fixed the build of the lang/ruby2* ports,
> > however, on a recent CURRENT on armv6hf I'm getting:
> > checking for setjmp type... configure: error: _setjmp is not available
> 
> Check the config.log file for further details.  Why does the configure
> script conclude that _setjmp is not available?

The whole file is available as http://space.kvedulv.de/ruby_arm_config.log, the 
output
from the specific test is:

conftest.c:340:20: error: __builtin_longjmp is not supported for the current 
target
void t(void) {__builtin_longjmp((void **) jb, 1);}
  ^~
conftest.c:341:29: error: __builtin_setjmp is not supported for the current 
target
int jump(void) {(void)(__builtin_setjmp((void **) jb) ? 1 : 0); 
return 0;}
   ^~

Regards
-- 
Michael Moll


signature.asc
Description: PGP signature