After emerging XDirectFB, I (and several other users on the forums) seem to encounter a bug where the main binary is not generated. There are two errors late in the emerge, one where 'stat' does not find the file, the other where the ebuild tries to set it to 0755 permissions. I've set portage up to not delete it's temporary/work directories and compiled it again, but couldn't find any executable in /var/tmp/portage named XDirect* Reproducible: Always Steps to Reproduce: 1. Emerge xdirectfb Actual Results: Installation 'completed', but executable was not generated/installed. Expected Results: See above Portage 2.0.51-r8 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r10 i686) ================================================================= System uname: 2.6.9-gentoo-r10 i686 Pentium II (Deschutes) Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4 [2.3.4 (#2, Dec 8 2004, 06:31:19)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.3 sys-devel/binutils: 2.15.92.0.2-r1, 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.6.8.1-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium2 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium2 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks fixpackages sandbox sfperms userpriv" GENTOO_MIRRORS="ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://mirror.nutsmaas.nl/gentoo http://gentoo.binarycompass.org http://gentoo.osuosl.org/distfiles" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x86 3dnow X acl acpi alsa apm arts avi berkdb bitmap-fonts crypt cups curl dga directfb dri encode ethereal fam fbcon foomaticdb fortran gdbm gif gpg gpm gtk gtk2 imagemagick imap imlib ipv6 ithreads jpeg lcms libwww mad maildir mikmod motif mpeg ncurses nls nojoystick noplugin nptl nptlonly oggvorbis opengl oss pam pcmcia pdflib perl png pnp pthreads python qt quicktime readline sdl slang snmp spell sqlite sse ssl svga tcltk tcpd threads tiff truetype truetype-fonts type1-fonts unicode usb userlocales vim-with-x xml2 xmms xv zlib" Running XOrg 6.8.1.901
If you downgrade to xorg 6.8.0-r4, does the binary get produced?
My home machine was running xorg 6.8.0-r3 and it experienced the same issue. It too does not generate the executable at version 6.8.1.901. Does the version of xorg installed really matter? I thought I saw this downloading and compiling against the XFree 4.3.x sources. I was hoping to see some error during compilation, but I didn't see any glaring ones - just warnings. Here's the first indication I have something's wrong: Thu Dec 30 20:11:33 CST 2004 Full build of XFree86 version 4.3.0 (27 February 2003) complete. >>> Test phase [not enabled]: x11-base/xdirectfb-1.0_rc5-r1 >>> Install xdirectfb-1.0_rc5-r1 into /var/tmp/portage/xdirectfb-1.0_rc5-r1/image/ category x11-base install: cannot stat `/var/tmp/portage/xdirectfb-1.0_rc5-r1/work/xc/programs/Xserver/XDirectFB': No such file or directory
I tried it having xfree-4.3.0-r8, and xorg-x11-6.8.1.901 in seperate occassions and the result was same. Furthermore, someone claimed switching to gcc-3.3.4 resolves the issue. I tried gcc-3.4 and gcc-3.3.4 with no luck! I do however see some errors in the compilation which I've included below, but like all others, mine merges fine as well and then the executable is missing, so maybe these errors are holding it back: I encounter two classes of errors: 1. this happens for few files, but i don't think it's anything major directfbCursor.c: In function `MakeCursorSurface': directfbCursor.c:84: error: parse error before string constant directfbCursor.c:91: error: parse error before string constant directfbCursor.c: In function `XDirectFBInitCursor': directfbCursor.c:481: warning: use of cast expressions as lvalues is deprecated make[5]: *** [directfbCursor.o] Error 1 2. i personally feel this is THE related error make[5]: Leaving directory `/var/tmp/portage/xdirectfb-1.0_rc5-r1/work/xc/programs/Xserver/hw/directfb' make[4]: *** [hw/directfb] Error 2 make[4]: *** No rule to make target `hw/directfb/libdirectfb.a', needed by `XDirectFB'. make[4]: Target `all' not remade because of errors. this is with regards to DirectFB-0.9.21 and xdirectfb-1.0_rc5-r1 versions. emerge info is as follows: Portage 2.0.51-r8 (default-linux/x86/2004.0, gcc-3.4.3, glibc-2.3.3_pre20040207-r0,glibc-2.3.3_pre20040420-r0,glibc-2.3.3.20040420-r0,glibc-2.3.4.20040619-r1,glibc-2.3.4.20040808-r1,glibc-2.3.4.20040619-r0,glibc-2.3.4.20040808-r0,glibc-2.3.4.20041102-r0, 2.6.8-rc4-mm1 i686) ================================================================= System uname: 2.6.8-rc4-mm1 i686 AMD Athlon(TM)Processor Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4_rc1,dev-lang/python-2.2.3-r5,dev-lang/python-2.3.3-r1,dev-lang/python-2.3.3,dev-lang/python-2.3.4 [2.3.4 (#1, Jun 5 2004, 21:18:14)] dev-lang/python: 2.3.4_rc1, 2.2.3-r5, 2.3.3-r1, 2.3.3, 2.3.4 sys-devel/autoconf: 2.59-r3, 2.59-r4, 2.59-r5, 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r1, 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.8.2, 1.8.3, 1.8.5, 1.9.3 sys-devel/binutils: 2.15.92.0.2, 2.15.90.0.3-r1, 2.15.92.0.2-r1, 2.15.92.0.2-r2, 2.14.90.0.8-r1, 2.15.90.0.1.1-r3 sys-devel/libtool: 1.5.2-r5, 1.5.2-r7, 1.5.10-r2, 1.5.6, 1.5.10 virtual/os-headers: 2.4.22, 2.4.19-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="no" CFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -fomit-frame-pointer -mmmx -m3dnow -ffast-math" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/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/ /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -fomit-frame-pointer -mmmx -m3dnow -ffast-math" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://darkstone.rdg.ac.uk/gentoo-portage" USE="x86 3dnow X aalib acl alsa apm arts avi berkdb bitmap-fonts cdr crypt cups dga directfb dvd encode esd fam fbcon fbdev flac font-server foomaticdb fortran gd gdbm ggi gif gnome gpm gtk gtk2 imagemagick imap imlib ipv6 jack java jpeg junit kerberos krb4 ldap libwww mad mbox mikmod mmx mmx2 motif mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python quicktime radeon readline sasl sdl slang speex spell src sse ssl svga tcltk tcpd tetex threads tiff transcode truetype truetype-fonts type1-fonts videos xine xml xml2 xmms xv zlib"
Could someone please attach a full compilation log instead of snippets?
Created attachment 47395 [details] Output from 'emerge -vd xdirectfb 2>&1 > xdirectfb_emerge.log.gz'
Created attachment 47417 [details] emerge xdirectfb output since i couldn't find the errors i mentioned in the submitted log, i thought i'd submit mine as well, in case useful. 'emerge -vd xdirectfb >& log.txt' lines of errors are: 21124 (and 21139, 21147, 21161), 21185, and 25635.
Comment on attachment 47417 [details] emerge xdirectfb output since i couldn't find the errors i mentioned in the submitted comment, i thought i'd submit mine as well, in case useful. 'emerge -vd xdirectfb >& log.txt' lines of errors are: 21124 (and 21139, 21147, 21161), 21185, and 25635.
This version of XDirectFB is ancient anyway! They're up to 1.6.4 now! I've been trying to compile it myself but it's really confusing. Could someone make a new ebuild?
The latest XDirectFB is 1.0-rc5. "xdirectfb-1.6.4.tar.bz2" that you can download from directfb.org, is a previous incarnation of XDirectFB by the looks of it. Speaking of which, why is it "xdirectfb" in portage, and not XDirectFB ? If DirectFB has to have the upper case letters, so should XDirectFB. I'm still seeing this bug, using xorg-x11-6.8.2-r1, DirectFB-0.9.21 and gcc-3.3.5-r1. Should we report this upstream?
I'm thinking so; I just tried again today after a new kernel and XOrg compile (2.6.11-r3 and 6.8.2-r1). I've also recently (yesterday) compiled DirectFB 0.9.22 and am attempting with 1.0_rc5-r1. I'd really like to try this thing out.
DirectFB was a poor name chose by whoever added it to portage.
FYI: I've found that directfbX.c in xc/programs/Xserver/hw/directfb does not compile. It seems that in the function DPMSSet, the IDirectFBDisplayLayer *layer object does not have a SetScreenPowerMode function call any more. I've looked at the dfb manual, http://directfb.org/docs/DirectFB_Reference/IDirectFBDisplayLayer.html and it does not reference this function. I'm thinking that the solution is probably to either downgrade xdirectfb, or to get the latest xdirectfb from directfb.orgs web site and try that. I've commented out this code and am trying a compile. libdirectfb seems to get built, but I'm waiting on the rest of the build and on my 233mhz it could be a day or two.
It seems my build did not take all day, like I thought it would. Okay after commenting out the 2 lines in directfbX.c XDirectFB now compiles to completion. I believe that these two lines have to do with DPMS, so I am not sure what the result will be by comment thse out. My compiled XDirectFB is linked againt the correct DirectFB now, and after chaning perms to 6755, and putting it in /usr/X11R6/bin manually, it is now up and running. The two lines are lines 705 and 706 in directfbX.c, which are if ( layer->SetScreenPowerMode(layer, mode) == DFB_OK ) DPMSPowerLevel = level; It seems that the SetScreenPowerMode has been moved from the layer to the screen (http://www.directfb.org/index.php/viewcvs.cgi/DirectFB/tools/dfbinfo.c) It runs okay otherwise. 1) I think the ebuild should fail to build, I don't know why it does not. When I went into the directory I actually got an error on the compilation of that file. 2) I believe the current ebuild version needs DirectFB 9.18, I think or 19.
If you want to fix up the source so that DPMS works again and provide an ebuild, we'd be happy to commit it.
Created attachment 64147 [details] fix DPMS code so that it compiles This is the changed directfbX.c file. If someone makes a diff of this XDirectFB should compile and run again. Then a new ebuld of this can be done. I have no idea how to do ebuilds or the proper diff to do. This file is in xc/programs/Xserver/hw/directfb . Not sure what the diff should be.
I just downloaded and compiled the latest CVS nightly snapshot (last updated about 4 months ago). It works fine without modification, compiled against xorg 6.8.2. I could update the ebuild to match, but I'm guessing it won't get entered into portage on account of it being from CVS? I don't think the DirectFB guys are going to make regular releases of XDirectFB, it being mainly a proof of concept and all. Is it worth me making an ebuild?
We could probably do something creative like add a new revision, with a patch up to current CVS.
Any updates on this issue? I'm bitten by the same bug... Any news when the updated packages will be available in portage? Thanks, Richie
Alrighty, I've just uploaded -r2 and the associated patchset. It now builds the binary; please give it a try. It still uses the old X11R6 directory structure, something I'd like to change depending on the outcome of testing. Let me know.
Okay I have just tested this. I had to emerge the masked package. One issue I am now running into is that I get a blank screen and have to hit ctl-alt-f7 in order to get to the XDirectFB screen. I get a blue screen then it goes blank with a single _ cursor in the corner. If I hit ctl-alt-f7 I get the real screen. I'm guessing this issue is a new bug, as XDriectFB does compile, but it may not necessarily be a bug, it could be something in my configuration? I'd say lets use the new X11R6 or whatever directory struture you are talking about and then I'll emerge that (assuming it will be -r3) and test it. Maybe that will fix this weird vt switing issue? I wonder if this has anything to do with the weird message "Running 'VT Switcher' (CRITICAL, 8273)...
So, what are the necessary actions to get this to work? i see the modified C source.. do i manually build the source with this file in place of the old?
You should just be able to emerge the masked version of the package. It's apparently still broken so I haven't unmasked it. Maybe if I have some time coming up I'll try to make a new version and we'll see if anything's fixed.