On Tue, 13 Jul 2004, Meino Christian Cramer wrote:

> From: Meino Christian Cramer <Meino.Cramer / gmx.de>
> Subject: Re: [ANN] SQLite-Ruby 1.3.0
> Date: Tue, 13 Jul 2004 07:24:33 +0200 (CEST)
>
> Hi Jamis,
>
> an addition:
>
> After activating gcc-3.4.1 be hand, sqlite-ruby 1.3.0 does compile
> and install fine.
>

> So the remaining question is: What source of knowledge does the
> install process of sqlite-ruby use to figure out that there is a
> gcc-3.4.1 "somewhere in the deep of the system" installed and hidden
> from the world (ok,ok, I am definetly /NOT/ Shakespeare ;O))) and to
> choose the OPTIONS for that compiler but then call gcc-3.3.4 -- and
> fail.

run this to see all of ruby's configured values:

   ~ > ruby -r rbconfig -r yaml -e 'y Config::CONFIG'
   ---
   abs_srcdir: "$(ac_abs_srcdir)"
   sitedir: /home/ahoward/lib/ruby/site_ruby
   MAKEFILES: Makefile
   LIBRUBY: libruby-static.a
   PACKAGE_VERSION: ''
   prefix: /home/ahoward
   COMMON_LIBS: ''
   rubylibdir: /home/ahoward/lib/ruby/1.9
   target: i686-pc-linux
   <snip>


note that the compiler is noted:

   ~ > ruby -r rbconfig -r yaml -e 'y Config::CONFIG' | grep gcc
   CC: gcc
   LDSHARED: gcc -shared
   CPP: gcc -E
   ac_ct_CC: gcc
   LIBRUBY_LDSHARED: gcc -shared


but not it's PATH!  i'll bet if you do 'which gcc' you'll see it's gcc-3.3.4

if so, doing

   ~ > PATH=/full/path/to/correct/gcc:$PATH ruby intstall.rb --with-sqlite-dir=/full/path/to/any/non-standard/sqlite-install

might work


thus, if you compile ruby with one compiler certain flags are noted and these
flags are used when compiling extensions.  the compiler by the NAME gcc is
used but if that gcc has changed....

perhaps rbconfig should contain the full path to the compiler and only use
that compiler?

-a


