Asdf-erlang: xcodebuild: No such file or directory

Created on 11 Jun 2020  路  8Comments  路  Source: asdf-vm/asdf-erlang

MacOS 15.5 (Catalina)
Erlang 23.0.2
asdf-erlang (latest)
asdf v0.7.8-4a3e3d6

饾憮 asdf install erlang 23.0.2
asdf_23.0.2 is not a kerl-managed Erlang/OTP installation
The asdf_23.0.2 build has been deleted
Extracting source code
Building Erlang/OTP 23.0.2 (asdf_23.0.2), please wait...
/Users/krainboltgreene/.asdf/plugins/erlang/kerl: line 661: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild: No such file or directory
DOCUMENTATION INFORMATION (See: /Users/krainboltgreene/.asdf/plugins/erlang/kerl-home/builds/asdf_23.0.2/otp_build_23.0.2.log)
 * documentation  :
 *                  fop is missing.
 *                  Using fakefop to generate placeholder PDF files.
Erlang/OTP 23.0.2 (asdf_23.0.2) has been successfully built
Installing Erlang/OTP 23.0.2 (asdf_23.0.2) in /Users/krainboltgreene/.asdf/installs/erlang/23.0.2...
You can activate this installation running the following command:
. /Users/krainboltgreene/.asdf/installs/erlang/23.0.2/activate
Later on, you can leave the installation typing:
kerl_deactivate
Cleaning up compilation products for
Cleaned up compilation products for  under /Users/krainboltgreene/.asdf/plugins/erlang/kerl-home/builds
ln: ./erl_call: File exists

Erlang 23.0.2 has been installed. Activate globally with:

    asdf global erlang 23.0.2

Activate locally in the current folder with:

    asdf local erlang 23.0.2

So two things to note for this ticket:

  1. I'm not even sure if it's an issue, really.
  2. This comes after having a really bad uninstall so I don't know how fricked my asdf-erlang/asdf is and I'm tempted to clean wipe
  3. I upgraded to catalina.
  4. (2) in the list happened because my Observer gui was all fricked.

Most helpful comment

I've ran into the same issue. For now I fixed it - as I don't use Catalina and don't want to install Xcode - by removing the xcodebuild references from my local kerl installation at ~/.asdf/plugins/erlang/kerl (see my comment on the kerl issue). This should be safe because kerl seems to only use xcodebuild to determine if needs to apply certain Catalina-only patches.

If you want to do the same - without any guarantee to break something if you're running Catalina - replace maybe_patch_catalina (line 660 - 673) with this:

maybe_patch_catalina() {
    command_line_tools_version=$(xcode-select -v | awk '{print $3}' | sed 's/.$//')
    release="$1"
    otp_version="$2"

    if is_osx_catalina && \
        [[ "$release" -lt 23 ]] && \
        compare_sem_version $otp_version "<" "22.3.1" && \
        [[ "$command_line_tools_version" -le 2373 ]]; then
        apply_catalina_no_weak_imports_patch >>"$LOGFILE"
    fi
}

All 8 comments

I recently committed a fix that addressed the ln: ./erl_call: File exists message. Can you try upgrading to the latest version of asdf-erlang? asdf plugin-update erlang.

Other than that I don't see any issues with the output you posted.

I too am facing the same issue. I am trying to install an old Erlang version.

asdf_21.1 is not a kerl-managed Erlang/OTP installationThe asdf_21.1 build has been deletedExtracting source code
Building Erlang/OTP 21.1 (asdf_21.1), please wait...
/Users/sk/.asdf/plugins/erlang/kerl: line 661: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild: No such file or directory
Configure failed.
Disabling caching
checking build system type... Invalid configuration `1.0.2texport': machine `1.0.2texport' not recognized

... /Users/krainboltgreene/.asdf/plugins/erlang/kerl: line 661: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild: No such file or directory ...
isn't a problem?

Does /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild exist on your machines?

Apparently not enough to stop running code, haha.

@Stratus3D I'll check when I finish work, but I'm pretty sure the answer was yes?

Nope. I don't have Xcode installed. I do have the commandline tools installed, but they are not located there.

@krainboltgreene closed the issue by accident?

The source is at https://github.com/kerl/kerl/blob/master/kerl#L661, and apparently it attempts to determine if to patch something. I don't have Xcode, I do have the cli tools, but not a low enough version, and i'm installing OTP23, and it only triggers on lower than 23, so i guess I can ignore the error :)

I've ran into the same issue. For now I fixed it - as I don't use Catalina and don't want to install Xcode - by removing the xcodebuild references from my local kerl installation at ~/.asdf/plugins/erlang/kerl (see my comment on the kerl issue). This should be safe because kerl seems to only use xcodebuild to determine if needs to apply certain Catalina-only patches.

If you want to do the same - without any guarantee to break something if you're running Catalina - replace maybe_patch_catalina (line 660 - 673) with this:

maybe_patch_catalina() {
    command_line_tools_version=$(xcode-select -v | awk '{print $3}' | sed 's/.$//')
    release="$1"
    otp_version="$2"

    if is_osx_catalina && \
        [[ "$release" -lt 23 ]] && \
        compare_sem_version $otp_version "<" "22.3.1" && \
        [[ "$command_line_tools_version" -le 2373 ]]; then
        apply_catalina_no_weak_imports_patch >>"$LOGFILE"
    fi
}
Was this page helpful?
0 / 5 - 0 ratings