Bug 148576 - sci-electronics/gnucap-20060830 fails without readline USE flag
|
Bug#:
148576
|
Product: Gentoo Linux
|
Version: 2006.1
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: sci-electronics@gentoo.org
|
Reported By: kheiss@gmail.com
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: sci-electronics/gnucap-20060830 fails without readline USE flag
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2006-09-21 14:37 0000
|
gnucap-20060830 fails with the following error when the readline USE flag is
disabled:
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -DNDEBUG -O2
-march=pentium4 -mfpmath=sse -ftracer -pipe -fomit-frame-pointer -c -o d_mos.o
d_mos.cc
i686-pc-linux-gnu-g++ -O2 -march=pentium4 -mfpmath=sse -ftracer -pipe
-fomit-frame-pointer -Wl,-O1 -Wl,--sort-common -s -o gnucap ap_construct.o
ap_convert.o ap_error.o ap_get.o ap_match.o ap_skip.o bm.o bm_complex.o
bm_cond.o bm_exp.o bm_fit.o bm_generator.o bm_model.o bm_poly.o bm_posy.o
bm_pulse.o bm_pwl.o bmm_table.o bmm_semi.o bm_sffm.o bm_sin.o bm_tanh.o
bm_value.o c__cmd.o c_comand.o c_delete.o c_fanout.o c_file.o c_genrat.o
c_getckt.o c_list.o c_modify.o c_nodset.o c_param.o c_prbcmd.o c_status.o
c_sweep.o c_sim.o c_system.o main.o d_admit.o d_cap.o d_cccs.o d_ccvs.o
d_coil.o d_coment.o d_cs.o d_dot.o d_logic.o d_logicmod.o d_res.o d_subckt.o
d_switch.o d_trln.o d_vcr.o d_vcvs.o d_vs.o e_base.o e_node.o e_cardlist.o
e_card.o e_model.o e_compon.o e_elemnt.o e_ccsrc.o e_storag.o e_subckt.o
findbr.o io.o io_contr.o io_error.o io_findf.o io_getln.o io_out.o l_ftos.o
l_timer.o l_trim.o io_xopen.o l_pmatch.o l_wmatch.o md.o globals.o u_opt1.o
u_opt2.o m_fft.o m_spline.o plot.o s_ac.o s_ac_set.o s_ac_slv.o s_ac_swp.o
s__.o s__aux.o s__init.o s__map.o s__out.o s__solve.o s_dc.o s_dc_set.o
s_dc_swp.o s_fo.o s_fo_out.o s_fo_set.o s_tr.o s_tr_rev.o s_tr_set.o s_tr_swp.o
u_nodemap.o u_sdp.o u_prblst.o u_probe.o u_xprobe.o u_parameter.o d_bjt.o
d_diode.o d_mos123.o d_mos1.o d_mos2.o d_mos3.o d_mos4.o d_mos5.o d_mos6.o
d_mos7.o d_mos8.o d_mos_base.o d_mos.o
c_file.o: In function `getcmd(char const*, char*, int)':
c_file.cc:(.text+0x127): undefined reference to `readline'
c_file.cc:(.text+0x168): undefined reference to `add_history'
collect2: ld returned 1 exit status
make[3]: *** [gnucap] Error 1
make[3]: Leaving directory
`/var/tmp/portage/gnucap-20060830/work/gnucap-2006-08-30/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/var/tmp/portage/gnucap-20060830/work/gnucap-2006-08-30/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/gnucap-20060830/work/gnucap-2006-08-30'
make: *** [all] Error 2
Gentoo Base System version 1.12.5
Portage 2.1.2_pre1 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3,
2.6.17-ck1-r3 i686)
=================================================================
System uname: 2.6.17-ck1-r3 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Last Sync: Thu, 21 Sep 2006 07:31:01 +0000
ccache version 2.4 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.6-r1, 2.0.29
dev-lang/python: 2.4.3-r3
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache: 2.4-r6
dev-util/confcache: [Not Present]
sys-apps/sandbox: 1.2.18.1
sys-devel/autoconf: 2.13, 2.60
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils: 2.17.50.0.3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.17-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -mfpmath=sse -ftracer -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf
/etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=pentium4 -mfpmath=sse -ftracer -pipe -fomit-frame-pointer"
DISTDIR="/var/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox
sfperms strict"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo"
LANG="en_US"
LC_ALL="en_US"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -s"
MAKEOPTS="-j2"
PKGDIR="/var/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/kpex-media"
SYNC="rsync://altena/gentoo-portage"
USE="x86 X acpi alsa bzip2 cups elibc_glibc input_devices_evdev
input_devices_keyboard input_devices_mouse jpeg kernel_linux mmx nls nptl
nptlonly ogg opengl png sse sse2 ssl userland_GNU video_cards_nvidia vorbis
xvid zlib"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LINGUAS,
PORTAGE_RSYNC_EXTRA_OPTS
I'm sorry, I'm unfortunately unable to reproduce your bug. I tried disabling
readline USE flag, unmerging readline and still gnucap builds successfully.
emerge --info:
Portage 2.1.1 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3,
2.6.17-gentoo-r8 i686)
=================================================================
System uname: 2.6.17-gentoo-r8 i686 Intel(R) Pentium(R) 4 CPU 3.40GHz
Gentoo Base System version 1.12.5
Last Sync: Thu, 21 Sep 2006 22:30:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.6-r1, 2.0.29
dev-lang/python: 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache: 2.3
dev-util/confcache: [Not Present]
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.17-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf
/etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-Os -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig candy ccache distlocks metadata-transfer sandbox sfperms
strict"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/"
LANG="pl_PL"
LC_ALL="pl_PL"
LINGUAS="pl"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/monodevelop /usr/local/overlays/my"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X a52 aac aalib accessibility acpi alsa arts asf audiofile avi
bash-completion berkdb bidi bitmap-fonts bzip2 cdinstall cdparanoia cdr cli
crypt css cups curl cvd dbus dga dlloader doc dri dvd dvdr dvdread elibc_glibc
emboss encode escreen esd exif expat fam fbcon ffmpeg firefox flac
foo2zjs_devices_hp1020 foomaticdb fortran ftp gdbm gif gimpprint glut gmp
gphoto2 gpm gstreamer gtk gtk2 hal iconv idn ieee1394 imagemagick imlib
input_devices_keyboard input_devices_mouse input_devices_vmmouse ipv6 isdnlog
jack java javascript jpeg jpeg2k kadu-modules kadu-voice kde kernel_linux lcms
libg++ libwww linguas_pl lirc lirc_devices_livedrive_midi logitech-mouse mad
matroska md5sum mikmod mime mjpeg mmx mng mono motif mp3 mpeg ncurses nls nptl
nptlonly nsplugin nvidia objc odbc offensive ogg oggvorbis openal opengl oss
pam pcre pda pdf perl png ppds pppd python qt qt3 qt4 quicktime readline real
reflection ruby samba scanner sdl seamonkey session slang snmp sox spell spl
sse sse2 ssl svg svga tcltk tcpd tetex theora thread tidy tiff timidity
truetype truetype-fonts type1 type1-fonts udev usb userland_GNU v4l
video_cards_nv video_cards_nvidia video_cards_vesa video_cards_vga
video_cards_vmware videos vim-with-x vorbis win32codecs wxwindows xine xml xml2
xmms xorg xpm xv xvid zlib"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS,
PORTAGE_RSYNC_EXTRA_OPTS
Are you using the ~x86 version? I see you dont have ~x86 in your accept
keywords. Maybe you are building the 20060708 version.
(In reply to comment #1)
> I'm sorry, I'm unfortunately unable to reproduce your bug. I tried disabling
> readline USE flag, unmerging readline and still gnucap builds successfully.
Well, I can:
[ebuild N ] sci-electronics/gnucap-20060830 USE="-doc -examples -readline"
985 kB
c_file.o: In function `getcmd(char const*, char*, int)':
c_file.cc:(.text+0x33): undefined reference to `readline'
c_file.cc:(.text+0x78): undefined reference to `add_history'
collect2: ld returned 1 exit status
Oh my, sorry... it was about 2AM here and my brain was totally out of order :(
Of course, I can reproduce it with the 20060830 version. Sorry.
(In reply to comment #5)
> Created an attachment (id=97727) [edit] [details]
> gnucap-20080630 fix
>
> This ebuild should fix the problem. Please, report your results
Please, next time post a patch against the current ebuild instead of a new
ebuild. It makes it more difficult for developpers to find out what the
differences are, and can be the source of confusions or errors.
Now to the real problem. It seems that readline is now part of the base
profile, and as such it's an implicit dependency. In other words, you're not
supposed not to have it anymore. So it's not an option anymore and I'm going to
remove the USE flag as well as the possibility of not using it.
Denis.
OK, it's fixed. Please give it a few hours to reach a mirror near you.
By the way, Karl, if your system doesn't have readline emerged, it needs an
update.
Denis.
So maybe the readline USE flag should be also removed from gnucap-20060708?
(In reply to comment #8)
> So maybe the readline USE flag should be also removed from gnucap-20060708?
In theory yes and no.
But I'm not going to develop here, because practically we don't care. The
gnucap-2006xxyy ebuilds will disappear soon to make place for the recent 0.35
release. I'd love to keep them, but their numbering will prevent users to see
the new release which is considered stable and long term by upstream. And as
long that the readline USE flag isn't broken for the 20060708 release
(eventhough it's now arguably stupid), there's no point touching the ebuild
that's considered the stable one, and risk breaking it.
In other words, be patient because 0.35 is coming, then we'll stabilize it and
get rid of anything older than it. Newer development releases will then be
called gnucap-0.35.2006xxyy, and readline won't be an option.
Denis.
Ok, that fully answers my questions and doubts. One more thing: is the
'readline' USE flag going to be completely removed in the near future implying
neccessity of installing readline everywhere?
(In reply to comment #10)
> One more thing: is the
> 'readline' USE flag going to be completely removed in the near future
I asked that question to more senior devs, and now that I think of it, I'm not
totally satisfied with the answer. Don't worry, this situation will be dealt
with at some point.
> implying neccessity of installing readline everywhere?
Well, if readline is in the base profile, it means everybody already has it
installed. It's not an option anymore. Either you have it or your system hasn't
been properly updated in quite some time.
Denis.
> I asked that question to more senior devs, and now that I think of it, I'm not
> totally satisfied with the answer. Don't worry, this situation will be dealt
> with at some point.
I'm aware of it, I don't worry either. I'm just curious.
> Well, if readline is in the base profile, it means everybody already has it
> installed. It's not an option anymore. Either you have it or your system hasn't
> been properly updated in quite some time.
Right, thanks. Could you please keep me informed on that issue?
I do have readline installed but I have disabled any extraneous USE flags. I
believe that removing the USE flag entirely is not the ideal solution if you
wish to give the user configurability. For example, just because gettext is
part of the base profile doesn't mean that the 'nls' USE flag should be removed
and forced upon everyone. Just my two cents...
(In reply to comment #13)
> I do have readline installed but I have disabled any extraneous USE flags. I
> believe that removing the USE flag entirely is not the ideal solution if you
> wish to give the user configurability. For example, just because gettext is
> part of the base profile doesn't mean that the 'nls' USE flag should be removed
> and forced upon everyone. Just my two cents...
The situation is different, here. gnucap requires readline by design, it's not
an option. Previously, we hacked it in order to allow users not to use
readline, because readline wasn't mandatory in Gentoo, and we wanted to leave
the choice to the users of not having readline on their system at all.
Today, the situation has evolved in one where all Gentoo users have to have
readline, and the old hack to allow gnucap to not use readline doesn't work
anymore. Sure, it's fixable. But I decided that 2 reasons to get rid of it
meant that it was time to do so. Gentoo is about choice, but developers may
also choose to not let users do things that are beyond reasonnable. And if you
convince me there's one valid reason (I said valid !) to have that use flag
again, I may reconsider my decision. Note that the global USE flag may simply
disappear someday, because you can imagine that gnucap isn't the only package
in that situation.
So, what is it exactly that you gain by not using readline with gnucap ? How
does this balance compared to the potential risk and maintainability issues of
a hack on the long term ?
(In reply to comment #13)
> Could you please keep me informed on that issue?
Jurek, there is no issue to keep you informed about. What I mean is you know as
much as I do : readline is in the base profile, so you have it on your system
(or it's not up to date), and that's it. The base profile package list is :
/usr/portage/profiles/base/packages
Denis.
Well, I know readline is in the base profile and that still implies one
question: is there any use of readline USE flag nowadays then?