Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 457102

Summary: dev-lang/swig-2.0.8 configure breaks when sci-mathematics/octave is broken
Product: Gentoo Linux Reporter: Ivan Labáth <ivan.gentoo>
Component: [OLD] DevelopmentAssignee: Panagiotis Christopoulos (RETIRED) <pchrist>
Status: RESOLVED TEST-REQUEST    
Severity: normal CC: dschridde+gentoobugs, hkbst, jeanfrancis, radhermit, scheme, strogdon, tdalman
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log
config.log

Description Ivan Labáth 2013-02-13 15:36:04 UTC
As I was updating gentoo, I broke octave by removing old libraries. One step was doing an emerge -e system, which failed on dev-lang/swig with something like

configure...
checking for octave... octave
checking for mkoctfile... configure: error: mkoctfile is not installed

I have lost the original log file, and unmerged octave, so I replicated the above message with something like

# ln -s /bin/true /bin/octave
$ ./configure

Configure has a --with(out)-octave switch, the effects of which I do not know.

Normally, it would be an automagic denendency, but swig installs some octave files even without octave installed, though not with a broken one.

I don't know what the right approach would be.
Comment 1 Jean-Francis Roy 2013-05-30 18:17:04 UTC
I ran into the same issue, I will attach build.log and config.log, if that can help.

emerge --info
Portage 2.3.5-r8 (funtoo/1.0/linux-gnu/arch/x86-64bit, gcc-4.7.2, glibc-2.15-r4, 3.9.4 x86_64)
=================================================================
System uname: Linux-3.9.4-x86_64-Intel-R-_Core-TM-_i7_CPU_Q_740_@_1.73GHz-with-gentoo-2.2.0
KiB Mem:     8167060 total,   3943056 free
KiB Swap:    1048572 total,   1046656 free
Timestamp of tree: Thu, 30 May 2013 05:45:01 +0000
ld GNU ld (GNU Binutils) 2.22
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.2.0-r1000
dev-lang/python:          2.7.5-r1000, 3.2.5-r1000, 3.3.2-r1000
dev-util/cmake:           2.8.10.2-r2
sys-apps/baselayout:      2.2.0-r4
sys-apps/openrc:          0.10.2-r9
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.7.2-r1
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2::funtoo-overlay
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers)
sys-libs/glibc:           2.15-r4
Repositories: gentoo crossdev science steam-overlay jf_overlay
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /var/lib/layman/science /var/lib/layman/steam /home/jf/dev/git/jf_overlay"
SYNC="git://github.com/funtoo/ports-2012.git"
SYNC_USER="root"
USE="X acl alsa amd64 apng berkdb bzip2 cdr colord cracklib crypt cups cxx dbus dri dvd dvdr dvdread eds evo flac fontconfig gdbm gif git gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk iconv icu infinality introspection ipv6 ipython jpeg lame latex libkms mad matplotlib mmx modules mp3 mpeg mudflap multilib nautilus ncurses networkmanager nls nptl numpy ogg opengl openmp pam pcre pep8 png policykit pppd pulseaudio pylint python qt3support qt4 readline resolvconf scipy sse sse2 ssl subversion tcpd theora tiff truetype udev unicode vorbis vpx wacom wavpack webm xinerama xml zeroconf zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel ice1724 intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias authn_core authz_core socache_shmcb unixd" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_ABIS="2.7 3.2" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon r600 fglrx" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, SYNC_UMASK
Comment 2 Jean-Francis Roy 2013-05-30 18:17:17 UTC
Created attachment 349676 [details]
build.log
Comment 3 Jean-Francis Roy 2013-05-30 18:17:29 UTC
Created attachment 349678 [details]
config.log
Comment 4 Jean-Francis Roy 2013-05-30 21:08:14 UTC
Octave was broken on my setup as well, running revdep-rebuild to repair some BLAS-related ebuilds did the trick, swig compiled successfully.
Comment 5 Tim Harder gentoo-dev 2013-06-01 08:02:23 UTC
*** Bug 471980 has been marked as a duplicate of this bug. ***
Comment 6 Tolga Dalman 2013-06-01 08:41:24 UTC
Please change the title accordingly. This issue has nothing to do with a dependency, but with broken configure scripts in SWIG. If octave is not emerged, SWIG will install without any issues.
Comment 7 Ivan Labáth 2013-06-02 01:29:43 UTC
I have changed the title. It is now nearly back to the version Jeroen changed. I apologise if I am not supposed to do that, I am not familiar with the etiquette here.

I do not know about the status of octave in swig, but as far as I remember from reading swig's mailing list, the detection of all languages is used only for tests, apart from one, where version is checked to generate proper headers.

In configure.in, the script first tries to detect whether and which octave binary to use and if successful, it will check certain features of it, which may fail if octave binary is present but broken, maybe also if mkoctfile is missing or so...

It would probably be best, if octave detection failures would have the same effect as nonpresent octave, so it would just disable octave if it is not requested.

As for Tolga's proposition in #471980 to use --with-octave=no, it would probably be the easiest solution, as I think it would only disable octave tests. Though it's not really a proper solution. Maybe only disable it if tests are disabled?
Comment 8 samtygier 2013-07-10 11:24:08 UTC
I hit this on gentoo prefix. I did not have octave installed in the prefix, but it was installed in the host OS (fedora 17).
Comment 9 Steven Trogdon 2013-09-27 19:32:12 UTC
The same here. >= swig-2.0.8 fails to configure in prefix when there is no prefix octave and octave is installed on the host. The configure picks up on the host installed octave:

configure:8077: checking for octave
configure:8093: found /usr/bin/octave
configure:8104: result: octave
configure:8121: checking for mkoctfile
configure:8130: error: mkoctfile is not installed

but fails when it can't find mkoctfile. I'm not sure in prefix whether /usr/bin should be parsed for octave? Perhaps someone with authority could copy the gentoo-alt guys on this. Let me know if a separate gentoo-alt bug should be filed and I'll be glad to do that.
Comment 10 Pacho Ramos gentoo-dev 2016-05-28 08:42:33 UTC
Is this still valid with 3.0.8?
Comment 11 Dennis Schridde 2018-02-26 18:13:00 UTC
(In reply to Pacho Ramos from comment #10)
> Is this still valid with 3.0.8?

For me, dev-lang/swig-3.0.8 hung in src_configure indefinitely -- it was executing "octave --silent /dev/null", which apparently did not return until I forcibly killed it, after which configure reported success on the test.