[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[BUILD] ruby-1.8.2p2 failing to build gdbm, iconv

Brian Candler

10/21/2004 4:49:00 PM

I am building ruby-1.8.2p2 under FreeBSD-5.2.1, but I am unable to get the
gdbm and iconv modules built. I have gdbm-1.8.3 and libiconv-1.9.1 installed
from ports. This is what I'm doing:

export LDFLAGS="-L/usr/local/lib"
export CPPFLAGS="-I/usr/local/include"
./configure
make

However, the modules iconv and gdbm are skipped over. ext/gdbm/mkmf.log and
ext/iconv/mkmf.log are attached.

As far as I can see:

- gdbm is skipped because -L/usr/local/lib is missing from the command line
it passes to gcc when testing for its existence (although
-I/usr/local/linclude *is* passed in).

- iconv is skipped for a similar reason, although it first tries to call
iconv() with the wrong set of arguments.

rbconfig.rb contains these two lines:

CONFIG["LDFLAGS"] = "-L/usr/local/lib -rdynamic"
CONFIG["configure_args"] = " 'CPPFLAGS=-I/usr/local/include' 'LDFLAGS=-L/usr/local/lib'"

so I think my LDFLAGS setting was picked up OK.

Is this a bug in mkmf? Or is there something else I need to do to make these
modules compile?

Thanks...

Brian Candler.
1 Answer

Brian Candler

10/21/2004 5:15:00 PM

0

On Thu, Oct 21, 2004 at 05:48:31PM +0100, Brian Candler wrote:
> I am building ruby-1.8.2p2 under FreeBSD-5.2.1, but I am unable to get the
> gdbm and iconv modules built. I have gdbm-1.8.3 and libiconv-1.9.1 installed
> from ports. This is what I'm doing:
>
> export LDFLAGS="-L/usr/local/lib"
> export CPPFLAGS="-I/usr/local/include"
> ./configure
> make
>
> However, the modules iconv and gdbm are skipped over. ext/gdbm/mkmf.log and
> ext/iconv/mkmf.log are attached.

But strangely, after I've built and installed ruby if I then do "ruby
extconf.rb" and "make" in those directories, then it builds them!

$ ./configure LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include"
...
$ make
...
$ cd ext/gdbm
$ grep "checking for" mkmf.log
have_library: checking for gdbm_open() in -lgdbm... -------------------- no
$ ruby extconf.rb
checking for gdbm_open() in -lgdbm... yes
checking for gdbm.h... yes
creating Makefile
$ make
...
$ ls -l gdbm.so
-rwxr-xr-x 1 brian brian 22649 Oct 21 18:03 gdbm.so
$ cd ../iconv
$ grep "checking for" mkmf.log
have_func: checking for iconv()... -------------------- no
have_library: checking for iconv() in -liconv... -------------------- no
$ ruby extconf.rb
checking for iconv()... no
checking for iconv() in -liconv... yes
checking for const of iconv() 2nd argument... yes
creating Makefile
$ ls -l iconv.so
-rwxr-xr-x 1 brian brian 16915 Oct 21 18:04 iconv.so

Hmm, so why doesn't that work when building Ruby in the first place?

Regards,

Brian.