ignatov / intellij-erlang

Erlang IDE
https://www.jetbrains.com/help/idea/2018.2/getting-started-with-erlang.html
Other
735 stars 121 forks source link

Cannot Detect SDK Version #31

Closed aantono closed 10 years ago

aantono commented 12 years ago

On both Linux CentOS and OSX Mountain Lion, when attempting to add Erlang SDK, get an error saying that "Cannot Detect SDK Version" - "Probably SDK installed in '/opt/local/installs/erlang' is corrupt"

The version is not corrupt, works just fine.

The problem went away, when selected ' /opt/local/installs/erlang/lib/erlang/' instead. Without explicit documentation of such, it is difficult to know and guess that this is the directory that needs to be provided in order for it to work.

ignatov commented 12 years ago

Thanks for report, I tried to setup Erlang SDK only on standard installation on Ubuntu and Win 7. Do I understand correctly that you use custom installation from sources to /opt/ directory?

BTW, Erlang SDK tried to find erlc and erl in /bin/ directory.

aantono commented 12 years ago

on Linux I did a custom compile and install and on a Mac I've used Homebrew (a pkg mgr for Mac). This is the content of my '/opt/local/installs/erlang/bin' directory:

--> ls /opt/local/installs/erlang/bin/ ct_run dialyzer epmd erl erlc escript run_erl run_test to_erl typer

All the executables in there are symlinks to '../lib/erlang/bin/*'

sahat commented 12 years ago

How can I access system level directories from the GUI window that prompts you to add Erlang SDK? Sure there must be an easier way than enabling system-wide hidden files and adding SDK via GUI interface?

Also, I have used Erlang-Solution's Mac OS X binary package instead of installing Erlang via Homebrew on Mountain Lion.

ignatov commented 12 years ago

You also can enter the file path manually.

aantono commented 12 years ago

I am assuming you are asking about a Mac OSX. If so, there is a shortcut Command+Shift+G that enables the manual entry, which you can type '/' and then navigate the entire filepath, right in the GUI window.

sahat commented 12 years ago

Thanks, I didn't know about the Command + Shift + G trick. I have navigated to /usr/local/lib.

Inside, I selected erlang folder, and it automatically detected Erlang R15B01 located at /usr/local/lib/erlang/lib folder.

chadselph commented 12 years ago

Is it documented anywhere which folder the user is meant to select for the "Erlang SDK"? It wasn't obvious to me I had to select the lib/erlang/lib folder

ignatov commented 12 years ago

@chadselph I'll install Mac OS X to virtual machine and will try to setup Erlang SDK. After that I can update documentation and change default directory in the file chooser dialog. Sorry for inconvinience.

yzh44yzh commented 12 years ago

I have no problem on Debian with default path /usr/lib/erlang

kontinuity commented 12 years ago

When I installed the plugin the folder I had to select to get it to work was lib/erlang and not lib/erlang/lib on Mountain Lion.

ignatov commented 12 years ago

@kontinuity what's the full path to the Erlang installation folder?

kontinuity commented 12 years ago

/usr/share/erlang/lib/erlang (Erlang R15B01)

doubleday commented 11 years ago

Or /opt/local/lib/erlang when you are using MacPorts

shamanyna commented 11 years ago

Good day. I install erlang from MacPorts. it`s work (i test it in erlang shell). But into erlang plugin when i create project of erlang module if i choose path to erlang (/opt/local/lib/erlang) plugin not find erlang sdk... How resolve this problem? (Mac OS X Mountain Lion).

ignatov commented 11 years ago

As I see from comments below you can specify the /opt/local/lib/erlang/lib/erlang/. Try it as a workaround. Please dump a tree of your erlang installation to a text file, e.g. tree /opt/local/lib/erlang > erlang_tree.txt and attach the second one. Under the hood the Erlang plugin searches the directory where is a bin directory exists:

/usr/lib/erlang
├── bin
│   ├── ct_run
│   ├── dialyzer
│   ├── epmd -> ../erts-5.10/bin/epmd
│   ├── erl
│   ├── erlc    

I think that a good idea to process all possible variants (Brew, Mac Ports, etc) for Mac OS X as a suggested path.

shamanyna commented 11 years ago

/opt/local/lib/erlang/lib/ contains no further path "erlang"... My tree is:

/opt/local/lib/erlang ├── COPYRIGHT ├── Install ├── PR.template ├── README ├── bin │   ├── ct_run │   ├── dialyzer │   ├── epmd -> ../erts-5.9.3/bin/epmd │   ├── erl │   ├── erlc │   ├── escript │   ├── run_erl │   ├── run_test -> ct_run │   ├── start │   ├── start.boot │   ├── start.script │   ├── start_clean.boot │   ├── start_erl │   ├── start_sasl.boot │   ├── to_erl │   └── typer ├── doc ├── erts-5.9.3 │   ├── bin │   │   ├── beam │   │   ├── beam.smp │   │   ├── child_setup │   │   ├── ct_run │   │   ├── dialyzer │   │   ├── dyn_erl │   │   ├── epmd │   │   ├── erl │   │   ├── erl.src │   │   ├── erlc │   │   ├── erlexec │   │   ├── escript │   │   ├── heart │   │   ├── inet_gethost │   │   ├── run_erl │   │   ├── start │   │   ├── start.src │   │   ├── start_erl.src │   │   ├── to_erl │   │   └── typer │   │  

ignatov commented 11 years ago

@dedyyshka Please attach the full dump.

shamanyna commented 11 years ago

sorry... i not know how attach file as "file", picture is quite large...

shamanyna commented 11 years ago

i put the file on google drive https://docs.google.com/folder/d/0B6rsfWDghy2edGs5NDZaSS0zbmM/edit?usp=sharing i sorry for the inconvenience

ignatov commented 11 years ago

@dedyyshka I've just install Erlang via Mac Ports (binary installation) on Mac OS X Mountain Lion and everything is OK. I've set the /opt/local/lib/erlang/ as a SDK root.

ignatov commented 11 years ago

I've just added Erlang SDK root detection for Mac OS X in 7a08f4cb89564.

shamanyna commented 11 years ago

Thanks it works

ignatov commented 11 years ago

I've just added a little bit info about Erlang SDK setup.

andrzejsliwa commented 11 years ago

lets switch for manaul setup with path to erlang, some people may use kerl etc...

one textfield with place to enter path will much better than trying to be "smart" by IDE, of course we could add default here (based on search of standard location), but this should be definitely something configurable

dedalozzo commented 11 years ago

I have Mac OS X Lion with MacPorts installed.

sudo port installed erlang output:

erlang @R16B01_0+ssl (active)

Using /opt/local/lib/erlang/ on Mac OS X doesn't work for me.

nruth commented 10 years ago

Doesn't seem to work with the ErlangSolutions prebuilt binary for Mac OS? (I use it because I want wx to work, so use their 32-bit build). Had to manually enter /usr/local/lib/erlang with the cmd+shift+g trick.

ignatov commented 10 years ago

Please specify the build, I'll see.

nruth commented 10 years ago

From here, https://www.erlang-solutions.com/downloads/download-erlang-otp This package: http://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_16.b.2~osx~10.6.8_i386.dmg

Thanks for checking!

ndizzle commented 10 years ago

Same issue for me. This is the package I'm attempting to use on OSX Mavericks.

http://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_16.b.3~osx~10.6.8_amd64.dmg

ignatov commented 10 years ago

Hi, @ndizzle, please try the latest build from https://github.com/ignatov/intellij-erlang#pre-release-builds (r16b03 support had been added one week ago).

ndizzle commented 10 years ago

Works! Thank you for the quick reply, @ignatov!

pyrofolium commented 10 years ago

The plugin isn't working for me. I have mavericks and erlang installed with brew. The preferences have the sdk configured for the directory: /usr/local/lib/erlang

Additionally it won't detect what version of rebar I'm using.

deadok22 commented 10 years ago

Hi, @crimsonalucard! Have you tried to do what's written in "Rebar integration" section at http://ignatov.github.io/intellij-erlang/ ?

ignatov commented 10 years ago

Hi @crimsonalucard Also please specify the real Erlang SDK path (something like /usr/local/Cellar/erlang*) and the Erlang version.

pyrofolium commented 10 years ago

@ignatov /usr/local/Cellar/erlang/R16B03 is the real erlang path. @deadok22 Yes I did. I downloaded rebar into the project using the link in the menu directory but the system doesn't detect it. It still displays N/A in the version field of rebar.

ignatov commented 10 years ago

Hi @crimsonalucard please try the latest version from the pre-release builds.

ignatov commented 10 years ago

@crimsonalucard Please, check the http://stackoverflow.com/a/3756686 and #189 for the right environment paths setup.

wb14123 commented 10 years ago

I have this problem here with Archlinux. Erlang version Erlang/OTP 17 [erts-6.0].

deadok22 commented 10 years ago

Hi, @wb14123! Please try the latest pre-release build https://github.com/ignatov/intellij-erlang/releases/tag/%23563

Let me know if it helps.

wb14123 commented 10 years ago

Hi, @deadok22 . It doesn't help. It shows "Unknown Erlang version at /usr/lib/erlang(17)".

deadok22 commented 10 years ago

Could you, please, show me what is there under /usr/lib/erlang(17)/ and under /usr/lib/erlang(17)/releases if it's there?

wb14123 commented 10 years ago

wangbin@bin-rmbp ~ > tree -L 2 /usr/lib/erlang > a.txt

/usr/lib/erlang ├── bin │   ├── ct_run │   ├── dialyzer │   ├── epmd -> ../erts-6.0/bin/epmd │   ├── erl │   ├── erlc │   ├── escript │   ├── no_dot_erlang.boot │   ├── run_erl │   ├── start │   ├── start.boot │   ├── start_clean.boot │   ├── start_erl │   ├── start_sasl.boot │   ├── start.script │   ├── to_erl │   └── typer ├── erts-6.0 │   ├── bin │   ├── doc │   ├── include │   ├── lib │   ├── man │   └── src ├── Install ├── lib │   ├── asn1-3.0 │   ├── common_test-1.8 │   ├── compiler-5.0 │   ├── cosEvent-2.1.15 │   ├── cosEventDomain-1.1.14 │   ├── cosFileTransfer-1.1.16 │   ├── cosNotification-1.1.21 │   ├── cosProperty-1.1.17 │   ├── cosTime-1.1.14 │   ├── cosTransactions-1.2.14 │   ├── crypto-3.3 │   ├── debugger-4.0 │   ├── dialyzer-2.7 │   ├── diameter-1.6 │   ├── edoc-0.7.13 │   ├── eldap-1.0.3 │   ├── erl_docgen-0.3.5 │   ├── erl_interface-3.7.16 │   ├── erts-6.0 │   ├── et-1.5 │   ├── eunit-2.2.7 │   ├── gs-1.5.16 │   ├── hipe-3.10.3 │   ├── ic-4.3.5 │   ├── inets-5.10 │   ├── kernel-3.0 │   ├── megaco-3.17.1 │   ├── mnesia-4.12 │   ├── observer-2.0 │   ├── orber-3.6.27 │   ├── ose-1.0 │   ├── os_mon-2.2.15 │   ├── otp_mibs-1.0.9 │   ├── parsetools-2.0.11 │   ├── percept-0.8.9 │   ├── public_key-0.22 │   ├── reltool-0.6.5 │   ├── runtime_tools-1.8.14 │   ├── sasl-2.4 │   ├── snmp-4.25.1 │   ├── ssh-3.0.1 │   ├── ssl-5.3.4 │   ├── stdlib-2.0 │   ├── syntax_tools-1.6.14 │   ├── test_server-3.7 │   ├── tools-2.6.14 │   ├── tsung-1.5.0 │   ├── tsung_controller-1.5.0 │   ├── tsung_recorder-1.5.0 │   ├── typer-0.9.6 │   ├── webtool-0.8.10 │   ├── wx-1.2 │   └── xmerl-1.3.7 ├── man │   ├── man1 │   ├── man3 │   ├── man4 │   ├── man6 │   └── man7 ├── misc │   ├── format_man_pages │   └── makewhatis ├── releases │   ├── 17 │   ├── RELEASES │   ├── RELEASES.src │   └── start_erl.data └── usr ├── include └── lib

74 directories, 22 files

deadok22 commented 10 years ago

@wb14123 the original error message referred to "/usr/lib/erlang(17)" whereas you've shown the tree output for "/usr/lib/erlang". Does it fail to detect SDK version under "/usr/lib/erlang" as well?

wb14123 commented 10 years ago

I specify the SDK path as "/usr/lib/erlang", but the error message is "/usr/lib/erlang(17)" where "(17)" is grey here. map1

deadok22 commented 10 years ago

Oh, I got it! You just have your SDK named "Unknown Erlang version at /usr/lib/erlang" and the version is discovered correctly. You can re-setup your sdk or just rename it if you want it to have the right name.

wb14123 commented 10 years ago

Thanks. "17" is shown in the later version I installed.

platon commented 9 years ago

Hello) I have the next problem: Idea can see erlang sdk but cant't see the rebar.

Details: OS: Mac OS 10.10.1 Idea: 14

I've installed erlang from https://www.erlang-solutions.com/downloads/download-erlang-otp Set the correct erlang sdk path (/usr/local/lib/erlang) to idea and idea detected erlang sdk.

Then i've downloaded rebar from git hub and put it to /usr/bin. In console everything is ok. But idea does't detect the rebar version and can't complie and debug with rebar.

I've tried the same steps on latest linux Mint and Ubuntu and didn't get any issuers.

I've got no ideas why it doesn't work for MAC OS 10.10

ignatov commented 9 years ago

Please see https://github.com/ignatov/intellij-erlang/issues/189#issuecomment-15285262 and http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x/3756686#3756686 May be it can help. If not please report more details for understanding.

platon commented 9 years ago

Thanks for the reply. Everything works fine :) In general, there was only one little issue. Idea on mac os didn't detect the version of rebar, but rebar worked with idea. Sorry for taking your time. Great plugin :)

2014-11-30 18:19 GMT+03:00 Sergey Ignatov notifications@github.com:

Please see #189 (comment) https://github.com/ignatov/intellij-erlang/issues/189#issuecomment-15285262 and http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x/3756686#3756686 May be it can help. If not please report more details for understanding.

— Reply to this email directly or view it on GitHub https://github.com/ignatov/intellij-erlang/issues/31#issuecomment-64988362 .

myles-mcdonnell commented 9 years ago

Hi

I am running OpenSUSE 13.2, IdeaJ CE 14.02, ErlangPlugin 636 and have installed Erlang from the default package repo (R17) which is installed at /usr/lib64/erlang. Idea J will not accept /usr/lib64/erlang/bin (simply ignores the OK click). I copied the releases folder under bin but no joy?

thanks Myles