Я считаю, что в conftest отсутствуют правильные флаги, но я не могу понять проблему, глядя на содержимое mkmf.log, которое приведено ниже. Будем признательны за любые идеи!
- Я компилирую для использования на маршрутизаторе OpenWRT (mips)
- Используя ruby 1.9.2 для выполнения этого теста, затем создайте Makefile
- Идентификатор рассматриваемого файла extconf.rb
- Связанный вопрос, поэтому я использую указанный драгоценный камень, а не Рубифордж
have_library: checking for main() in -lidn... -------------------- no
"i486-linux-gnu-gcc -o conftest -I /backfire/staging_dir/host/include/ruby-1.9.1/i486-linux -I /backfire/staging_dir/host/include/ruby-1.9.1/ruby/backward -I /backfire/staging_dir/host/include/ruby-1.9.1 -I. -O2 -I /backfire/staging_dir/host/include -D_FILE_OFFSET_BITS=64 -O2 -I /backfire/staging_dir/host/include -O2 -I /backfire/staging_dir/host/include conftest.c -L. -L /backfire/staging_dir/host/lib -Wl,-R /backfire/staging_dir/host/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-R -Wl, /backfire/staging_dir/host/lib -L /backfire/staging_dir/host/lib -lruby-static -lpthread -lrt -ldl -lcrypt -lm -lc"
checked program was:
/* begin /
1: #include "ruby.h"
2:
3: int main() {return 0;}
/ end */
"i486-linux-gnu-gcc -o conftest -I /backfire/staging_dir/host/include/ruby-1.9.1/i486-linux -I /backfire/staging_dir/host/include/ruby-1.9.1/ruby/backward -I /backfire/staging_dir/host/include/ruby-1.9.1 -I. -O2 -I /backfire/staging_dir/host/include -D_FILE_OFFSET_BITS=64 -O2 -I /backfire/staging_dir/host/include -O2 -I /backfire/staging_dir/host/include conftest.c -L. -L /backfire/staging_dir/host/lib -Wl,-R /backfire/staging_dir/host/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-R -Wl, /backfire/staging_dir/host/lib -L /backfire/staging_dir/host/lib -lruby-static -lidn -lpthread -lrt -ldl -lcrypt -lm -lc"
/usr/bin/ld: skipping incompatible /backfire/staging_dir/host/lib/libidn.so when searching for -lidn
/usr/bin/ld: skipping incompatible /backfire/staging_dir/host/lib/libidn.a when searching for -lidn
/usr/bin/ld: skipping incompatible /backfire/staging_dir/host/lib/libidn.so when searching for -lidn
/usr/bin/ld: skipping incompatible /backfire/staging_dir/host/lib/libidn.a when searching for -lidn
/usr/bin/ld: cannot find -lidn
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /top/
4: int main() {return 0;}
5: int t() { void ((volatile p)()); p = (void (()()))main; return 0; }
/* end */
"i486-linux-gnu-gcc -o conftest -I /backfire/staging_dir/host/include/ruby-1.9.1/i486-linux -I /backfire/staging_dir/host/include/ruby-1.9.1/ruby/backward -I /backfire/staging_dir/host/include/ruby-1.9.1 -I. -O2 -I /backfire/staging_dir/host/include -D_FILE_OFFSET_BITS=64 -O2 -I /backfire/staging_dir/host/include -O2 -I /backfire/staging_dir/host/include conftest.c -L. -L /backfire/staging_dir/host/lib -Wl,-R /backfire/staging_dir/host/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-R -Wl, /backfire/staging_dir/host/lib -L /backfire/staging_dir/host/lib -lruby-static -lidn -lpthread -lrt -ldl -lcrypt -lm -lc"
/usr/bin/ld: skipping incompatible /backfire/staging_dir/host/lib/libidn.so when searching for -lidn
/usr/bin/ld: skipping incompatible /backfire/staging_dir/host/lib/libidn.a when searching for -lidn
/usr/bin/ld: skipping incompatible /backfire/staging_dir/host/lib/libidn.so when searching for -lidn
/usr/bin/ld: skipping incompatible /backfire/staging_dir/host/lib/libidn.a when searching for -lidn
/usr/bin/ld: cannot find -lidn
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /top/
4: int main() {return 0;}
5: int t() { main(); return 0; }
/* end */