You are not logged in.
Pages: 1
I followed the instructions on the wiki: http://wiki.archlinux.org/index.php/Dze … t_for_dzen
but these seem incomplete/outdated insofar as the PKGBUILD (in community) includes a patch that overwrites any changes to config.mk:
patch -p0 config.mk <<EOF
22,23c22,23
< LIBS = -L/usr/lib -lc -L\${X11LIB} -lX11
< CFLAGS = -Os \${INCS} -DVERSION=\\"\${VERSION}\\"
---
> #LIBS = -L/usr/lib -lc -L\${X11LIB} -lX11
> #CFLAGS = -Os \${INCS} -DVERSION=\\"\${VERSION}\\"
34,35c34,35
< #LIBS = -L/usr/lib -lc -L\${X11LIB} -lX11 -lXinerama -lXpm
< #CFLAGS = -Os \${INCS} -DVERSION=\\"\${VERSION}\\" -DDZEN_XINERAMA -DDZEN_XPM
---
> LIBS = -L/usr/lib -lc -L\${X11LIB} -lX11 -lXinerama -lXpm
> CFLAGS = -Os \${INCS} -DVERSION=\\"\${VERSION}\\" -DDZEN_XINERAMA -DDZEN_XPM
EOFI tried a number of things: including the lines in config.mk and deleting the patch in the PKGBUILD, adding the lines into the PKGBUILD, etc - in all cases the package compiled without error, but xft was not enabled in dzen.
What am I missing? 1. How do you get the changes to config.mk to stick? 2. What needs to be changed in the wiki to reflect this?
Offline
This is a package in the AUR that has xft already enabled.
Offline
Thanks schen: I had seen this but was only wanting xft enabled (minimalism) and was also keen to a) understand what was going on with the PKGBUILD, and b) update the wiki.
Offline
Maybe try looking at the code in that one and replicate it? Ask the person who maintains the package how to add xft.
Offline
Thanks again schen.
I used the svn PKGBUILD to modify mine:
build()
{
cd $startdir/src/dzen2-$pkgver
make X11INC=/usr/include/X11 X11LIB=/usr/lib/X11 \
CFLAGS=" -Wall -Os ${INCS} -DVERSION=\"${VERSION}\" -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT `pkg-config --cflags xft`" \
LIBS=" -L/usr/lib -lc -L${X11LIB} -lX11 -lXinerama -lXpm `pkg-config --libs xft`" || return 1
make PREFIX=/usr DESTDIR=$startdir/pkg install || return 1
make PREFIX=/usr MANPREFIX=/usr/man DESTDIR=$startdir/pkg install || return 1
install -m644 -D LICENSE $startdir/pkg/usr/share/licenses/dzen2/COPYING
}and then removed config.mk from the @cp -R line in the Makefile to prevent it being overwritten. While that worked, it doesn't strike me as a particularly smart way to do it...
Offline
I'm resucitating this thread because (a) none of the facts have changed substantially*, and (b) I have the same issue and I would really like to understand what is going on.
The ABS PKGBUILD should as far as I can tell, compile dzen2 with XFT support:
> LIBS = -L/usr/lib -lc -L\${X11LIB} -lX11 -lXinerama -lXpm `pkg-config --libs xft`
> CFLAGS = -Os \${INCS} -DVERSION=\\"\${VERSION}\\" -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT `pkg-config --cflags xft`but it consistently fails to do so. Is this a bug, or am I missing something obvious?
As I mentioned above, I have tried hand patching the config.mk file, copying the make statements and the config.mk from the (working) AUR package and in all cases the package compiles without complaint, only there is no XFT support.
I am using the AUR package in the interim, but I would like some pointers on where this is going awry...
* The package is newer and the patchlines slightly different, but the underlying issue is the same
Offline
I've been using the dzen2-svn AUR package for a very long time and it links against libXft:
~ > ldd /usr/bin/dzen2 | grep -i xft
libXft.so.2 => /usr/lib/libXft.so.2 (0x00007ff7410a5000)Am I not understanding the problem?
--EDIT for sanity check--
I forget the ldd isn't the best tool for the job:
~ > readelf -d /usr/bin/dzen2 | grep -i xft
0x0000000000000001 (NEEDED) Shared library: [libXft.so.2]Last edited by skottish (2011-10-29 03:02:20)
Offline
Thanks Skottish.
The svn package is all good.
I am trying to improve my understanding of make{pkg,files} by using the ABS PKGBUILD*: but it doesn't work - as far as my noodling around takes me anyway.
The patch in the ABS dzen2 PKGBUILD should alter the config.mk to include the XFT libs, but it compiles without XFT support (contrary to the advice in the wiki).
I can't work out if this is a bug in the PKGBUILD, config.mk, the wiki (all possible but of a vanishingly small likelihood), or a bug in my understanding (place your bets...)
* Also, I already have git and mercurial installed; it would be nice not to have to have subversion for the one package
Last edited by jasonwryan (2011-10-29 03:50:01)
Offline
I see what you're talking about now. Your problem is that the default CFLAGS in /etc/makepkg.conf are overriding what's in the PKGBUILD of the dzen2 ABS code. I'm not an expert at this stuff, but it seems reasonable that using an external patch file may resolve this issue as it works everywhere else. Interestingly, after installing a build from ABS, readelf was still showing libXft as NEEDED, but xft support was clearly not working.
Offline
Interestingly, after installing a build from ABS, readelf was still showing libXft as NEEDED, but xft support was clearly not working.
That's what I am talking about. It's not right, is it?
I tried to append the flags, rather than replace them, but that didn't work.
This is looking like a bug in the PKGBUILD...
Offline
This is rather specific about an AUR package problem.
Moving to Creating & Modifying Packages (as requested by Jason).
To know or not to know ...
... the questions remain forever.
Offline
try adding:
options=(!buildflags)
in PKGBUILD
Offline
Thanks Snowman, nice idea - but no, it doesn't work.
I am completely at a loss. The dzen2-xft-xpm-xinerama-svn in AUR package builds with XFT without any issues and, after experimenting with various combinations of that PKGBUILD and config.mk I still can't get it to work with the community package.
Offline
Complete noob here, but I was struggling to get the dzen2-xft-xpm-xinerama-svn AUR package to compile, and simply couldn't for quite a while. I tried both with packer and with a manual make/install, using the flags specified in the wiki, but constantly ran into this error:
/usr/bin/ld: draw.o: undefined reference to symbol 'XFillArc'
/usr/bin/ld: note: 'XFillArc' is defined in DSO /usr/lib/libX11.so.6 so try adding it to the linker command line
/usr/lib/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [dzen2] Error 1
==> ERROR: A failure occurred in build().
Aborting...I noticed this comment in the AUR page about 15 minutes ago:
I got it to compile by changing line 38 from this:
LIBS=" -L/usr/lib -lc -L${X11LIB} -lX11 -lXinerama -lXpm `pkg-config --libs xft`" || return 1Into this:
LIBS=" -L/usr/lib -lc -L${X11LIB} -lXss -lX11 -lXinerama -lXpm `pkg-config --libs xft`" || return 1
This additional flag (-lXss) allowed the package to compile. I do not know why, and I don't know if it will help you, Jason; but I thought I'd post anyway.
Offline
Pages: 1