FS#26827 - [erlang] -enable-native-libs should be dropped? (RB14B04 - hipe incompatible native code)

Attached to Project: Community Packages
Opened by hrubi (hrubi) - Wednesday, 09 November 2011, 20:57 GMT
Last edited by Lukas Jirkovsky (6xx) - Sunday, 08 April 2012, 13:26 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Lukas Fleischer (lfleischer)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:

Starting erlang shell "erl" gives following warning:

{error_logger,{{2011,11,9},{21,47,1}},"<HiPE (v 3.8.1)> Warning: not loading native code for module ~w: it was compiled for an incompatible runtime system; please regenerate native code for this runtime system\n",[hipe_unified_loader]}
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]

=INFO REPORT==== 9-Nov-2011::21:47:01 ===
<HiPE (v 3.8.1)> Warning: not loading native code for module hipe_unified_loader: it was compiled for an incompatible runtime system; please regenerate native code for this runtime system
Eshell V5.8.5 (abort with ^G)
1>


Additional info:
* package version(s): elarng-R14B04-1
Rebulding this package from PKGBUILD http://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/erlang made the warning dissapear.

Steps to reproduce:
Start the shell `erl'.
This task depends upon

Closed by  Lukas Jirkovsky (6xx)
Sunday, 08 April 2012, 13:26 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with R15B01
Comment by Valentin (Vlavv) - Thursday, 10 November 2011, 14:44 GMT
Hi,

Same problem with erlang-R14B04-1-i686 after upgrading from erlang-R14B-2-i686. Downgrading back to erlang-R14B-2-i686 fixes the warning. I have no problem installing it on another system where erlang was not installed before. Anyway, despite the initial warning everything seem to be working fine.

Regards.
Comment by Garrett Smith (gar1t) - Thursday, 01 December 2011, 18:56 GMT
This was introduced when the -enable-native-libs flag was added to the erlang package. The warning will be displayed whenever you try to run the Erlang VM in a way that causes an SMP-support mismatch with the package build architecture. So if the package is built with SMP support and you try to run on a non-SMP emabled architecture, you get this warning.

I think it's debatable within Arch that -enable-native-libs should be used. It probably has some performance upside (though I personally haven't seen any benchmarks) but at the cost of VM portability.

I think in the spirit of least-common-denominator for precompiled packages, that flag should probably be dropped.
Comment by Alexander F. Rødseth (xyproto) - Friday, 30 March 2012, 02:09 GMT
Is this still an issue?
Comment by hrubi (hrubi) - Friday, 30 March 2012, 09:18 GMT
The warning still shows up on systems with single processor.
However, it's still only a warning and other systems will benefit from the -enable-native-libs flag..
I personally can live with this.

I found a way to suppress the warning with
erl -smp
which will turn on the SMP support event with single processor. I have not investigated if there's some drawback though.
Comment by Florian Pritz (bluewind) - Saturday, 07 April 2012, 17:18 GMT
This bug is responsible for breaking the chouchdb build because the warnings are output on stdout and mess up the output configure expects.
Comment by Lukas Jirkovsky (6xx) - Sunday, 08 April 2012, 13:01 GMT
It breaks esdl build too. The native libs seems to break too much, so I'm going to remove this flag from the future erlang package.

For the future reference (in case "-enable-native-libs" will be re-enabled): try "erl -smp disable" or "erl -smp enable"

Loading...