Amalgalite with MacRuby uses system different version. #17

Closed
tpitale opened this Issue Jul 15, 2011 · 12 comments

Projects

None yet

4 participants

@tpitale

Support of macruby may or may not be a priority for the project, but I thought reporting this may be of use.

require 'rubygems'
require 'amalgalite'

puts "using SQLite v#{Amalgalite::SQLite3::Version}"


I put that in amalgalite_test.rb and ran it with macruby on git master.

macruby amalgalite_test.rb

And I get:

"You are seeing something odd. The compiled version of SQLite that
is embedded in this extension is for some reason, not being used.
The version in the extension is 3.7.5 and the version that
as been loaded as a shared library is 3.6.12. These versions
should be the same, but they are not. …"

Let me know if I can provide any more information.

@copiousfreetime

I'll attempt to duplicate, and I'm pretty sure I know what is going on. MacRuby probably link against CoreServices which has version 3.6.12 of sqlite in it to support CoreData. Amalgalite ships with an embedded version sqlite. When amalgalite invokes 'sqlite3_libversion_number()' the OS linker resolves that function call into the CoreServices embedded sqlite library and not the amalgalite embedded library.

A similar affect can happen with nokogiri and libxml2.

It boils down to how MacRuby itself is built. I believe it is a -flat_namespace vs. -two_levelnamespace issue. @mattetti or @lrz would be able to answer that. I'll attempt to a build of macruby this weekend and duplicate this to see if I can get it to resolve in a different manner.

Thanks for finding this, I appreciate it.

@tpitale

Of course. Thanks!

@copiousfreetime

Yup, this is definitely an issue with how macruby is compiled. I'll see if I can raise an issue with them. I'm not sure what hte best way to resolve this will be.

@tpitale

Awesome, thanks for looking into this. I might open a ticket in the macruby tracker and point to this conversation.

@copiousfreetime

I sent an email to macruby-devel, lets see if anyone there has any thoughts.

@suhastech

@copiousfreetime Sorry to bump up an old issue, but this might be the problem?

This is a dump while installing amalgalite on MacRuby

GET http://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
304 Not Modified
GET http://rubygems.org/specs.4.8.gz
302 Moved Temporarily
GET http://production.s3.rubygems.org/specs.4.8.gz
304 Not Modified
Installing gem amalgalite-1.1.2
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/bin/amalgalite-pack
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/amalgalite3.c
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/amalgalite3_blob.c
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/amalgalite3_constants.c
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/amalgalite3_database.c
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/amalgalite3_requires_bootstrap.c
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/amalgalite3_statement.c
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/sqlite3.c
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/amalgalite3.h
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/sqlite3.h
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/sqlite3_options.h
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/sqlite3ext.h
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/extconf.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/ext/amalgalite/gen_constants.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/a.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/blob.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/bootstrap.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/define_aggregate.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/define_function.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/fts3.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/gem-db.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/require_me.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/requires.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/examples/schema-info.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/aggregate.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/blob.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/boolean.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/busy_timeout.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/column.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/core_ext/kernel/require.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/csv_table_importer.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/database.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/function.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/index.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/memory_database.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/packer.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/paths.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/profile_tap.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/progress_handler.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/requires.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/schema.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/sqlite3/constants.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/sqlite3/database/function.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/sqlite3/database/status.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/sqlite3/status.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/sqlite3/version.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/sqlite3.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/statement.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/table.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/taps/console.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/taps/io.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/taps.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/trace_tap.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/type_map.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/type_maps/default_map.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/type_maps/storage_map.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/type_maps/text_map.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/version.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/view.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/aggregate_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/amalgalite_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/blob_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/boolean_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/busy_handler.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/database_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/default_map_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/function_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/integeration_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/iso_3166_database.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/packer_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/paths_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/progress_handler_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/requires_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/rtree_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/schema_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/spec_helper.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/sqlite3/constants_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/sqlite3/database_status_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/sqlite3/status_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/sqlite3/version_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/sqlite3_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/statement_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/storage_map_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/tap_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/text_map_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/type_map_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/version_spec.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/data/iso-3166-schema.sql
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/data/iso-3166-country.txt
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/data/iso-3166-subcountry.txt
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/spec/data/make-iso-db.sh
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/README.rdoc
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/HISTORY.rdoc
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/LICENSE
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/tasks/announce.rake
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/tasks/distribution.rake
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/tasks/documentation.rake
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/tasks/extension.rake
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/tasks/rspec.rake
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/tasks/config.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/tasks/utils.rb
/Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/gemspec.rb
Building native extensions.  This could take a while...
/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/bin/macruby extconf.rb
creating Makefile

make
/usr/bin/gcc-4.2 -I. -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0 -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2 -I.  -fno-common -arch x86_64 -fexceptions -fno-common -pipe -O3  -Wall -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_THREADSAFE=0 -arch x86_64 -o amalgalite3.o -c amalgalite3.c
/usr/bin/gcc-4.2 -I. -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0 -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2 -I.  -fno-common -arch x86_64 -fexceptions -fno-common -pipe -O3  -Wall -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_THREADSAFE=0 -arch x86_64 -o amalgalite3_blob.o -c amalgalite3_blob.c
/usr/bin/gcc-4.2 -I. -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0 -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2 -I.  -fno-common -arch x86_64 -fexceptions -fno-common -pipe -O3  -Wall -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_THREADSAFE=0 -arch x86_64 -o amalgalite3_constants.o -c amalgalite3_constants.c
/usr/bin/gcc-4.2 -I. -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0 -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2 -I.  -fno-common -arch x86_64 -fexceptions -fno-common -pipe -O3  -Wall -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_THREADSAFE=0 -arch x86_64 -o amalgalite3_database.o -c amalgalite3_database.c
amalgalite3_database.c: In function ‘am_sqlite3_database_define_function’:
amalgalite3_database.c:674: warning: initialization discards qualifiers from pointer target type
amalgalite3_database.c: In function ‘am_sqlite3_database_remove_function’:
amalgalite3_database.c:715: warning: initialization discards qualifiers from pointer target type
amalgalite3_database.c: In function ‘am_sqlite3_database_define_aggregate’:
amalgalite3_database.c:864: warning: initialization discards qualifiers from pointer target type
amalgalite3_database.c: In function ‘am_sqlite3_database_remove_aggregate’:
amalgalite3_database.c:906: warning: initialization discards qualifiers from pointer target type
/usr/bin/gcc-4.2 -I. -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0 -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2 -I.  -fno-common -arch x86_64 -fexceptions -fno-common -pipe -O3  -Wall -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_THREADSAFE=0 -arch x86_64 -o amalgalite3_requires_bootstrap.o -c amalgalite3_requires_bootstrap.c
/usr/bin/gcc-4.2 -I. -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0 -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2 -I.  -fno-common -arch x86_64 -fexceptions -fno-common -pipe -O3  -Wall -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_THREADSAFE=0 -arch x86_64 -o amalgalite3_statement.o -c amalgalite3_statement.c
/usr/bin/gcc-4.2 -I. -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0 -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2 -I.  -fno-common -arch x86_64 -fexceptions -fno-common -pipe -O3  -Wall -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_THREADSAFE=0 -arch x86_64 -o sqlite3.o -c sqlite3.c
sqlite3.c: In function ‘porter_stemmer’:
sqlite3.c:113808: warning: value computed is not used
sqlite3.c:113812: warning: value computed is not used
sqlite3.c:113825: warning: value computed is not used
sqlite3.c:113830: warning: value computed is not used
sqlite3.c:113836: warning: value computed is not used
sqlite3.c:113841: warning: value computed is not used
sqlite3.c:113850: warning: value computed is not used
sqlite3.c:113857: warning: value computed is not used
sqlite3.c:113900: warning: value computed is not used
sqlite3.c:113920: warning: value computed is not used
sqlite3.c: In function ‘afpLock’:
sqlite3.c:25394: warning: ‘lrc1Errno’ may be used uninitialized in this function
sqlite3.c: In function ‘proxyConchLock’:
sqlite3.c:28587: warning: ‘conchModTime.tv_sec’ may be used uninitialized in this function
sqlite3.c:28587: warning: ‘conchModTime.tv_nsec’ may be used uninitialized in this function
sqlite3.c: In function ‘sqlite3Fts3InitTokenizer’:
sqlite3.c:114204: warning: ‘n’ may be used uninitialized in this function
sqlite3.c: In function ‘removeNode’:
sqlite3.c:121667: warning: ‘pParent’ is used uninitialized in this function
sqlite3.c: In function ‘ChooseLeaf’:
sqlite3.c:120883: warning: ‘fMinArea’ may be used uninitialized in this function
sqlite3.c:120882: warning: ‘fMinGrowth’ may be used uninitialized in this function
sqlite3.c:120880: warning: ‘iBest’ may be used uninitialized in this function
sqlite3.c: In function ‘fts3InitVtab’:
sqlite3.c:109383: warning: ‘n’ may be used uninitialized in this function
sqlite3.c: In function ‘SplitNode’:
sqlite3.c:121340: warning: ‘iBestLeft’ may be used uninitialized in this function
sqlite3.c:121340: note: ‘iBestLeft’ was declared here
sqlite3.c:121339: warning: ‘fBestArea’ may be used uninitialized in this function
sqlite3.c:121339: note: ‘fBestArea’ was declared here
sqlite3.c:121338: warning: ‘fBestOverlap’ may be used uninitialized in this function
sqlite3.c:121338: note: ‘fBestOverlap’ was declared here
sqlite3.c:121316: warning: ‘fBestMargin’ may be used uninitialized in this function
sqlite3.c:121316: note: ‘fBestMargin’ was declared here
sqlite3.c:121315: warning: ‘iBestSplit’ may be used uninitialized in this function
sqlite3.c:121315: note: ‘iBestSplit’ was declared here
sqlite3.c:121314: warning: ‘iBestDim’ may be used uninitialized in this function
sqlite3.c:121314: note: ‘iBestDim’ was declared here
sqlite3.c: In function ‘rtreeInit’:
sqlite3.c:122266: warning: ‘iPageSize’ may be used uninitialized in this function
sqlite3.c:122266: note: ‘iPageSize’ was declared here
/usr/bin/gcc-4.2 -dynamic -bundle -undefined suppress -flat_namespace -arch x86_64 -o amalgalite3.bundle amalgalite3.o amalgalite3_blob.o amalgalite3_constants.o amalgalite3_database.o amalgalite3_requires_bootstrap.o amalgalite3_statement.o sqlite3.o -L. -L/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib -arch x86_64   -lmacruby   

