Subject: Re: pkg/28296: x11/ruby-tcltklib uses wrong DEPENDS relational
To: None <woods@planix.com, woods@weird.com>
From: Takahiro Kambe <taca@back-street.net>
List: pkgsrc-bugs
Date: 11/20/2004 23:58:10
Thanks for your problem report.
First, I'm working on whole ruby package's framework now.
In message <20041113222100.DA0FC2520FF@narn.netbsd.org>
on Sat, 13 Nov 2004 22:21:00 +0000 (UTC),
"Greg A. Woods" <woods@weird.com> wrote:
> >Description:
>
> lang/ruby won't build when tcl-8.4.6nb5 is already installed
> because x11/ruby-tcltklib won't build because it needs tcl-8.3.4
> and tk-8.3.4 and yet it's DEPENDS settings use the ">="
> relational operator instead of "=" as they should.
You are right.
> Note also that this "extconf.rb" script doesn't exit with a
> non-zero exit code when it fails leading to even further
> confusion and problems.
Because "extconf.rb" has diffrent policy from "configure" script; its
main purpose is using in Ruby distribution's source tree and build
available extention libraries without error. Anyway, I'll add some
work around in tne new framework.
> So why does ruby have so much trouble with tcl/tk 8.4.* and with
> the threat of the threads library especially since tk 8.4.* does
> not _require_ linking against any threads library?!?!?
It isn't really the problem of tcl/tk 8.4 but ruby package's has
problem (or some lack) about handling of pthread library.
> However since this extconf.rb script ignores LDFLAGS from
> CONFIGURE_ENV and the Makefile it generates also ignores LDFLAGS
> from BUILD_ENV the right linker flags are not passed through
> when building the shared library resulting in a failure to find
> the X11.6 library:
...
> 17:56 [5552] $ ldd work/ruby-1.6.8/ext/tcltklib/*.so
> work/ruby-1.6.8/ext/tcltklib/tcltklib.so:
> -lcrypt.0 => /usr/lib/libcrypt.so.0
> -lm.0 => /usr/lib/libm.so.0
> -lruby.16 => /usr/pkg/lib/libruby.so.16
> -ltk84.1 => /usr/pkg/lib/libtk84.so.1
> -ltcl84.1 => /usr/pkg/lib/libtcl84.so.1
> -lX11.6 => not found
Do you use diffrent path, X11BASE? I couldn't reproduce such
situation on NetBSD 1.6.2/i386 machine.
> +post-configure:
> + ${MV} ${WRKSRC}/Makefile ${WRKSRC}/Makefile.in
> + ${SED} 's/^DLDFLAGS = /DLDFLAGS = \$${LDFLAGS}/' < ${WRKSRC}/Makefile.in > ${WRKSRC}/Makefile
> +
Can you specify what was need to passed by LDFLAGS?
--
Takahiro Kambe <taca@back-street.net>