Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-10724] Android: Modules: remove gperf as a build dependency

GitHub Issuen/a
TypeImprovement
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2017-11-13T21:28:57.000+0000
Affected Version/sRelease 2.1.1, Release 2.1.2, Release 6.1.2
Fix Version/sRelease 7.0.0
ComponentsAndroid, Tooling
Labelscb-tooling, core, ft, hudder, qe-and082012
ReporterDustin Hyde
AssigneeGary Mathews
Created2012-08-30T13:24:09.000+0000
Updated2017-11-15T07:34:40.000+0000

Description

When trying to build an android module on windows 7, there was an uninformative failure/error.
C:\Users\tester\AppData\Roaming\Titanium\mobilesdk\win32\2.1.2.v20120824144611\module\android\build.xml:362: The following error occurred while executing this line:
C:\Users\tester\AppData\Roaming\Titanium\mobilesdk\win32\2.1.2.v20120824144611\module\android\build.xml:317: exec returned: 2
Upon further investigation (using titanium studio > android module project > build.xml > right click > run as ant) it was found that gperf was somehow removed from the path or uninstalled from that machine, and it needed to be reinstalled and added to the system path. This does not occur on a fresh studio/sdk install on windows 7. It is suggested to remove gperf as a dependency to build android modules. Note that gperf is not documented as a dependency. Android Module Documentation (wiki.appcelerator.org): https://wiki.appcelerator.org/display/guides2/Android+Module+Development+Guide#AndroidModuleDevelopmentGuide-Step0%3AInstallingtheNecessaryComponents Steps to Reproduce: 1. Install Titanium Studio and Titanium SDK on Windows 7. 2. Install Android SDK and Android NDK. 3. Uninstall gperf or remove from the system path. 4. Create an Android Module and build the module (i.e., Publish > Package Module > to Titanium Project). Actual Result: Build failure if gperf is not installed. Expected Result: Success (no gperf dependency), or a meaningful error message. Note that the inclusion of gperf causes overhead for Titanium Studio to include built-in software prerequisites.

Comments

  1. Dustin Hyde 2012-08-31

    This also occurs on Linux and prevents Android modules from packaging out-of-the-box.
  2. Dustin Hyde 2012-12-11

    Note scons requires gperf to build the SDK. There is no warning that it is not installed, only a cryptic error.
  3. Olga Romero 2014-07-16

    Verified the issue on the following environment: Windows 8 -64bit Appcelerator Studio, build: 3.3.0.201407111535 Titanium SDK, build: 3.3.0.v20140711123603 titanium@3.3.0-rc4
  4. Chris Barber 2016-08-26

    Remember to resolve TIMOB-11220 as "won't fix" as soon as this ticket is fixed.
  5. Gary Mathews 2017-07-28

    master: https://github.com/appcelerator/titanium_mobile/pull/9265
  6. Lokesh Choudhary 2017-11-11

    FR Passed. Waiting for merge to get enabled to merge.
  7. Lokesh Choudhary 2017-11-13

    PR merged.
  8. Abir Mukherjee 2017-11-15

    Changes are seen in SDK 7.0.0.v20171114203226.

JSON Source