Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No rule to make target libcmark_static #22

Closed
louisch opened this issue Apr 30, 2016 · 2 comments
Closed

No rule to make target libcmark_static #22

louisch opened this issue Apr 30, 2016 · 2 comments
Assignees

Comments

@louisch
Copy link

louisch commented Apr 30, 2016

On Windows 10, trying to install commonmarker with gem install commonmarker, I get this:

C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20160430-2356-a8w5ay.rb extconf.rb
checking for cmake... yes
-- Building for: Visual Studio 14 2015
-- The C compiler identification is MSVC 19.0.23918.0
-- The CXX compiler identification is MSVC 19.0.23918.0
-- Check for working C compiler using: Visual Studio 14 2015
-- Check for working C compiler using: Visual Studio 14 2015 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 14 2015
-- Check for working CXX compiler using: Visual Studio 14 2015 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER - Failed
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS - Failed
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Success
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Performing Test HAVE___BUILTIN_EXPECT
-- Performing Test HAVE___BUILTIN_EXPECT - Failed
-- Performing Test HAVE___ATTRIBUTE__
-- Performing Test HAVE___ATTRIBUTE__ - Failed
-- Found PythonInterp: C:/Users/Louis/AppData/Local/Programs/Python/Python35-32/python.exe (found suitable version "3.5.1", minimum required is "3") 
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/commonmarker-0.8.0/ext/commonmarker/cmark/build
make: *** No rule to make target `libcmark_static'.  Stop.
checking for cmark_parse_document() in -lcmark... no
libcmark is missing.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=C:/Ruby22-x64/bin/$(RUBY_BASE_NAME)
    --with-cmark-dir
    --without-cmark-dir
    --with-cmark-include
    --without-cmark-include=${cmark-dir}/include
    --with-cmark-lib
    --without-cmark-lib=${cmark-dir}/lib
    --with-cmarklib
    --without-cmarklib

extconf failed, exit code 1

The mkmf.log file says the following:

find_executable: checking for cmake... -------------------- yes

--------------------

find_library: checking for cmark_parse_document() in -lcmark... -------------------- no

"x86_64-w64-mingw32-gcc -o conftest.exe -IC:/Ruby22-x64/include/ruby-2.2.0/x64-mingw32 -IC:/Ruby22-x64/include/ruby-2.2.0/ruby/backward -IC:/Ruby22-x64/include/ruby-2.2.0 -I. -IC:/Ruby22-x64/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64   -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c  -LC:/Ruby22-x64/lib -LC:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/commonmarker-0.8.0/ext/commonmarker/cmark/build/src -L. -LC:/Ruby22-x64/lib -L.      -lx64-msvcrt-ruby220  -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi  "
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char **argv)
6: {
7:   return 0;
8: }
/* end */

"x86_64-w64-mingw32-gcc -o conftest.exe -IC:/Ruby22-x64/include/ruby-2.2.0/x64-mingw32 -IC:/Ruby22-x64/include/ruby-2.2.0/ruby/backward -IC:/Ruby22-x64/include/ruby-2.2.0 -I. -IC:/Ruby22-x64/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64   -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c  -LC:/Ruby22-x64/lib -LC:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/commonmarker-0.8.0/ext/commonmarker/cmark/build/src -L. -LC:/Ruby22-x64/lib -L.      -lx64-msvcrt-ruby220 -lcmark  -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi  "
conftest.c: In function 't':
conftest.c:16:57: error: 'cmark_parse_document' undeclared (first use in this function)
conftest.c:16:57: note: each undeclared identifier is reported only once for each function it appears in
conftest.c:16:32: warning: variable 'p' set but not used [-Wunused-but-set-variable]
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <winsock2.h>
 4: #include <windows.h>
 5: 
 6: /*top*/
 7: extern int t(void);
 8: int main(int argc, char **argv)
 9: {
10:   if (argc > 1000000) {
11:     printf("%p", &t);
12:   }
13: 
14:   return 0;
15: }
16: int t(void) { void ((*volatile p)()); p = (void ((*)()))cmark_parse_document; return 0; }
/* end */

"x86_64-w64-mingw32-gcc -o conftest.exe -IC:/Ruby22-x64/include/ruby-2.2.0/x64-mingw32 -IC:/Ruby22-x64/include/ruby-2.2.0/ruby/backward -IC:/Ruby22-x64/include/ruby-2.2.0 -I. -IC:/Ruby22-x64/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64   -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c  -LC:/Ruby22-x64/lib -LC:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/commonmarker-0.8.0/ext/commonmarker/cmark/build/src -L. -LC:/Ruby22-x64/lib -L.      -lx64-msvcrt-ruby220 -lcmark  -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi  "
conftest.c: In function 't':
conftest.c:16:1: warning: implicit declaration of function 'cmark_parse_document' [-Wimplicit-function-declaration]
c:/rubydevkit/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lcmark
collect2.exe: error: ld returned 1 exit status
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <winsock2.h>
 4: #include <windows.h>
 5: 
 6: /*top*/
 7: extern int t(void);
 8: int main(int argc, char **argv)
 9: {
10:   if (argc > 1000000) {
11:     printf("%p", &t);
12:   }
13: 
14:   return 0;
15: }
16: int t(void) { cmark_parse_document(); return 0; }
/* end */

--------------------
@gjtorikian
Copy link
Owner

Thanks for the extensive report. I'm on vacation at the moment but I'll check this out when I am able.

@gjtorikian gjtorikian self-assigned this May 1, 2016
@kivikakk
Copy link
Collaborator

Working on fixing the Windows build now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants