From: Zachary Scott Date: 2013-12-20T14:22:16+00:00 Subject: [ruby-core:59219] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64 --_av-5FpAHI6OxFNrgdp7LCZ_rA Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Could you also try --with-yaml-dir and --with-dbm-dir? On Dec 20, 2013, at 9:13 AM, Santiago Pastorino wrote: > Now I did ... > > autoconf; ./configure --prefix=/Users/santiago/.rubies/2.1.0 --with-openssl-dir="$(brew --prefix openssl)" --with-readline-dir="$(brew --prefix readline)" --with-libyaml-dir="$(brew --prefix libyaml)" --with-gdbm-dir="$(brew --prefix gdbm)" --with-libffi-dir="$(brew --prefix libffi)"; make; make install > > and it's working fine for most options but not all. gdbm and libyaml are not being correctly linked ... > > ~/.rubies/2.1.0/lib/ruby/2.1.0/x86_64-darwin13.0 otool -L psych.bundle > psych.bundle: > /usr/local/lib/libyaml-0.2.dylib (compatibility version 3.0.0, current version 3.2.0) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1) > /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) > > ~/.rubies/2.1.0/lib/ruby/2.1.0/x86_64-darwin13.0 brew --prefix libyaml > /usr/local/opt/libyaml > > ~/.rubies/2.1.0/lib/ruby/2.1.0/x86_64-darwin13.0 otool -L gdbm.bundle > gdbm.bundle: > /usr/local/lib/libgdbm.4.dylib (compatibility version 5.0.0, current version 5.0.0) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1) > /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) > > ~/.rubies/2.1.0/lib/ruby/2.1.0/x86_64-darwin13.0 brew --prefix gdbm > /usr/local/opt/gdbm > > > > On Fri, Dec 20, 2013 at 11:47 AM, Santiago Pastorino wrote: > It works but I'm missing to link against homebrew's gdbm, libyaml and libffi not sure how to do the same thing for the rest of the packages ... > > > On Thu, Dec 19, 2013 at 9:30 PM, Zachary Scott wrote: > I've been using the following: > > ../configure --with-openssl-dir=`brew --prefix openssl` --with-readline-dir=`brew --prefix readline` --with-zlib-dir=`brew --prefix zlib` --prefix=/Users/zzak/.rubies/ruby-trunk > > Although I'm missing a few of the deps, maybe you can try that? > > > > On Dec 19, 2013, at 6:16 PM, Santiago Pastorino wrote: > >> It works if I do ... >> >> autoconf; ./configure --prefix=/Users/santiago/.rubies/2.1.0; make; make install >> >> It doesn't if I do ... >> >> autoconf; ./configure --prefix=/Users/santiago/.rubies/2.1.0 --with-opt-dir="$(brew --prefix openssl):$(brew --prefix readline):$(brew --prefix libyaml):$(brew --prefix gdbm):$(brew --prefix libffi)"; make; make install >> >> So, yeah, something is wrong when I use those deps from homebrew. >> >> >> >> On Thu, Dec 19, 2013 at 8:18 PM, Zachary Scott wrote: >> Sorry I missed the gist, can you try building outside of $srcdir? >> >> I'm not able to repro it on x86_64: >> Darwin mba-2.local 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64 >> >> >> On Dec 19, 2013, at 4:59 PM, Santiago Pastorino wrote: >> >>> zzak, make distclean is the first thing I've ran. Read the gist again :), even more after that I've ran git clean. >>> >>> On Thu, Dec 19, 2013 at 6:52 PM, zzak (Zachary Scott) wrote: >>> >>> Issue #9264 has been updated by zzak (Zachary Scott). >>> >>> Category set to build >>> Status changed from Open to Feedback >>> >>> Can you try 'make distclean' and then try again? >>> ---------------------------------------- >>> Bug #9264: Compiling error: encdb.bundle Undefined symbols for architecture x86_64 >>> https://bugs.ruby-lang.org/issues/9264#change-43766 >>> >>> Author: spastorino (Santiago Pastorino) >>> Status: Feedback >>> Priority: Normal >>> Assignee: >>> Category: build >>> Target version: current: 2.1.0 >>> ruby -v: 2.1 >>> Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN >>> >>> >>> Using today's trunk, I'm getting the following error on compiling >>> >>> compiling ./enc/encdb.c >>> linking encoding encdb.bundle >>> Undefined symbols for architecture x86_64: >>> "_rb_enc_set_base", referenced from: >>> _Init_encdb in encdb.o >>> "_rb_enc_set_dummy", referenced from: >>> _Init_encdb in encdb.o >>> "_rb_encdb_alias", referenced from: >>> _Init_encdb in encdb.o >>> "_rb_encdb_declare", referenced from: >>> _Init_encdb in encdb.o >>> "_rb_encdb_dummy", referenced from: >>> _Init_encdb in encdb.o >>> "_rb_encdb_replicate", referenced from: >>> _Init_encdb in encdb.o >>> "_rb_encdb_set_unicode", referenced from: >>> _Init_encdb in encdb.o >>> ld: symbol(s) not found for architecture x86_64 >>> >>> Here is the full trace ... >>> >>> https://gist.github.com/spastorino/1ad2858fce42d0e0a2e2 >>> >>> Thanks in advance. >>> >>> >>> -- >>> http://bugs.ruby-lang.org/ >>> >> >> > > > --_av-5FpAHI6OxFNrgdp7LCZ_rA Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Could you also try --wi= th-yaml-dir and --with-dbm-dir?

