[prev in list] [next in list] [prev in thread] [next in thread]
List: openpkg-dev
Subject: RE: Ruby build patch (Tru64 and others)
From: Karl Vogel <karl.vogel () seagha ! com>
Date: 2005-03-17 10:40:44
Message-ID: 6DED3619289CD311BCEB00508B8E133602454174 () nt-server2 ! antwerp ! seagha ! com
[Download RAW message or body]
> > Rebuilding ruby gives:
> >
> > ld -shared -expect_unresolved "*" -L"../.." -o curses.so curses.o
> > -lncurses -ltermcap -lm -lc
> > ld:
> > Can't locate file for: -lncurses
> > make: *** [curses.so] Error 1
> > [dev:medusa] /openpkg/RPM/TMP/ruby-1.8.2/ext/curses
> >
> > Which shows the ruby extensions are picking up system
> libraries instead of
> > OpenPKG libs. Following patch fixes it
> >
> > --- ruby.spec~ 2005-02-21 18:02:32 +0100
> > +++ ruby.spec 2005-03-16 17:43:15 +0100
> > @@ -70,6 +70,7 @@
> > CFLAGS="%{l_cflags -O} %{l_cppflags}" \
> > ./configure \
> > --prefix=%{l_prefix} \
> > + --with-ldflags=%{l_ldflags} \
> > --disable-shared
> > %{l_make} %{l_mflags}
>
> Comitted to OpenPKG-CURRENT:
> http://cvs.openpkg.org/chngview?cn=22621
> Thanks.
Looks like Ruby is picking up some more system libraries. I wonder
if it's possible to plug-in a check into the RPM build phase to
look for references to external libs. On Linux / Tru64 it's possible to
view the shared libs dependencies.. Solaris probably has this too.
Might be useful to only allow certain system libs and fail in case
a non-approved system lib is linked to.
ie. on Tru64 looking at /openpkg/lib/ruby/1.8/alphaev68-osf5.1b
$ for a in *.so
> do
> echo ==== $a
> ldd $a
> done
==== bigdecimal.so
Main => bigdecimal.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== curses.so
Main => curses.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== dbm.so
Main => dbm.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== digest.so
Main => digest.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== dl.so
Main => dl.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== enumerator.so
Main => enumerator.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== etc.so
Main => etc.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== fcntl.so
Main => fcntl.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== iconv.so
Main => iconv.so
libiconv.so => /usr/shlib/libiconv.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
^^^ linkage to iconv, OpenPKG also has a libiconv
package.. so probably could use a requires: libiconv
line in the spec
==== nkf.so
Main => nkf.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== openssl.so
Main => openssl.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== pty.so
Main => pty.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== readline.so
Main => readline.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== sdbm.so
Main => sdbm.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== socket.so
Main => socket.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== stringio.so
Main => stringio.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== strscan.so
Main => strscan.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== syck.so
Main => syck.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== syslog.so
Main => syslog.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
==== tcltklib.so
Main => tcltklib.so
libtk.so => /usr/shlib/libtk.so
libtcl.so => /usr/shlib/libtcl.so
libX11.so => /usr/shlib/libX11.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
libdnet_stub.so => /usr/shlib/libdnet_stub.so
^^^ should this 'require' the OpenPKG tcl package?
==== tkutil.so
Main => tkutil.so
libm.so => /usr/shlib/libm.so
libc.so => /usr/shlib/libc.so
______________________________________________________________________
The OpenPKG Project www.openpkg.org
Developer Communication List openpkg-dev@openpkg.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic