Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trigger.io [Errno 18] Cross-device link

Tags:

trigger.io

When I try to run package ios on mac, I get the following:

[INFO] Forge tools running at version 3.3.5
[INFO] Update result: you already have the latest tools
[INFO] Configuration is unchanged: using existing templates
[INFO] Checking JavaScript files...
[INFO] JavaScript check complete
[INFO] Verifying your configuration settings...
[INFO] Configuration settings check complete
[INFO] Development build created. Use forge run to run your app.
[INFO] Forge tools running at version 3.3.5
[INFO] Checking JavaScript files...
[INFO] JavaScript check complete
[INFO] Verifying your configuration settings...
[INFO] Configuration settings check complete
[INFO] Starting package process for iOS
[INFO] Going to package: /Users/******************/device-ios.app
[INFO] Plist OK
[INFO] 1 Provisioned Device(s):
[INFO] ['c**************************b']
[ERROR] [Errno 18] Cross-device link

The settings are all filled up correctly on App config, local config, etc.

Here is debug output

........
in run
    self._run_task(func_name, args, kw)
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/build.py", line 293, in _run_task
    self.tasks[func_name](self, *args, **kw)
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py", line 568, in package_ios
    certificate_password=certificate_password,
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py", line 362, in create_ipa_from_app
    self._create_entitlements_file(build, plist_dict, temp_file_path)
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py", line 299, in _create_entitlements_file
    _replace_in_file(temp_file_path, 'APP_ID', bundle_id)
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py", line 294, in _replace_in_file
    os.rename(tmp_file, filename)
OSError: [Errno 18] Cross-device link
like image 767
Pasta Avatar asked Jul 20 '12 11:07

Pasta


2 Answers

Are you using an external hard-drive? If so, it looks like we've been bitten by a limitation of Python here (http://docs.python.org/library/os.html#os.rename):

The operation may fail on some Unix flavors if src and dst are on different filesystems

In the short term, can you run your forge commands not on your external hard drive? We'll work on a fix for the underlying problem and report back here.

like image 74
Amir Nathoo Avatar answered Oct 22 '22 02:10

Amir Nathoo


Go to /Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py line 294,

change this line: os.rename(tmp_file, filename)

to this one: shutil.move(tmp_file, filename)

Package again.

source

like image 20
Rotem Harel Avatar answered Oct 22 '22 01:10

Rotem Harel