On 09/22/2017 04:33 PM, VanCutsem, Geoffroy wrote:
> Hi folks,
> 
> One of my team member mentioned that IoTivity 1.3.0 does not build anymore 
> for some Linux in 32-bit mode (previous versions such as 1.2.1 built just 
> fine). Specifically, when the platform.machine() (see [1]) returns something 
> like 'i586' or 'i686', it will simply not build. You can override this by 
> forcing TARGET_ARCH to 'x86' but I feel that that shouldn't be needed.
> 
> IoTivity 1.2.x had a mechanism in place so that when the 'default_arch' value 
> was not in the 'os_arch_map' list (see [2]), then the very first arch from 
> the list for that particular OS was selected. It's a bit rough as for Linux 
> as an example, any unrecognized ARM, MIPS architecture would make the build 
> system attempt to build for 'x86'. My patch [3] below is therefore a slight 
> variation of that logic in that it simply detects if 'i586' or 'i686' was 
> detected (for Linux) and if so, it replaces that value by 'x86'. Does that 
> sound like the right fix to the problem?
> 
> [1] 
> https://github.com/iotivity/iotivity/blob/master/build_common/SConscript#L68
> [2] 
> https://github.com/iotivity/iotivity/blob/1.2-rel/build_common/SConscript#L57
> [3]
> diff --git a/build_common/SConscript b/build_common/SConscript
> index 46a6735..61c5889 100755
> --- a/build_common/SConscript
> +++ b/build_common/SConscript
> @@ -55,6 +55,9 @@ else:
>      default_arch = platform.machine()
>      if target_os == 'windows':
>          default_arch = default_arch.lower()
> +    if target_os == 'linux':
> +        if default_arch in ['i586', 'i686']:
> +         default_arch = 'x86'
>  
>  target_arch = ARGUMENTS.get('TARGET_ARCH', default_arch) # target arch

something like it, yes.  There's another patch somewhere which also does
this kind of remapping.

the question is whether it would be better to remap before TARGET_ARCH
is set or after.

If by any chance you can file a bug it will help me keep track of it, I
can make sure this is pushed through quickly.

People still build for 32-bit linux?


_______________________________________________
iotivity-dev mailing list
iotivity-dev@lists.iotivity.org
https://lists.iotivity.org/mailman/listinfo/iotivity-dev

Reply via email to