Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 148576 - sci-electronics/gnucap-20060830 fails without readline USE flag
Summary: sci-electronics/gnucap-20060830 fails without readline USE flag
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: The Soldering-Iron Brotherhood
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-21 14:37 UTC by Karl Heiss
Modified: 2006-09-28 14:10 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
gnucap-20080630 fix (gnucap-20060830.ebuild,1.55 KB, text/plain)
2006-09-22 01:55 UTC, Jurek Bartuszek (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karl Heiss 2006-09-21 14:37:11 UTC
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
Comment 1 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-21 16:20:51 UTC
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
Comment 2 Karl Heiss 2006-09-21 18:34:23 UTC
Are you using the ~x86 version? I see you dont have ~x86 in your accept keywords. Maybe you are building the 20060708 version.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-09-21 19:54:29 UTC
(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
Comment 4 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-22 01:27:08 UTC
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.
Comment 5 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-22 01:55:41 UTC
Created attachment 97727 [details]
gnucap-20080630 fix

This ebuild should fix the problem. Please, report your results
Comment 6 Denis Dupeyron (RETIRED) gentoo-dev 2006-09-23 04:58:50 UTC
(In reply to comment #5)
> Created an attachment (id=97727) [edit]
> 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.
Comment 7 Denis Dupeyron (RETIRED) gentoo-dev 2006-09-23 05:41:02 UTC
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.
Comment 8 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-23 10:09:42 UTC
So maybe the readline USE flag should be also removed from gnucap-20060708?
Comment 9 Denis Dupeyron (RETIRED) gentoo-dev 2006-09-23 11:28:40 UTC
(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.
Comment 10 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-23 12:11:02 UTC
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?
Comment 11 Denis Dupeyron (RETIRED) gentoo-dev 2006-09-23 12:29:31 UTC
(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.
Comment 12 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-23 12:48:40 UTC
> 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?

Comment 13 Karl Heiss 2006-09-25 14:18:07 UTC
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...
Comment 14 Denis Dupeyron (RETIRED) gentoo-dev 2006-09-25 15:53:24 UTC
(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.
Comment 15 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-25 15:58:58 UTC
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?