Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 267260 - dev-lang/erlang-13.2 (R13B-0): Wxwindows support broken
Summary: dev-lang/erlang-13.2 (R13B-0): Wxwindows support broken
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Christian Faulhammer (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-23 20:01 UTC by Arvid Norlander
Modified: 2009-04-29 22:07 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Norlander 2009-04-23 20:01:22 UTC
Today I decided to try out the ~amd64 dev-lang/erlang-13.2 package, it worked fine until I tried to run a program using the new wxwindows support. Specifically: the debugger.

The directory mentioned in the error doesn't exist. However the parent directory does (and it contains ebin, src and so on as expected). 

Reproducible: Always

Steps to Reproduce:
1. emerge dev-lang/erlang-13.2 with the wxwindows USE flag turned on.
In a shell:
2. erl
In Erlang shell:
3. toolbar:start().
4. Click the debugger button in the toolbar that pops up.
5. Observe the old Tk window opens and the error in the terminal.
In a normal shell:
6. ls /usr/lib64/erlang/lib/wx-0.98.1



Actual Results:  
$ erl
Erlang R13B (erts-5.7.1) [source] [64-bit] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.1  (abort with ^G)
1> toolbar:start().
<0.34.0>
2>
=ERROR REPORT==== 23-Apr-2009::21:53:04 ===
WX ERROR: Could not find suitable 'wxe_driver' for x86_64-pc-linux-gnu in: /usr/lib64/erlang/lib/wx-0.98.1/priv

^C
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution
a
$ ls /usr/lib64/erlang/lib/wx-0.98.1
ebin  examples  include  src


Expected Results:  
The error should not show up, and the directory mentioned should exist (and contain something).

# emerge -pv erlang

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] dev-lang/erlang-13.2  USE="doc emacs hipe kpoll ssl tk wxwindows -java -odbc -sctp -smp" 60,188 kB

Total: 1 package (1 reinstall), Size of downloads: 60,188 kB
# emerge --info
Portage 2.1.6.7 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.27-gentoo-r8-1 x86_64)
=================================================================
System uname: Linux-2.6.27-gentoo-r8-1-x86_64-AMD_Sempron-tm-_Processor_3300+-with-glibc2.2.5
Timestamp of tree: Thu, 23 Apr 2009 19:30:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.5.4-r2
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8-sse3 -pipe -O2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind /var/gopher/gophermap"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /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=k8-sse3 -pipe -O2"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.ynet.sk/pub http://ftp.ds.karen.hj.se/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.ds.karen.hj.se/gentoo/ http://mirror.muntinternet.net/pub/gentoo/ http://ftp.ing.umu.se/linux/gentoo/ http://mirror.gentoo.no/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.linux.ee/pub/gentoo/distfiles/"
LINGUAS="en en_GB sv sv_SE"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/crossdev-overlay /usr/local/portage/cpan-overlay /usr/local/portage/nethack-overlay /usr/local/portage/generic-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X acl acpi alsa amd64 audiofile bash-completion berkdb bzip2 cairo caps ccache cdb cddb cdr cli cracklib crypt cups curl dbus dri dvd dvdr dvdread emacs emboss encode evo exif expat fam fastcgi fbcon firefox flac fontconfig foomaticdb fortran gd gdbm geoip gif glep gmp gnutls gpm gstreamer gtk iconv idea idn ieee1394 imlib iproute2 ipv6 isdnlog javascript joystick jpeg jpeg2k kde kdeenablefinal kdehiddenvisibility kqemu lcms lm_sensors logrotate loop-aes lyx mad mbox midi mikmod mmap mmx mmxext mng mono mozdevelop mp3 mpeg mudflap multilib mysqli ncurses nls nodrm nptl nptlonly nsplugin objc ogg openexr opengl pam pcre pdf perl pg-intdatetime php physfs pic png ppds pppd python qt3 qt3support qt4 quicktime readline reflection rle sasl scanner sdl session sndfile spell spl sqlite sse sse2 ssl startup-notification svg sysfs tcl tcpd tiff tk truetype unicode usb utempter vorbis webdav-serf xcomposite xorg xpm xulrunner xv zlib zsh-completion" ALSA_CARDS="emu10k1 loopback seq-dummy dummy" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB sv sv_SE" USERLAND="GNU" VIDEO_CARDS="vesa fbdev nv nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Arvid Norlander 2009-04-28 22:06:00 UTC
Found some more details when manually compiling it:
checking for wxWidgets version >= 2.8.0 (--unicode)... no (version 2.6.4 is not new enough)
configure: WARNING:
                wxWidgets must be installed on your system.

                Please check that wx-config is in path, the directory
                where wxWidgets libraries are installed (returned by
                'wx-config --libs' or 'wx-config --static --libs' command)
                is in LD_LIBRARY_PATH or equivalent variable and
                wxWidgets version is 2.8.0 or above.

But:
[I] x11-libs/wxGTK
     Available versions:
        (2.6)   2.6.4.0-r4
        (2.8)   2.8.9.1-r3 ~2.8.9.2 ~2.8.9.2-r1

Both are installed. The ebuild should be able to select the right one as far as I can see. Hope this is fixed soon.
Comment 2 Arvid Norlander 2009-04-28 22:07:09 UTC
(In reply to comment #1)
>      Available versions:
>         (2.6)   2.6.4.0-r4
>         (2.8)   2.8.9.1-r3 ~2.8.9.2 ~2.8.9.2-r1
Err this was unclear (forgot that colour coding wasn't shown in bugzilla).

Installed versions:  2.6.4.0-r4(2.6)(13:26:25 10/17/08)(X opengl sdl unicode -debug -doc -gnome -odbc -pch)
                     2.8.9.1-r3(2.8)(00:28:07 01/20/09)(X gstreamer opengl sdl -debug -doc -gnome -odbc -pch)
Is more relevant.
Comment 3 Christian Faulhammer (RETIRED) gentoo-dev 2009-04-29 05:39:47 UTC
Thanks for your report.  Could you please tell me what the output of

   eselect wxwidgets list

is?
Comment 4 Arvid Norlander 2009-04-29 09:41:37 UTC
# eselect wxwidgets list
Available wxWidgets profiles:
  [1]   gtk2-ansi-release-2.6
  [2]   gtk2-unicode-release-2.6 *
  [3]   gtk2-unicode-release-2.8

As far as I remember, ebuilds are supposed to select the ones they need using some eclass, the eselected one only being used for out-of-portage builds.
Comment 5 Christian Faulhammer (RETIRED) gentoo-dev 2009-04-29 11:09:57 UTC
(In reply to comment #4)
> # eselect wxwidgets list
> Available wxWidgets profiles:
>   [1]   gtk2-ansi-release-2.6
>   [2]   gtk2-unicode-release-2.6 *
>   [3]   gtk2-unicode-release-2.8
> 
> As far as I remember, ebuilds are supposed to select the ones they need using
> some eclass, the eselected one only being used for out-of-portage builds.

 Yes, I know, but I wanted to be sure, that you really have something different from 2.8.  So thanks for the information, will update the ebuild today.

Comment 6 Christian Faulhammer (RETIRED) gentoo-dev 2009-04-29 13:00:48 UTC
Should be fixed now, remerge and report back please.
Comment 7 Mart Raudsepp gentoo-dev 2009-04-29 13:20:07 UTC
I don't think you can do it like you did for conditional wxwidgets support. I believe it will now require wxwidgets to be available even with USE=-wxwindows

I'm not sure what exactly must be done for that offhand, but at least it seems you should have your own pkg_setup that overrides wxwidgets_pkg_setup because that one seems to make an unconditional check for wxGTK existence.
Maybe we shouldn't export pkg_setup with EAPI=2, hmm...

CCing wxwidgets@ to make sure my thoughts are right for erlang ebuild changes - dirtyepic, can you comment?
Maybe we should discuss on IRC with dirtyepic about conditional use of wxwidgets and document how to do that in the eclass
Comment 8 Ryan Hill (RETIRED) gentoo-dev 2009-04-29 14:40:49 UTC
it only checks during pkg_setup if WX_GTK_VER is set before inheriting the eclass AND you only have wxBase installed.  it's to catch some corner case Diego came up with.  so yes, if wxGTK was built with USE=-X and erlang is emerged with USE=-wxwindows you'll still get a error.  i think overriding pkg_setup should work but i haven't looked at it too hard yet.  i'll poke at it later today.
Comment 9 Christian Faulhammer (RETIRED) gentoo-dev 2009-04-29 15:12:30 UTC
pkg_setup() {
	use wxwindows && wxwidgets_pkg_setup
}

Is my proposal
Comment 10 Christian Faulhammer (RETIRED) gentoo-dev 2009-04-29 20:42:56 UTC
(In reply to comment #9)
> pkg_setup() {
>         use wxwindows && wxwidgets_pkg_setup
> }
> 
> Is my proposal

 And I go with that.

Comment 11 Ryan Hill (RETIRED) gentoo-dev 2009-04-29 22:07:53 UTC
good enough for me ;)