Giter Club home page Giter Club logo

Comments (6)

luislavena avatar luislavena commented on August 16, 2024

@aslakhellesoy are you forcing CC, CXX, LDFLAGS or CPPFLAGS in your environment? That affects compilation.

I'll check later today against my office computer and let you know.

from bool.

aslakhellesoy avatar aslakhellesoy commented on August 16, 2024

@luislavena - no none of these environment variables are defined. Thanks for looking into this Luis!

from bool.

luislavena avatar luislavena commented on August 16, 2024

@aslakhellesoy the problem is here:

https://github.com/cucumber/bool/blob/master/ruby/ext/bool_ext/extconf.rb#L7-L9

You're invoking the compilation of a C library by shelling out. That has nothing to do with rake-compiler.

libbool itself is unaware of cross-compilation. You will need to change bool Makefile to be able to use CC and AR from the environment.

Then, you will be able to do:

Dir.chdir(LIBBOOL) do
  ENV["CC"] = RbConfig::CONFIG["CC"]
  ENV["AR"] = RbConfig::CONFIG["AR"]
  ENV["LDSHARED"] = RbConfig::CONFIG["LDSHARED"]
  system "make clean all"
end

Now, a few things I see:

  • You are compiling libtool.o with -shared which will produce a shared object, yet you're saving it as object file (.o) That definitely is not what you want
  • At the same time you're generating a static library libbool.a, but that will not use the shared object you're creating.

Perhaps I'm getting the makefile incorrectly, but I see those as problems.

If you want to build a shared object (.so) use what RbConfig::CONFIG have which is usually right for the platform. Replace your hardcoded command by $(LDSHARED) and you can add to your Makefile

LDSHARED?=$(CC) -shared

Also found that -lfl produces problems for me on OSX:

$ make CC=gcc
flex lexer.l
bison parser.y
gcc  -I/opt/local/include  -c -o parser.o parser.c
gcc  -I/opt/local/include  -c -o lexer.o lexer.c
gcc  -I/opt/local/include  -c -o bool_ast.o bool_ast.c
gcc -shared -o libbool.o lexer.o parser.o bool_ast.o -lfl
ld: library not found for -lfl
collect2: error: ld returned 1 exit status
make: *** [libbool.o] Error 1

But even beyond that I'm having problems with a simple rake compile natively on my OSX box.

Here is the diff so far of what I've made:

https://gist.github.com/4684251

But I'm stuck here:

ar rcs libbool.a lexer.o parser.o bool_ast.o
checking for bool_ast.h... yes
checking for parse_bool_ast() in -lbool... no
libbool is missing.

and from mkmf.log:

find_library: checking for parse_bool_ast() in -lbool... -------------------- no

"gcc -o conftest -I/Users/luis/.rbenv/versions/1.9.3-p327/include/ruby-1.9.1/x86_64-darwin12.2.1 -I/Users/luis/.rbenv/versions/1.9.3-p327/include/ruby-1.9.1/ruby/backward -I/Users/luis/.rbenv/versions/1.9.3-p327/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/luis/code/_sandbox/bool/ruby/ext/bool_ext/libbool -I'/Users/luis/.rbenv/versions/1.9.3-p327/include' -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE  -I'/Users/luis/.rbenv/versions/1.9.3-p327/include' -I/opt/local/include  -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -pipe conftest.c  -L. -L/Users/luis/.rbenv/versions/1.9.3-p327/lib -L/Users/luis/code/_sandbox/bool/ruby/ext/bool_ext/libbool -L/Users/luis/.rbenv/versions/1.9.3-p327/lib -L. -L'/Users/luis/.rbenv/versions/1.9.3-p327/lib' -L/opt/local/lib     -lruby-static -lbool  -lpthread -ldl -lobjc "
conftest.c: In function 't':
conftest.c:5:53: error: 'parse_bool_ast' undeclared (first use in this function)
conftest.c:5:53: note: each undeclared identifier is reported only once for each function it appears in
conftest.c:5:28: warning: variable 'p' set but not used [-Wunused-but-set-variable]
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: /*top*/
4: int main() {return 0;}
5: int t() { void ((*volatile p)()); p = (void ((*)()))parse_bool_ast; return 0; }
/* end */

Which indicates having issues with libbool.a

How you run this locally?

from bool.

aslakhellesoy avatar aslakhellesoy commented on August 16, 2024

