Open seadynamic8 opened 9 years ago
Have you installed a C compiler on your machine? It seems it is missing the cc executable. MinGW may include one, otherwise you may need the Visual Studio tooling.
I have gcc on my machine. Can I use that instead?
Do I have to compile this manually?
Is cc
available in your PATH? If you change cc
manually to your gcc compiler, does it work?
I was just looking it up. It seems that cc is the clang compiler, renamed to "cc" on FreeBSD systems. https://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/tools-compiling.html
I just created a symoblic link from cc to gcc. But that failed with this error:
>mix deps.compile
==> hoedown
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o src/autolink.o src/autolink.c
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o src/buffer.o src/buffer.c
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o src/document.o src/document.c
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o src/escape.o src/escape.c
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o src/html.o src/html.c
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -Wno-static-in-inline -c -o src/html_blocks.o src/html_blocks.c
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o src/html_smartypants.o src/html_smartypants.c
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o src/stack.o src/stack.c
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o src/version.o src/version.c
cc -shared src/autolink.o src/buffer.o src/document.o src/escape.o src/html.o src/html_blocks.o src/html_smartypants.o src/stack.o src/version.o -o libhoedown.so.3
ln -f -s libhoedown.so.3 libhoedown.so
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o bin/hoedown.o bin/hoedown.c
bin/hoedown.c: In function 'parse_short_option':
bin/hoedown.c:200:15: warning: 'num' may be used uninitialized in this function [-Wmaybe-uninitialized]
data->ounit = num;
^
bin/hoedown.c: In function 'parse_long_option':
bin/hoedown.c:323:15: warning: 'num' may be used uninitialized in this function [-Wmaybe-uninitialized]
data->ounit = num;
^
cc bin/hoedown.o src/autolink.o src/buffer.o src/document.o src/escape.o src/html.o src/html_blocks.o src/html_smartypants.o src/stack.o src/version.o -o hoedown
cc -g -O3 -ansi -pedantic -Wall -Wextra -Wno-unused-parameter -Isrc -c -o bin/smartypants.o bin/smartypants.c
bin/smartypants.c: In function 'parse_short_option':
bin/smartypants.c:89:15: warning: 'num' may be used uninitialized in this function [-Wmaybe-uninitialized]
data->ounit = num;
^
cc bin/smartypants.o src/autolink.o src/buffer.o src/document.o src/escape.o src/html.o src/html_blocks.o src/html_smartypants.o src/stack.o src/version.o -o smartypants
==> markdown
could not compile dependency markdown, mix compile failed. You can recompile this dependency with `mix deps.compile markdown` or update it with `mix deps.update markdown`
** (ErlangError) erlang error: :enoent
(elixir) lib/system.ex:440: System.cmd("nmake", ["/F", "Makefile.win", "priv\\markdown.dll"], [stderr_to_stdout: true])
mix.exs:6: Mix.Tasks.Compile.Hoedown.run/1
(mix) lib/mix/tasks/compile.ex:59: anonymous fn/2 in Mix.Tasks.Compile.run/1
(elixir) lib/enum.ex:977: Enum."-map/2-lc$^0/1-0-"/2
(mix) lib/mix/tasks/compile.ex:58: Mix.Tasks.Compile.run/1
(mix) lib/mix/tasks/deps.compile.ex:105: anonymous fn/2 in Mix.Tasks.Deps.Compile.do_mix/1
(mix) lib/mix/project.ex:194: Mix.Project.in_project/4
(elixir) lib/file.ex:1061: File.cd!/2
Let me see if I can get clang installed on my system and sym link it to cc.
Ah, something is definitely wrong. You are on Windows but it seems to be using the regular Makefile and not the Windows one. Which terminal are you using to compile this? Which Elixir version?
I'm on Windows 8.1, using ConEmu as my terminal. Using Elixir 1.0.2
I just tried doing this with clang compiler, sym linked to cc. Same output.
What does :os.type
return for you in your iex shell? I am running out of ideas. :(
Also, what is requiring this project? We have a markdown processor in pure Elixir here, would that be enough for your needs?
:os.type returns this: {:win32, :nt}
I was trying to do an Elixir sip (www.elixirsips.com), trying to make a markdown parser.
Ah, I should've figured that out. It was calling for ex_doc, ex_doc didn't have the markdown parser, so I went to look for another one.
Thanks Jose.
I'm assuming since you have a Makefile.win that you also support Windows.
Anyways, when I go to compile the dependcies, I get the following from mix:
I'm not sure if this is from your library or hoedown. Can you please take a look?
Thanks.