On Dec 20, 2013, at 9:13 = AM, Santiago Pastorino <spastori= no@gmail.com> wrote:

Now I did ...

<= /div>
autoconf; ./configure --prefix=3D/Users/santiago/.rubies/2.1.0 --= with-openssl-dir=3D"$(brew --prefix openssl)" --with-readline-dir=3D"$(brew= --prefix readline)" --with-libyaml-dir=3D"$(brew --prefix libyaml)" --with= -gdbm-dir=3D"$(brew --prefix gdbm)" --with-libffi-dir=3D"$(brew --prefix li= bffi)"; make; make install

and it's working fine for most options but not al= l. gdbm and libyaml are not being correctly linked ...

=
~/.rubies/2.1.0/lib/ruby/2.1.0/x86_64-darwin13.0  otool -L p= sych.bundle
psych.bundle:
=09= /usr/local/lib/libyaml-0.2.dylib (compatibility version 3.0.0, curre= nt version 3.2.0)
=09<= /span>/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current vers= ion 1197.1.1)
=09/usr/lib/libobjc.= A.dylib (compatibility version 1.0.0, current version 228.0.0)
<= div>
~/.rubies/2.1.0/lib/ruby/2.1.0/x86_64-darwin13.0 &n= bsp;brew --prefix libyaml
/usr/local/opt/libyaml

~/.rubies/2= .1.0/lib/ruby/2.1.0/x86_64-darwin13.0  otool -L gdbm.bundle
= gdbm.bundle:
=09/usr/local/lib/libgdbm.4.dylib (compatibility version 5.0.0, current versi= on 5.0.0)
=09/usr/lib/libSyste= m.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
=09/usr/lib/libobjc.A.dy= lib (compatibility version 1.0.0, current version 228.0.0)

~/.rubies/2.1.0/lib/ruby/2.1.0/x86_64-darwin= 13.0  brew --prefix gdbm
/usr/local/opt/gdbm



On Fri, Dec 20, 2013 at 11:47 AM, Santiago Pastorino <= spastorino@gmail.= com> wrote:
It works but I'm missing to link against homebrew's g= dbm, libyaml and libffi not sure how to do the same thing for the rest of t= he packages ...


On Thu, Dec 19, 2013 at 9:30 PM, Zachary Scott <e@zzak.io> wrote:
I've been using the following:

=
../configure --with-openssl-dir=3D`brew --prefix openssl` --with= -readline-dir=3D`brew --prefix readline` --with-zlib-dir=3D`brew --prefix z= lib` --prefix=3D/Users/zzak/.rubies/ruby-trunk

Although I'm missing a few of the deps, maybe you can t= ry that?



On Dec = 19, 2013, at 6:16 PM, Santiago Pastorino <spastorino@gmail.com> wrote:

It works if I do ...
autoconf; ./configure --prefix=3D/Users/santiago/.rubies/2.1.0;= make; make install

It doesn't if I do ...

autoconf; ./configure --prefix=3D/Users/santiago/.rubies/2.1.0 --with-opt-d= ir=3D"$(brew --prefix openssl):$(brew --prefix readline):$(brew --prefix li= byaml):$(brew --prefix gdbm):$(brew --prefix libffi)"; make; make install

So, yeah, something is wrong when I use those dep= s from homebrew.


<= br>
On Thu, Dec 19, 2013 at 8:18 PM, Zachary Scot= t <e@zz= ak.io> wrote:
Sorry I = missed the gist, can you try building outside of $srcdir?

I'm not able to repro it on x86_64:
Darwin mba-2.local 12.5.0 Dar= win Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.1= 2~1/RELEASE_X86_64 x86_64


On Dec 19, 2013, at 4:59 PM, Santiago Pastorino <spastorino@gmail.com<= /a>> wrote:

zzak, ma= ke distclean is the first thing I've ran. Read the gist again :), even more= after that I've ran git clean.

On Thu, Dec 19, 2013 at 6:52 PM, zzak (Zacha= ry Scott) <e@zzak.io> wrote:

Issue #9264 has been updated by zzak (Zachary Scott).

Category set to build
Status changed from Open to Feedback

Can you try 'make distclean' and then try again?
----------------------------------------
Bug #9264: Compiling error: encdb.bundle Undefined symbols for architecture= x86_64
https://bugs.ruby-lang.org/i= ssues/9264#change-43766

Author: spastorino (Santiago Pastorino)
Status: Feedback
Priority: Normal
Assignee:
Category: build
Target version: current: 2.1.0
ruby -v: 2.1
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


Using today's trunk, I'm getting the following error on compiling

compiling ./enc/encdb.c
linking encoding encdb.bundle
Undefined symbols for architecture x86_64:
  "_rb_enc_set_base", referenced from:
      _Init_encdb in encdb.o
  "_rb_enc_set_dummy", referenced from:
      _Init_encdb in encdb.o
  "_rb_encdb_alias", referenced from:
      _Init_encdb in encdb.o
  "_rb_encdb_declare", referenced from:
      _Init_encdb in encdb.o
  "_rb_encdb_dummy", referenced from:
      _Init_encdb in encdb.o
  "_rb_encdb_replicate", referenced from:
      _Init_encdb in encdb.o
  "_rb_encdb_set_unicode", referenced from:
      _Init_encdb in encdb.o
ld: symbol(s) not found for architecture x86_64

Here is the full trace ...

https://gist.github.com/spastorino= /1ad2858fce42d0e0a2e2

Thanks in advance.


--
http://bugs.ruby-lang.org/







--_av-5FpAHI6OxFNrgdp7LCZ_rA--