Luis - thanks a bunch! Everything builds fine on my box now (OS X 10.7.5). Not sure why it doesn't build on yours. From my ruby/tmp/x86-mingw32/bool_ext/1.9.3/mkmf.log:

find_header: checking for bool_ast.h... -------------------- yes

"i686-w64-mingw32-gcc -o conftest -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/i386-mingw32 -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include     -O3 -fno-omit-frame-pointer -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c  -L. -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L.      -lmsvcrt-ruby191  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: int main() {return 0;}
/* end */

"i686-w64-mingw32-gcc -E -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/i386-mingw32 -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include     -O3 -fno-omit-frame-pointer -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: #include <bool_ast.h>
/* end */

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

find_library: checking for parse_bool_ast() in -lbool... -------------------- yes

"i686-w64-mingw32-gcc -o conftest -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/i386-mingw32 -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include     -O3 -fno-omit-frame-pointer -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c  -L. -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L.      -lmsvcrt-ruby191 -lbool  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
conftest.c: In function ‘t’:
conftest.c:8:53: error: ‘parse_bool_ast’ undeclared (first use in this function)
conftest.c:8:53: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: 
6: /*top*/
7: int main() {return 0;}
8: int t() { void ((*volatile p)()); p = (void ((*)()))parse_bool_ast; return 0; }
/* end */

"i686-w64-mingw32-gcc -o conftest -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/i386-mingw32 -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include     -O3 -fno-omit-frame-pointer -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c  -L. -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L.      -lmsvcrt-ruby191 -lbool  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
conftest.c: In function ‘t’:
conftest.c:8:1: warning: implicit declaration of function ‘parse_bool_ast’
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: 
6: /*top*/
7: int main() {return 0;}
8: int t() { parse_bool_ast(); return 0; }
/* end */

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

And my ruby/tmp/x86_64-darwin11.3.0/bool_ext/1.9.3/mkmf.log

find_header: checking for bool_ast.h... -------------------- yes

"clang -o conftest -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include -I/Users/ahellesoy/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -g3 -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration  -fno-common -pipe conftest.c  -L. -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/.rvm/usr/lib -L.      -lruby.1.9.1  -lpthread -ldl -lobjc "
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */

"clang -E -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include -I/Users/ahellesoy/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -g3 -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration  -fno-common -pipe  conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <bool_ast.h>
/* end */

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

find_library: checking for parse_bool_ast() in -lbool... -------------------- yes

"clang -o conftest -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include -I/Users/ahellesoy/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -g3 -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration  -fno-common -pipe conftest.c  -L. -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/.rvm/usr/lib -L.      -lruby.1.9.1 -lbool  -lpthread -ldl -lobjc "
conftest.c:5:53: error: use of undeclared identifier 'parse_bool_ast'
int t() { void ((*volatile p)()); p = (void ((*)()))parse_bool_ast; return 0; }
                                                    ^
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: /*top*/
4: int main() {return 0;}
5: int t() { void ((*volatile p)()); p = (void ((*)()))parse_bool_ast; return 0; }
/* end */

"clang -o conftest -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include -I/Users/ahellesoy/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -g3 -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration  -fno-common -pipe conftest.c  -L. -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/.rvm/usr/lib -L.      -lruby.1.9.1 -lbool  -lpthread -ldl -lobjc "
conftest.c:5:11: warning: implicit declaration of function 'parse_bool_ast' is invalid in C99 [-Wimplicit-function-declaration]
int t() { parse_bool_ast(); return 0; }
          ^
1 warning generated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: /*top*/
4: int main() {return 0;}
5: int t() { parse_bool_ast(); return 0; }
/* end */

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

As you can see my box uses clang and not gcc. Maybe that's why.

from bool.

luislavena avatar luislavena commented on August 16, 2024

Yeah, I use GCC 4.7, and I think doesn't come with fl library.

Ruby and other libraries were compiled with it, so cannot change to clang.

Either way, I think the changes I sent helped, right? Will bool be >= 1.9.3?

Sorry for top posting. Sent from mobile.
On Jan 31, 2013 4:46 PM, "Aslak Hellesøy" [email protected] wrote:

Luis - thanks a bunch! Everything builds fine on my box now (OS X 10.7.5).
Not sure why it doesn't build on yours. From my
ruby/tmp/x86-mingw32/bool_ext/1.9.3/mkmf.log:

find_header: checking for bool_ast.h... -------------------- yes

"i686-w64-mingw32-gcc -o conftest -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/i386-mingw32 -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include -O3 -fno-omit-frame-pointer -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c -L. -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L. -lmsvcrt-ruby191 -lshell32 -lws2_32 -limagehlp -lshlwapi "
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: #include <winsock2.h>
4: #include <windows.h>
5: int main() {return 0;}
/
end */

"i686-w64-mingw32-gcc -E -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/i386-mingw32 -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include -O3 -fno-omit-frame-pointer -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c -o conftest.i"
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: #include <winsock2.h>
4: #include <windows.h>
5: #include <bool_ast.h>
/
end */


find_library: checking for parse_bool_ast() in -lbool... -------------------- yes

"i686-w64-mingw32-gcc -o conftest -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/i386-mingw32 -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include -O3 -fno-omit-frame-pointer -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c -L. -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L. -lmsvcrt-ruby191 -lbool -lshell32 -lws2_32 -limagehlp -lshlwapi "
conftest.c: In function ‘t’:
conftest.c:8:53: error: ‘parse_bool_ast’ undeclared (first use in this function)
conftest.c:8:53: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: #include <winsock2.h>
4: #include <windows.h>
5:
6: /top/
7: int main() {return 0;}
8: int t() { void ((volatile p)()); p = (void (()()))parse_bool_ast; return 0; }
/
end */

"i686-w64-mingw32-gcc -o conftest -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/i386-mingw32 -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/include -O3 -fno-omit-frame-pointer -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c -L. -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rake-compiler/ruby/ruby-1.9.3-p362/lib -L. -lmsvcrt-ruby191 -lbool -lshell32 -lws2_32 -limagehlp -lshlwapi "
conftest.c: In function ‘t’:
conftest.c:8:1: warning: implicit declaration of function ‘parse_bool_ast’
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: #include <winsock2.h>
4: #include <windows.h>
5:
6: /top/
7: int main() {return 0;}
8: int t() { parse_bool_ast(); return 0; }
/
end */


And my ruby/tmp/x86_64-darwin11.3.0/bool_ext/1.9.3/mkmf.log

find_header: checking for bool_ast.h... -------------------- yes

"clang -o conftest -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include -I/Users/ahellesoy/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O3 -g3 -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -fno-common -pipe conftest.c -L. -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/.rvm/usr/lib -L. -lruby.1.9.1 -lpthread -ldl -lobjc "
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: int main() {return 0;}
/
end */

"clang -E -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include -I/Users/ahellesoy/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O3 -g3 -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -fno-common -pipe conftest.c -o conftest.i"
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: #include <bool_ast.h>
/
end */


find_library: checking for parse_bool_ast() in -lbool... -------------------- yes

"clang -o conftest -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include -I/Users/ahellesoy/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O3 -g3 -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -fno-common -pipe conftest.c -L. -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/.rvm/usr/lib -L. -lruby.1.9.1 -lbool -lpthread -ldl -lobjc "
conftest.c:5:53: error: use of undeclared identifier 'parse_bool_ast'
int t() { void ((volatile p)()); p = (void (()()))parse_bool_ast; return 0; }
^
1 error generated.
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: /top/
4: int main() {return 0;}
5: int t() { void ((volatile p)()); p = (void (()()))parse_bool_ast; return 0; }
/
end */

"clang -o conftest -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I../../../../ext/bool_ext -I/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -I/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/include -I/Users/ahellesoy/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O3 -g3 -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -fno-common -pipe conftest.c -L. -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/github/bool/ruby/ext/bool_ext/libbool -L/Users/ahellesoy/.rvm/rubies/ruby-1.9.3-p194/lib -L/Users/ahellesoy/.rvm/usr/lib -L. -lruby.1.9.1 -lbool -lpthread -ldl -lobjc "
conftest.c:5:11: warning: implicit declaration of function 'parse_bool_ast' is invalid in C99 [-Wimplicit-function-declaration]
int t() { parse_bool_ast(); return 0; }
^
1 warning generated.
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: /top/
4: int main() {return 0;}
5: int t() { parse_bool_ast(); return 0; }
/
end */


As you can see my box uses clang and not gcc. Maybe that's why.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-12961815.

from bool.

aslakhellesoy avatar aslakhellesoy commented on August 16, 2024

Yep, I don't plan on supporting older rubies, so I think using clang should be fine.

from bool.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.