>
> Interesting...
>
> Two other things:
> Do you think it would be possible to have an install process which is
> separated from the configure/compile process for sqlite-ruby? I think
> it is a good idea to do as less as possible as root in general.
>
> When I searched for reasons of the gcc-mystique I encountered on my
> system :) I found that sqlite itsself can generate HTML-output.
> Is it possible to get such an output via sqlite-ruby?
>
> Ruby.use!
> Meino
>
>> From: Jamis Buck <jgb3 / email.byu.edu>
>> Subject: Re: [ANN] SQLite-Ruby 1.3.0
>> Date: Tue, 13 Jul 2004 07:20:05 +0900
>>
>> Hi Jamis,
>>
>>  thank you for your reply ! :)
>>
>>  Things I have installed between 1.2.9.1 and 1.3.0
>>
>>  Fox 1.2.6
>>  scintilla 1.6.1
>>  scite 1.6.1
>>  fxscintilla 1.6.1
>>   gem 0.7
>>   fxruby 1.2.0
>>
>>   May be, there is some "bad influence" ? ;)
>>
>>   my mkmf.log:
>>
>>   have_library: checking for main() in -lsqlite... -------------------- no
>>
>>   "gcc -o conftest -I/home/mccramer/tmp/sqlite-ruby-1.3.0/build -I/usr/lib/ruby/1.8/i686-linux  -O3 -mtune=athlon-xp -mcpu=athlon-xp -mfpmath=sse -funroll-loops -fforce-addr -falign-functions=4 -mpreferred-stack-boundary=2 -msse -m3dnow -mmmx  -fPIC conftest.c  -L"/usr/lib"      -lruby-static -lsqlite  -ldl -lcrypt -lm   -lc"
>>   cc1: error: invalid option `tune=athlon-xp'
>>   checked program was:
>>   /* begin */
>>
>>   /*top*/
>>   int main() { return 0; }
>>   int t() { main(); return 0; }
>>   /* end */
>>
>>   "gcc -o conftest -I/home/mccramer/tmp/sqlite-ruby-1.3.0/build -I/usr/lib/ruby/1.8/i686-linux  -O3 -mtune=athlon-xp -mcpu=athlon-xp -mfpmath=sse -funroll-loops -fforce-addr -falign-functions=4 -mpreferred-stack-boundary=2 -msse -m3dnow -mmmx  -fPIC conftest.c  -L"/usr/lib"      -lruby-static -lsqlite  -ldl -lcrypt -lm   -lc"
>>   cc1: error: invalid option `tune=athlon-xp'
>>   checked program was:
>>   /* begin */
>>
>>
>>   /*top*/
>>   int main() { return 0; }
>>   int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
>>   /* end */
>>
>>   --------------------
>>
>>   have_header: checking for sqlite.h... -------------------- no
>>
>>   "gcc -E -I/home/mccramer/tmp/sqlite-ruby-1.3.0/build -I/usr/lib/ruby/1.8/i686-linux  -O3 -mtune=athlon-xp -mcpu=athlon-xp -mfpmath=sse -funroll-loops -fforce-addr -falign-functions=4 -mpreferred-stack-boundary=2 -msse -m3dnow -mmmx  -fPIC  conftest.c -o conftest.i"
>>   cc1: error: invalid option `tune=athlon-xp'
>>   checked program was:
>>   /* begin */
>>   #include <sqlite.h>
>>   /* end */
>>
>>   --------------------
>>
>>
>>   Now I see the source of bug: It is the "-mtune" option of gcc, which exits in
>>   gcc's from version 3.4.x on. This was misinterpreted as "no sqlite installed".
>>
>>   BUT:  :O)
>>
>>   I have installed gcc 3.3.4 (under /usr as normal) and I have a
>>   hidden installation of gcc 3.4.1 (under /opt/gcc3.4.n/), which can
>>   only be activated by preceeding PATH with the appropiate path to
>>   gcc-3.4.1 /manually/ and switching the CFLAGS/CXXFLAGS /manually/.
>>
>>   I had installed gcc-3.4.1 for experimenting.
>>
>>   When I do a "echo $CFlAGS/$CXXFlAGS" as myself I get:
>>
>>     [sqlite-ruby-1.3.0/] :echo $CFLAGS
>>     -O3 -m3dnow -march=athlon-xp -mcpu=athlon-xp -mfpmath=sse -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -finline-functions -falign-functions=4 -mpreferred-stack-boundary=2
>>     [sqlite-ruby-1.3.0/] :echo $CXXFLAGS
>>     -O3 -m3dnow -march=athlon-xp -mcpu=athlon-xp -mfpmath=sse -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -finline-functions -falign-functions=4 -mpreferred-stack-boundary=2
>>
>>   when I do a "sudo echo $CFlAGS/$CXXFlAGS", which would be equivalent
>>   to "sudo ruby install.rb" I get
>>
>>     [sqlite-ruby-1.3.0/] :sudo echo $CFLAGS
>>     -O3 -m3dnow -march=athlon-xp -mcpu=athlon-xp -mfpmath=sse -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -finline-functions -falign-functions=4 -mpreferred-stack-boundary=2
>>     [sqlite-ruby-1.3.0/] :sudo echo $CXXFLAGS
>>     -O3 -m3dnow -march=athlon-xp -mcpu=athlon-xp -mfpmath=sse -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -finline-functions -falign-functions=4 -mpreferred-stack-boundary=2
>>
>>  No "-mtune" option visible so far.
>>
>>  I did a "grep -ril mtune" through the sqlite-ruby sources...nothing
>>  (as you already know :)
>>
>>  What is going on here. Does have SQlite-Ruby the seventh sense here ?
>>  :)))
>>
>>  Where does the "-mtune" came from ?
>>
>>  Kind regards and thank you very much for your help in advance!
>>  Meino
>
>
>

-a
--
===============================================================================
| EMAIL   :: Ara [dot] T [dot] Howard [at] noaa [dot] gov
| PHONE   :: 303.497.6469
| A flower falls, even though we love it;
| and a weed grows, even though we do not love it. 
|   --Dogen
===============================================================================