rb-libsvm 1.0.6 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -7,3 +7,5 @@ pkg/
7
7
  Gemfile*
8
8
  .rvmrc
9
9
  tags
10
+ *.swp
11
+ *~
data/README.md CHANGED
@@ -17,7 +17,7 @@ independently and from scratch.
17
17
 
18
18
  None. Libsvm is bundled with the project. Just install and go!
19
19
 
20
- Currently using libsvm version 3.1
20
+ Currently using libsvm version 3.12
21
21
 
22
22
  ## Installation
23
23
 
@@ -73,7 +73,3 @@ the license in the file LIBSVM-LICENSE.
73
73
  [http://www.csie.ntu.edu.tw/~cjlin/libsvm/](http://www.csie.ntu.edu.tw/~cjlin/libsvm/)
74
74
 
75
75
  [http://books.google.com/books?id=fEsZ3Ey-Hq4C](http://books.google.com/books?id=fEsZ3Ey-Hq4C)
76
-
77
- [http://rubysvm.cilibrar.com/](http://rubysvm.cilibrar.com/)
78
-
79
-
data/examples/text.rb CHANGED
@@ -11,22 +11,23 @@ require 'libsvm'
11
11
 
12
12
  # Let take our documents and create word vectors out of them.
13
13
  # I've included labels for these already. 1 signifies that
14
- # the document was funny 0 means that it wasn't
14
+ # the document was funny, 0 means that it wasn't.
15
15
  #
16
16
  documents = [[1, "Why did the chicken cross the road? Because a car was coming"],
17
17
  [0, "You're an elevator tech? I bet that job has its ups and downs"]]
18
18
 
19
19
  # Lets create a dictionary of unique words and then we can
20
- # create our vectors. This is a very simple example. If
21
- # you were doing this in a production system you'd do things
22
- # like stemming and removing all punctuation.
20
+ # create our vectors. This is a very simple example. If you
21
+ # were doing this in a production system you'd do things like
22
+ # stemming and removing all punctuation (in a less casual way).
23
23
  #
24
- dictionary = documents.map(&:last).flatten.uniq
24
+ dictionary = documents.map(&:last).map(&:split).flatten.uniq
25
25
  dictionary = dictionary.map { |x| x.gsub(/\?|,|\.|\-/,'') }
26
26
 
27
27
  training_set = []
28
- docments.each do |doc|
29
- training_set << [doc.first, Libsvm::Node.features(dictionary.map { |x| doc.include?(x) ? 1 : 0 })]
28
+ documents.each do |doc|
29
+ features_array = dictionary.map { |x| doc.last.include?(x) ? 1 : 0 }
30
+ training_set << [doc.first, Libsvm::Node.features(features_array)]
30
31
  end
31
32
 
32
33
  # Lets set up libsvm so that we can test our prediction
@@ -39,7 +40,7 @@ parameter.cache_size = 1 # in megabytes
39
40
  parameter.eps = 0.001
40
41
  parameter.c = 10
41
42
 
42
- # train classifier using training set
43
+ # Train classifier using training set
43
44
  #
44
45
  problem.set_examples(training_set.map(&:first), training_set.map(&:last))
45
46
  model = Libsvm::Model.train(problem, parameter)
@@ -47,7 +48,8 @@ model = Libsvm::Model.train(problem, parameter)
47
48
  # Now lets test our classifier using the test set
48
49
  #
49
50
  test_set = [1, "Why did the chicken cross the road? To get the worm"]
50
- test_document = test_set.last.split(' ').map{ |x| x.gsub(/\?|,|\.|\-/,'') }
51
+ test_document = test_set.last.split.map{ |x| x.gsub(/\?|,|\.|\-/,'') }
51
52
 
52
- pred = model.predict(Libsvm::Node.features(dictionary.map{|x| test_document.include?(x) }))
53
- puts "Predicted #{pred}"
53
+ doc_features = dictionary.map{|x| test_document.include?(x) ? 1 : 0 }
54
+ pred = model.predict(Libsvm::Node.features(doc_features))
55
+ puts "Predicted #{pred==1 ? 'funny' : 'not funny'}"
@@ -3,44 +3,9 @@ require 'mkmf'
3
3
  # $CFLAGS << " -save-temps -ggdb3 "
4
4
  $LDFLAGS << " -lstdc++ "
5
5
 
6
- # find_header('ruby.h')
7
- # find_library('svm', 'svm_train', '/opt/local/lib/', '/usr/lib/') || raise("svm library not found.")
8
- # find_header('svm.h', "/opt/local/include/", "/usr/include/libsvm-2.0/libsvm/")
9
- # create_makefile('libsvm_ext')
10
-
11
- LIBDIR = Config::CONFIG['libdir']
12
- INCLUDEDIR = Config::CONFIG['includedir']
13
-
14
- HEADER_DIRS = [
15
- # First search /opt/local for macports
16
- '/opt/local/include',
17
-
18
- # Then search /usr/local for people that installed from source
19
- '/usr/local/include',
20
-
21
- # Check the ruby install locations
22
- INCLUDEDIR,
23
-
24
- # Finally fall back to /usr
25
- '/usr/include',
26
- ]
27
-
28
- LIB_DIRS = [
29
- # First search /opt/local for macports
30
- '/opt/local/lib',
31
-
32
- # Then search /usr/local for people that installed from source
33
- '/usr/local/lib',
34
-
35
- # Check the ruby install locations
36
- LIBDIR,
37
-
38
- # Finally fall back to /usr
39
- '/usr/lib',
40
- ]
6
+ HEADER_DIRS = []
7
+ LIB_DIRS = []
41
8
 
42
9
  dir_config('rb-libsvm',HEADER_DIRS,LIB_DIRS)
43
10
 
44
- # Don't think I need to search the dirs for the header file
45
-
46
11
  create_makefile('rb-libsvm/libsvm')
@@ -1,3 +1,3 @@
1
1
  module Libsvm
2
- VERSION = "1.0.6"
2
+ VERSION = "1.0.7"
3
3
  end
data/rb-libsvm.gemspec CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
6
6
  s.name = "rb-libsvm"
7
7
  s.version = Libsvm::VERSION
8
8
  s.authors = ["C. Florian Ebeling", "Rimas Silkaitis"]
9
- s.email = ["neovintage@gmail.com"]
9
+ s.email = ["florian.ebeling@gmail.com", "neovintage@gmail.com"]
10
10
  s.homepage = "https://github.com/febeling/rb-libsvm"
11
11
  s.summary = %q{Ruby language bindings for LIBSVM}
12
12
  s.description = %q{libsvm and ruby without using swig}
@@ -18,7 +18,6 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
-
22
21
  # specify any dependencies here; for example:
23
22
  s.add_development_dependency('rake-compiler')
24
23
  s.add_development_dependency('rspec', '>= 2.7.0')
data/spec/model_spec.rb CHANGED
@@ -49,7 +49,7 @@ describe "A saved model" do
49
49
  include ModelSpecHelper
50
50
 
51
51
  before(:each) do
52
- @filename = "svm_model.model"
52
+ @filename = "tmp/svm_model.model"
53
53
  model = Model.train(create_problem, create_parameter)
54
54
  model.save(@filename)
55
55
  end
@@ -71,12 +71,13 @@ describe "An Libsvm model" do
71
71
  @problem = create_problem
72
72
  @parameter = create_parameter
73
73
  @model = Model.train(@problem, @parameter)
74
+ @file_path = "tmp/svm_model.model"
75
+ File.delete(@file_path) if File.exists?(@file_path)
74
76
  end
75
77
 
76
78
  it "can be saved to a file" do
77
- file_path = "svm_model.model"
78
- @model.save(file_path)
79
- File.exist?(file_path).should be_true
79
+ @model.save(@file_path)
80
+ File.exist?(@file_path).should be_true
80
81
  end
81
82
 
82
83
  it "can be asked for it's svm_type" do
@@ -92,4 +93,3 @@ describe "An Libsvm model" do
92
93
  prediction.should_not be_nil
93
94
  end
94
95
  end
95
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rb-libsvm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-05-11 00:00:00.000000000Z
13
+ date: 2012-05-12 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake-compiler
17
- requirement: &70287710299640 !ruby/object:Gem::Requirement
17
+ requirement: &70308564367400 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *70287710299640
25
+ version_requirements: *70308564367400
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &70287710298620 !ruby/object:Gem::Requirement
28
+ requirement: &70308564365620 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,9 +33,10 @@ dependencies:
33
33
  version: 2.7.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *70287710298620
36
+ version_requirements: *70308564365620
37
37
  description: libsvm and ruby without using swig
38
38
  email:
39
+ - florian.ebeling@gmail.com
39
40
  - neovintage@gmail.com
40
41
  executables: []
41
42
  extensions:
@@ -57,12 +58,10 @@ files:
57
58
  - ext/rb-libsvm/ruby-ext.h
58
59
  - ext/rb-libsvm/svm.cpp
59
60
  - ext/rb-libsvm/svm.h
60
- - ferret_valgrind.supp
61
61
  - lib/libsvm.rb
62
62
  - lib/libsvm/node.rb
63
63
  - lib/rb-libsvm/version.rb
64
64
  - rb-libsvm.gemspec
65
- - spec/.usage_spec.rb.swp
66
65
  - spec/model_spec.rb
67
66
  - spec/node_spec.rb
68
67
  - spec/parameter_spec.rb
@@ -83,7 +82,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
83
82
  version: '0'
84
83
  segments:
85
84
  - 0
86
- hash: 932394419047004720
85
+ hash: -321019146793040831
87
86
  required_rubygems_version: !ruby/object:Gem::Requirement
88
87
  none: false
89
88
  requirements:
@@ -92,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
91
  version: '0'
93
92
  segments:
94
93
  - 0
95
- hash: 932394419047004720
94
+ hash: -321019146793040831
96
95
  requirements: []
97
96
  rubyforge_project: rb-libsvm
98
97
  rubygems_version: 1.8.10
data/ferret_valgrind.supp DELETED
@@ -1,478 +0,0 @@
1
- {
2
- Ruby::mark_locations_array
3
- Memcheck:Cond
4
- fun:mark_locations_array
5
- }
6
- {
7
- Ruby::str_make_independent.leak
8
- Memcheck:Leak
9
- fun:malloc
10
- fun:ruby_xmalloc
11
- fun:str_make_independent
12
- }
13
- {
14
- Ruby::gc_mark_children.st_lookup.value4
15
- Memcheck:Value4
16
- fun:st_lookup
17
- fun:rb_mark_generic_ivar
18
- fun:gc_mark_children
19
- }
20
- {
21
- Ruby::env_aset.leak1
22
- Memcheck:Leak
23
- fun:realloc
24
- fun:ruby_xrealloc
25
- fun:ruby_setenv
26
- fun:env_aset
27
- }
28
- {
29
- Ruby::env_aset.leak2
30
- Memcheck:Leak
31
- fun:malloc
32
- fun:ruby_xmalloc
33
- fun:ruby_strdup
34
- fun:ruby_setenv
35
- fun:env_aset
36
- }
37
- {
38
- Ruby::str_new.leak
39
- Memcheck:Leak
40
- fun:malloc
41
- fun:ruby_xmalloc
42
- fun:str_new
43
- }
44
- {
45
- Ruby::gc_mark_children.st_lookup.cond
46
- Memcheck:Cond
47
- fun:st_lookup
48
- fun:rb_mark_generic_ivar
49
- fun:gc_mark_children
50
- }
51
- {
52
- Ruby::gc_mark.cond
53
- Memcheck:Cond
54
- fun:gc_mark
55
- }
56
- {
57
- Ruby::gc_mark.value4
58
- Memcheck:Value4
59
- fun:gc_mark
60
- }
61
- {
62
- Ruby::gc_mark.addr4
63
- Memcheck:Addr4
64
- fun:gc_mark
65
- }
66
- {
67
- Ruby::gc_mark_children.addr1
68
- Memcheck:Addr1
69
- fun:gc_mark_children
70
- }
71
- {
72
- Ruby::gc_mark_children.addr4
73
- Memcheck:Addr4
74
- fun:gc_mark_children
75
- }
76
- {
77
- Ruby::gc_mark_children.cond
78
- Memcheck:Cond
79
- fun:gc_mark_children
80
- }
81
- {
82
- Ruby::gc_mark_children.value4
83
- Memcheck:Value4
84
- fun:gc_mark_children
85
- }
86
- {
87
- Ruby::scope_dup.leak
88
- Memcheck:Leak
89
- fun:malloc
90
- fun:ruby_xmalloc
91
- fun:scope_dup
92
- }
93
- {
94
- Ruby::pthread.leak
95
- Memcheck:Leak
96
- fun:malloc
97
- fun:rwlock_have_already
98
- fun:pthread_rwlock_rdlock
99
- }
100
- {
101
- Ruby::str_format.leak
102
- Memcheck:Leak
103
- fun:realloc
104
- fun:ruby_xrealloc
105
- fun:rb_str_resize
106
- fun:rb_f_sprintf
107
- fun:rb_str_format
108
- fun:call_cfunc
109
- fun:rb_call0
110
- fun:rb_call
111
- fun:rb_eval
112
- fun:rb_call0
113
- fun:rb_call
114
- fun:rb_eval
115
- }
116
- {
117
- Ruby::HashCreate.leak
118
- Memcheck:Leak
119
- fun:calloc
120
- fun:st_init_table_with_size
121
- fun:st_init_table
122
- fun:st_init_numtable
123
- fun:rb_ivar_set
124
- fun:rb_eval
125
- fun:rb_call0
126
- fun:rb_call
127
- fun:rb_obj_call_init
128
- fun:rb_class_new_instance
129
- fun:call_cfunc
130
- fun:rb_call0
131
- }
132
- {
133
- Ruby::re_compile.leak2
134
- Memcheck:Leak
135
- fun:malloc
136
- fun:ruby_xmalloc
137
- fun:ruby_re_compile_pattern
138
- }
139
- {
140
- Ruby::rb_intern.leak
141
- Memcheck:Leak
142
- fun:malloc
143
- fun:st_add_direct
144
- fun:rb_intern
145
- fun:rb_str_intern
146
- fun:call_cfunc
147
- fun:rb_call0
148
- fun:rb_call
149
- fun:rb_eval
150
- fun:rb_eval
151
- fun:rb_yield_0
152
- fun:rb_yield
153
- fun:int_dotimes
154
- }
155
- {
156
- Ruby::copy_node_scope.leak
157
- Memcheck:Leak
158
- fun:malloc
159
- fun:ruby_xmalloc
160
- fun:copy_node_scope
161
- fun:rb_eval
162
- }
163
- {
164
- Ruby::eval_str_append.leak
165
- Memcheck:Leak
166
- fun:realloc
167
- fun:ruby_xrealloc
168
- fun:rb_str_buf_append
169
- }
170
- {
171
- Ruby::ary_new.leak
172
- Memcheck:Leak
173
- fun:malloc
174
- fun:ruby_xmalloc
175
- fun:ary_new
176
- }
177
- {
178
- Ruby::ary_store.leak
179
- Memcheck:Leak
180
- fun:realloc
181
- fun:ruby_xrealloc
182
- fun:rb_ary_store
183
- }
184
- {
185
- Ruby::h_new_str.leak
186
- Memcheck:Leak
187
- fun:malloc
188
- fun:ruby_xmalloc
189
- fun:h_new_str
190
- }
191
- {
192
- Ruby::ary_new.leak
193
- Memcheck:Leak
194
- fun:malloc
195
- fun:ruby_xmalloc
196
- fun:ary_new
197
- fun:rb_ary_new
198
- }
199
- {
200
- Ruby::hash_new.leak
201
- Memcheck:Leak
202
- fun:calloc
203
- fun:st_init_table_with_size
204
- fun:st_init_table
205
- }
206
- {
207
- GLIBC.cond
208
- Memcheck:Cond
209
- obj:/lib/ld-2.3.6.so
210
- }
211
- {
212
- GLIBC.value4
213
- Memcheck:Value4
214
- obj:/lib/ld-2.3.6.so
215
- }
216
- {
217
- GLIBC.addr4
218
- Memcheck:Addr4
219
- obj:/lib/ld-2.3.6.so
220
- }
221
- {
222
- thread_clone
223
- Memcheck:Param
224
- clone(child_tidptr)
225
- fun:clone
226
- fun:clone
227
- }
228
- {
229
- GLIBC_2::dl_load
230
- Memcheck:Leak
231
- fun:malloc
232
- obj:/lib/ld-2.3.6.so
233
- obj:/lib/ld-2.3.6.so
234
- obj:/lib/ld-2.3.6.so
235
- fun:dl_open_worker
236
- obj:/lib/ld-2.3.6.so
237
- fun:_dl_open
238
- fun:dlopen_doit
239
- obj:/lib/ld-2.3.6.so
240
- fun:_dlerror_run
241
- fun:dlopen@@GLIBC_2.1
242
- fun:dln_load
243
- }
244
- {
245
- Ruby::rb_load
246
- Memcheck:Leak
247
- fun:calloc
248
- fun:_dlerror_run
249
- fun:dlopen@@GLIBC_2.1
250
- fun:dln_load
251
- fun:rb_require_safe
252
- fun:rb_f_require
253
- fun:call_cfunc
254
- fun:rb_call0
255
- fun:rb_call
256
- fun:rb_eval
257
- fun:rb_eval
258
- fun:rb_load
259
- }
260
- {
261
- Ruby::rb_f_require
262
- Memcheck:Leak
263
- fun:malloc
264
- fun:add_to_global
265
- fun:dl_open_worker
266
- obj:/lib/ld-2.3.6.so
267
- fun:_dl_open
268
- fun:dlopen_doit
269
- obj:/lib/ld-2.3.6.so
270
- fun:_dlerror_run
271
- fun:dlopen@@GLIBC_2.1
272
- fun:dln_load
273
- fun:rb_require_safe
274
- fun:rb_f_require
275
- }
276
- {
277
- Ruby::add_heap
278
- Memcheck:Leak
279
- fun:malloc
280
- fun:add_heap
281
- fun:ruby_init
282
- fun:main
283
- }
284
- {
285
- Ruby::rb_require_safe
286
- Memcheck:Leak
287
- fun:malloc
288
- obj:/lib/ld-2.3.6.so
289
- obj:/lib/ld-2.3.6.so
290
- fun:dl_open_worker
291
- obj:/lib/ld-2.3.6.so
292
- fun:_dl_open
293
- fun:dlopen_doit
294
- obj:/lib/ld-2.3.6.so
295
- fun:_dlerror_run
296
- fun:dlopen@@GLIBC_2.1
297
- fun:dln_load
298
- fun:rb_require_safe
299
- }
300
- {
301
- PThread::rb_require_safe
302
- Memcheck:Leak
303
- fun:calloc
304
- fun:pthread_setspecific
305
- fun:_dlerror_run
306
- fun:dlopen@@GLIBC_2.1
307
- fun:dln_load
308
- fun:rb_require_safe
309
- fun:rb_f_require
310
- fun:call_cfunc
311
- fun:rb_call0
312
- fun:rb_call
313
- fun:rb_eval
314
- fun:rb_eval
315
- }
316
- {
317
- Ruby::rb_f_require
318
- Memcheck:Leak
319
- fun:malloc
320
- obj:/lib/ld-2.3.6.so
321
- fun:dl_open_worker
322
- obj:/lib/ld-2.3.6.so
323
- fun:_dl_open
324
- fun:dlopen_doit
325
- obj:/lib/ld-2.3.6.so
326
- fun:_dlerror_run
327
- fun:dlopen@@GLIBC_2.1
328
- fun:dln_load
329
- fun:rb_require_safe
330
- fun:rb_f_require
331
- }
332
- {
333
- GLIBC_2::dl_open_worker
334
- Memcheck:Leak
335
- fun:malloc
336
- fun:realloc
337
- obj:/lib/ld-2.3.6.so
338
- obj:/lib/ld-2.3.6.so
339
- obj:/lib/ld-2.3.6.so
340
- fun:dl_open_worker
341
- obj:/lib/ld-2.3.6.so
342
- fun:_dl_open
343
- fun:dlopen_doit
344
- obj:/lib/ld-2.3.6.so
345
- fun:_dlerror_run
346
- fun:dlopen@@GLIBC_2.1
347
- }
348
- {
349
- Leak6
350
- Memcheck:Leak
351
- fun:calloc
352
- obj:/lib/ld-2.3.6.so
353
- fun:dl_open_worker
354
- obj:/lib/ld-2.3.6.so
355
- fun:_dl_open
356
- fun:dlopen_doit
357
- obj:/lib/ld-2.3.6.so
358
- fun:_dlerror_run
359
- fun:dlopen@@GLIBC_2.1
360
- fun:dln_load
361
- fun:rb_require_safe
362
- fun:rb_f_require
363
- }
364
- {
365
- Leak7
366
- Memcheck:Leak
367
- fun:calloc
368
- obj:/lib/ld-2.3.6.so
369
- obj:/lib/ld-2.3.6.so
370
- obj:/lib/ld-2.3.6.so
371
- fun:dl_open_worker
372
- obj:/lib/ld-2.3.6.so
373
- fun:_dl_open
374
- fun:dlopen_doit
375
- obj:/lib/ld-2.3.6.so
376
- fun:_dlerror_run
377
- fun:dlopen@@GLIBC_2.1
378
- fun:dln_load
379
- }
380
- {
381
- Leak8
382
- Memcheck:Leak
383
- fun:calloc
384
- fun:rehash
385
- fun:st_insert
386
- }
387
- {
388
- Leak9
389
- Memcheck:Leak
390
- fun:malloc
391
- fun:st_init_table_with_size
392
- fun:st_init_strtable_with_size
393
- fun:Init_sym
394
- fun:rb_call_inits
395
- fun:ruby_init
396
- fun:main
397
- }
398
- {
399
- Leak10
400
- Memcheck:Leak
401
- fun:realloc
402
- fun:ruby_xrealloc
403
- fun:rb_str_buf_cat
404
- fun:rb_str_cat
405
- fun:rb_str_cat2
406
- fun:rb_set_class_path
407
- fun:rb_define_class_under
408
- fun:Init_Exception
409
- fun:rb_call_inits
410
- fun:ruby_init
411
- fun:main
412
- }
413
- {
414
- Leak11
415
- Memcheck:Leak
416
- fun:malloc
417
- fun:st_add_direct
418
- fun:rb_intern
419
- }
420
- {
421
- Leak12
422
- Memcheck:Leak
423
- fun:malloc
424
- fun:st_insert
425
- }
426
- {
427
- Leak13
428
- Memcheck:Leak
429
- fun:calloc
430
- fun:st_init_table_with_size
431
- fun:st_init_table
432
- fun:st_init_numtable
433
- fun:Init_var_tables
434
- fun:rb_call_inits
435
- fun:ruby_init
436
- fun:main
437
- }
438
- {
439
- Leak14
440
- Memcheck:Leak
441
- fun:malloc
442
- fun:ruby_xmalloc
443
- fun:ruby_strdup
444
- fun:rb_intern
445
- }
446
- {
447
- Leak15
448
- Memcheck:Leak
449
- fun:calloc
450
- fun:_dlerror_run
451
- fun:dlopen@@GLIBC_2.1
452
- fun:dln_load
453
- fun:rb_require_safe
454
- fun:rb_f_require
455
- fun:call_cfunc
456
- fun:rb_call0
457
- fun:rb_call
458
- fun:rb_eval
459
- fun:rb_load
460
- fun:rb_require_safe
461
- }
462
- {
463
- Leak16
464
- Memcheck:Leak
465
- fun:calloc
466
- fun:pthread_setspecific
467
- fun:_dlerror_run
468
- fun:dlopen@@GLIBC_2.1
469
- fun:dln_load
470
- fun:rb_require_safe
471
- fun:rb_f_require
472
- fun:call_cfunc
473
- fun:rb_call0
474
- fun:rb_call
475
- fun:rb_eval
476
- fun:rb_load
477
- }
478
-
Binary file