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

Thanks,
Geoffroy

Technical Marketing Engineer Manager
Open-Source Technology Centre
Tel: +32 (0)3 450 0851

-----------------------------------------------
Intel Corporation NV/SA
Kings Square, Veldkant 31
2550 Kontich
RPM (Bruxelles) 0415.497.718. 
Citibank, Brussels, account 570/1031255/09


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

Reply via email to