make install
mkdir -p /Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/1.9
/usr/bin/install -c -m 0755 amalgalite3.bundle /Library/Ruby/Gems/MacRuby/0.12/gems/amalgalite-1.1.2/lib/amalgalite/1.9
/usr/local/bin/amalgalite-pack
Successfully installed amalgalite-1.1.2
1 gem installed
@copiousfreetime

Do you see the You are seeing something odd.... blurb when you load amalgalite ?

@copiousfreetime

Its not any of the warnings, its the line:

/usr/bin/gcc-4.2 -dynamic -bundle -undefined suppress -flat_namespace -arch x86_64 -o amalgalite3.bundle amalgalite3.o amalgalite3_blob.o amalgalite3_constants.o amalgalite3_database.o amalgalite3_requires_bootstrap.o amalgalite3_statement.o sqlite3.o -L. -L/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib -arch x86_64 -lmacruby

which is generated by the gcc options for macruby. I believe that if macruby itself was built with -two_level_namespace then this would be resolved normally.

As it stands, I may have to do a prefix for all of sqlite's internal functions in order to resolve this.

@jballanc

Just to give the MacRuby perspective on this, we're likely going to be targeting a 1.0 release "real soon now". As such, large-scale changes such as recompiling with a two-level namespace will likely have to be shelved until after the 1.0 release (though we can certainly start working on a branch before then).

That said, please do file a bug against the project so that we don't forget. We've just recently switched to using Github Issues, so it's even easier to do that now. :-)

@jballanc

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment