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

install taglib-ruby 0.6.0 on windows with ruby 2.0.0p247 (binary gem) #36

Closed
romusD opened this issue Aug 15, 2013 · 9 comments
Closed

Comments

@romusD
Copy link

romusD commented Aug 15, 2013

D:>gem install taglib-ruby
Fetching: taglib-ruby-0.6.0-x86-mingw32.gem (100%)
Successfully installed taglib-ruby-0.6.0-x86-mingw32
Parsing documentation for taglib-ruby-0.6.0-x86-mingw32
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/libtag.dll, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/taglib_base.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/taglib_flac.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/taglib_id3v1.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/taglib_id3v2.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/taglib_mp4.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/taglib_mpeg.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/taglib_ogg.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/taglib_vorbis.so, skipping
Installing ri documentation for taglib-ruby-0.6.0-x86-mingw32
1 gem installed

D:>irb
DL is deprecated, please use Fiddle
irb(main):001:0> require 'taglib'
LoadError: 126: The specified module could not be found. - D:/xampplite/Ruby200/lib/ruby/gems/2.0.0/gems/taglib-ruby-0.6.0-x86-mingw32/lib/taglib_base.so
from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require' from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:inrequire'
from D:/xampplite/Ruby200/lib/ruby/gems/2.0.0/gems/taglib-ruby-0.6.0-x86-mingw32/lib/taglib/base.rb:1:in <top (required)>' from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:inrequire'
from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require' from D:/xampplite/Ruby200/lib/ruby/gems/2.0.0/gems/taglib-ruby-0.6.0-x86-mingw32/lib/taglib.rb:9:in<top (required)>'
from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:in require' from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:inrescue in require'
from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:35:in require' from (irb):1 from D:/xampplite/Ruby200/bin/irb:12:in

'

@robinst
Copy link
Owner

robinst commented Aug 18, 2013

The problem may be that the binary gem (...-x86-mingw32.gem) is compiled for Ruby 1.8 and 1.9, but not 2.0. I'm not sure I want to offer the binary gem anymore, as it's a maintenance burden (I don't use Windows myself).

Could you try installing the non-binary version of the gem?:

gem install taglib-ruby --platform ruby

@romusD
Copy link
Author

romusD commented Aug 18, 2013

I have build the taglib then install the taglib-ruby with folowing command:
D:\DevKit2\taglib-1.8>gem install taglib-ruby --platform=ruby -- --with-tag-include=D:\DevKit2\taglib-1.8 --with-tag-lib=D:\DevKit2\taglib-1.8\taglib
Fetching: taglib-ruby-0.6.0.gem (100%)
Building native extensions with: '--with-tag-include=D:\DevKit2\taglib-1.8 --with-tag-lib=D:\DevKit2\taglib-1.8\taglib'
This could take a while...
Successfully installed taglib-ruby-0.6.0
Parsing documentation for taglib-ruby-0.6.0
Installing ri documentation for taglib-ruby-0.6.0
1 gem installed

Test with irb:
D:\DevKit2\taglib-1.8>irb
DL is deprecated, please use Fiddle
irb(main):001:0> require 'taglib'
LoadError: cannot load such file -- taglib_base
from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require' from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:inrequire'
from D:/xampplite/Ruby200/lib/ruby/gems/2.0.0/gems/taglib-ruby-0.6.0/lib/taglib/base.rb:1:in <top (required)>' from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:inrequire'
from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in require' from D:/xampplite/Ruby200/lib/ruby/gems/2.0.0/gems/taglib-ruby-0.6.0/lib/taglib.rb:9:in<top (required)>'
from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:in require' from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:inrescue in require'
from D:/xampplite/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:35:in require' from (irb):1 from D:/xampplite/Ruby200/bin/irb:12:in

'

@robinst
Copy link
Owner

robinst commented Aug 18, 2013

What files are inside D:/xampplite/Ruby200/lib/ruby/gems/2.0.0/gems/taglib-ruby-0.6.0/lib/?

@romusD
Copy link
Author

romusD commented Aug 18, 2013

taglib.rb
and in taglib folder:
base.rb
flac.rb
id3v1.rb
id3v2.rb
mp4.rb
mpeg.rb
ogg.rb
version.rb
vorbis.rb

@robinst
Copy link
Owner

robinst commented Aug 18, 2013

lib should contain taglib_base.so and the other built extensions. What does D:/xampplite/Ruby200/lib/ruby/gems/2.0.0/gems/taglib-ruby-0.6.0/ext/taglib_base/ contain?

@romusD
Copy link
Author

romusD commented Aug 18, 2013

Makefile
extconf.rb
includes.i
mkmf.log
siteconf20130818-1504-bgh083.rb
taglib_base.i
taglib_base_wrap.cxx

@robinst
Copy link
Owner

robinst commented Aug 19, 2013

Does mkmf.log contain any errors? Is there any .so file somewhere in D:/xampplite/Ruby200/lib/ruby/gems/2.0.0/gems/taglib-ruby-0.6.0?

@romusD
Copy link
Author

romusD commented Aug 19, 2013

mkmf.log has no errors. I found no .so files in taglib-ruby-0.6.0 and subfolders.
the content of mkmf.log from taglib_base is:

have_library: checking for main() in -lstdc++... -------------------- yes

"gcc -o conftest.exe -ID:/xampplite/Ruby200/include/ruby-2.0.0/i386-mingw32 -ID:/xampplite/Ruby200/include/ruby-2.0.0/ruby/backward -ID:/xampplite/Ruby200/include/ruby-2.0.0 -I. -ID:\DevKit2\taglib-1.8 -I/usr/local:/opt/local:/sw/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -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 conftest.c  -L. -LD:/xampplite/Ruby200/lib -LD:\DevKit2\taglib-1.8\taglib -L/usr/local:/opt/local:/sw/lib -L.      -lmsvcrt-ruby200  -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(int argc, char **argv)
6: {
7:   return 0;
8: }
/* end */

"gcc -o conftest.exe -ID:/xampplite/Ruby200/include/ruby-2.0.0/i386-mingw32 -ID:/xampplite/Ruby200/include/ruby-2.0.0/ruby/backward -ID:/xampplite/Ruby200/include/ruby-2.0.0 -I. -ID:\DevKit2\taglib-1.8 -I/usr/local:/opt/local:/sw/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -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 conftest.c  -L. -LD:/xampplite/Ruby200/lib -LD:\DevKit2\taglib-1.8\taglib -L/usr/local:/opt/local:/sw/lib -L.      -lmsvcrt-ruby200 -lstdc++  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
conftest.c: In function 't':
conftest.c:8:57: error: 'main' undeclared (first use in this function)
conftest.c:8:57: note: each undeclared identifier is reported only once for each function it appears in
conftest.c:8: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 t(void) { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
 9: int main(int argc, char **argv)
10: {
11:   if (argc > 1000000) {
12:     printf("%p", &t);
13:   }
14: 
15:   return 0;
16: }
/* end */

"gcc -o conftest.exe -ID:/xampplite/Ruby200/include/ruby-2.0.0/i386-mingw32 -ID:/xampplite/Ruby200/include/ruby-2.0.0/ruby/backward -ID:/xampplite/Ruby200/include/ruby-2.0.0 -I. -ID:\DevKit2\taglib-1.8 -I/usr/local:/opt/local:/sw/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -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 conftest.c  -L. -LD:/xampplite/Ruby200/lib -LD:\DevKit2\taglib-1.8\taglib -L/usr/local:/opt/local:/sw/lib -L.      -lmsvcrt-ruby200 -lstdc++  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
conftest.c: In function 't':
conftest.c:8:1: warning: implicit declaration of function 'main' [-Wimplicit-function-declaration]
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 t(void) { main(); return 0; }
 9: int main(int argc, char **argv)
10: {
11:   if (argc > 1000000) {
12:     printf("%p", &t);
13:   }
14: 
15:   return 0;
16: }
/* end */

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

have_library: checking for main() in -ltag... -------------------- yes

"gcc -o conftest.exe -ID:/xampplite/Ruby200/include/ruby-2.0.0/i386-mingw32 -ID:/xampplite/Ruby200/include/ruby-2.0.0/ruby/backward -ID:/xampplite/Ruby200/include/ruby-2.0.0 -I. -ID:\DevKit2\taglib-1.8 -I/usr/local:/opt/local:/sw/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -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 conftest.c  -L. -LD:/xampplite/Ruby200/lib -LD:\DevKit2\taglib-1.8\taglib -L/usr/local:/opt/local:/sw/lib -L.     -lstdc++  -lmsvcrt-ruby200 -ltag -lstdc++  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
conftest.c: In function 't':
conftest.c:8:57: error: 'main' undeclared (first use in this function)
conftest.c:8:57: note: each undeclared identifier is reported only once for each function it appears in
conftest.c:8: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 t(void) { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
 9: int main(int argc, char **argv)
10: {
11:   if (argc > 1000000) {
12:     printf("%p", &t);
13:   }
14: 
15:   return 0;
16: }
/* end */

"gcc -o conftest.exe -ID:/xampplite/Ruby200/include/ruby-2.0.0/i386-mingw32 -ID:/xampplite/Ruby200/include/ruby-2.0.0/ruby/backward -ID:/xampplite/Ruby200/include/ruby-2.0.0 -I. -ID:\DevKit2\taglib-1.8 -I/usr/local:/opt/local:/sw/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -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 conftest.c  -L. -LD:/xampplite/Ruby200/lib -LD:\DevKit2\taglib-1.8\taglib -L/usr/local:/opt/local:/sw/lib -L.     -lstdc++  -lmsvcrt-ruby200 -ltag -lstdc++  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
conftest.c: In function 't':
conftest.c:8:1: warning: implicit declaration of function 'main' [-Wimplicit-function-declaration]
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 t(void) { main(); return 0; }
 9: int main(int argc, char **argv)
10: {
11:   if (argc > 1000000) {
12:     printf("%p", &t);
13:   }
14: 
15:   return 0;
16: }
/* end */

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

@robinst
Copy link
Owner

robinst commented Jun 13, 2017

Closing as a duplicate of #62 for fixing Windows somehow.

@robinst robinst closed this as completed Jun 13, 2017
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

2 participants