Kdelibs with avahi
I have modified the kdelibs PKGBUILD from abs to use avahi instead of mdnsresponder, it anyone wants it.
Just place this in the abs dir for kdelibs:
# $Id: PKGBUILD,v 1.53 2006/01/27 15:56:49 tpowa Exp $
# Contributor: Roman Kreisel <[email protected]>
# Maintainer: Tobias Powalowski <[email protected]>
pkgname=kdelibs-avahi
pkgver=3.5.1
kdever=3.5.1
pkgrel=1
pkgdesc="KDE Core Libraries"
url="http://www.kde.org"
groups=('kde')
depends=('arts>=1.5.1' 'db' 'libxslt' 'pcre' 'libart-lgpl' 'openexr' 'avahi' 'jasper'
'fam' 'bzip2' 'openssl' 'libidn' 'perl' 'aspell' 'heimdal' 'acl' 'libtiff' 'qt>=3.3.5')
makedepends=('cups')
provides=('kdelibs')
conflicts=('kdelibs')
# for easier build, just uncomment the mirror you want to use
mirror="ftp.solnet.ch/mirror/KDE" # updated every 2 hours, very fast for Europe
# mirror="ftp.kde.org/pub/kde/" # main server
# mirror="ibiblio.org/pub/mirrors/kde/" # ibiblio mirror
source=(ftp://$mirror/stable/$kdever/src/kdelibs-$pkgver.tar.bz2
applications.menu.patch kdeprintrc.patch fileshareset-wrapper.c kde-menu.patch xdg-icon-lookup.patch
html_misc.patch
http://helios.et.put.poznan.pl/~jstachow/pub/kdnssd-avahi_0.1.2.orig.tar.gz)
build() {
# Source the QT and KDE profile
[ "$QTDIR" = "" ] && source /etc/profile.d/qt.sh
[ "$KDEDIR" = "" ] && source /etc/profile.d/kde.sh
# start building
cd $startdir/src/kdelibs-$pkgver
patch -Np1 -i $startdir/src/kde-menu.patch || return 1
patch -Np0 -i $startdir/src/xdg-icon-lookup.patch || return 1
patch -Np0 -i $startdir/src/applications.menu.patch || return 1
# fix for kdebindings
patch -Np4 -i ../html_misc.patch || return 1
#automake
./configure --prefix=/opt/kde --with-distribution="Arch Linux" --with-alsa
--disable-dependency-tracking --disable-debug
--enable-dnotify --enable-sendfile --without-hspell
--enable-gcc-hidden-visibility --enable-final --disable-dnssd
# --enable-final # remove this if you build with < 512mb ram.
make || return 1
make DESTDIR=$startdir/pkg install || return 1
# Hack-ish way to get Avahi support
cd $startdir/src/kdnssd-avahi-0.1.2
./configure --prefix=/opt/kde
cd kdnssd-avahi && make mocs && make
cd ../
make || return 1
make DESTDIR=$startdir/pkg install
# Set cups as default printing system
cd $startdir/pkg/opt/kde/share/config
patch -Np0 -i $startdir/src/kdeprintrc.patch || return 1
# fix that stupid fileshareset suid problem
mv $startdir/pkg/opt/kde/bin/fileshareset $startdir/pkg/opt/kde/bin/fileshareset.pl
gcc -Wall $startdir/src/fileshareset-wrapper.c -o $startdir/pkg/opt/kde/bin/fileshareset
chmod 0755 $startdir/pkg/opt/kde/bin/fileshareset.pl
chmod 4755 $startdir/pkg/opt/kde/bin/fileshareset
rm $startdir/pkg/opt/kde/bin/filesharelist
cd $startdir/pkg/opt/kde/bin/
ln -s fileshareset.pl filesharelist
md5sums=('2a22193ae7c23f3759b02723dab02d30' 'a66270abcdd0dcb2e28d3b2464927ff6'
'6061c259247f56f0ede21deabfad2732' '60ab1a486895d6c18ef334ec958c48d6'
'e94aef45b5a59fe58c7cc085ab1dd3ae' '3627a48526fefa2fe2beeff43f35ac0f'
'ac1421ba31fe20e8108b5ffb509b11b0' '36e7073d39d692c9f45b22c1044eb563')
Well, I got one report claiming this as a success, you just need avahi started before getting into kde or else kicker will go bonkers
Similar Messages
-
Getting file sharing with Avahi working...
I am trying to get files from another computer on my home network. I have set up the Kpf applet, and I can browse the files happily on the host computer. But when I try it on a different computer running KDE, I get this:
An error occurred while loading zeroconf://local/_http._tcp/(shared folder):
Unknown host (hostname).local
I am getting to it from the zeroconf:/ kio slave. Why isn't it working? I have avahi's daemons running...
EDIT: Ok I found out that the system trying to connect can't connect to a share of a folder on it. Maybe that's the problem? I can also connect to the share on system that's trying to connect. Also the system that's trying to connect is wireless with an ndiswrapper driver... I'm hoping that's not the problem.
I have searched around and found a howto on the Ubuntu Forums here:
http://ubuntuforums.org/showthread.php? … ight=avahi
Which says to use vsftpd, which doesn't seem to be working for me (I think). Is there a way to test it?
Last edited by miggols99 (2007-09-27 18:43:02)Hi,
I have same problem, someone solve this?
Thanx. -
I want to browse my LAN, but when I go into nautilus, the only things there are "Windows Network" and "SFTP File Transfer on <hostname>". I've installed Avahi, the daemons are started and I've added "capability" to my modules. So how do I browse files on my LAN? I've installed Bonjour on my windows dual boot for Avahi and avahi is installed and up and running on the Arch Linux partition too.
Perhaps you could describe you network in a little more detail.
Is this a Workgroup home network or are you connected to a Domain server?
If this is a workgroup are you connecting to the internet via a cable or DSL router?
Do other computers on your network connect OK?
Has your S10e ever worked properly on the network?
Are you connecting via a wireless access point or LAN cable?
What do you Ping on and from where?
Can you Ping OK on another networked computer?
Open up a DOS Prompt (aka command prompt, DOS Box). and type IPCONFIG /ALL <enter>. Do you get a compatible IP address and subnet mask? You should also get the gateway IP address. -
Avahi conflicts with nss-mdns. [solved]
I'm confused. Went to update today, and got this message:
:: avahi conflicts with nss-mdns. Remove nss-mdns? [Y/n]
I thought 'Fair enough...' but I always check packages like this with -Si to know what's actually happening in my system. Soo, I run:
$ pacman -Si avahi
Repository : extra
Name : avahi
Version : 0.6.6-2
Groups : None
Provides : howl mdnsresponder
Depends On : dbus libcap libdaemon nss-mdns
Conflicts With : howl mdnsresponder
Replaces : None
Size (compressed) : 557952
Description : A multicast/unicast DNS-SD framework
MD5 Sum : 52ec5424dde107d8099637feb3076925
Now, this is why I'm confused. -Si tells me avahi depends on nss-mdns. When I try to install, it tells me they conflict.
So.... which is right?
-=edit=-
Okay, I've found something else out that may be pertinent. Currently, the packages I have for avahi and nss-mdns depend on each other. That is:
$pacman -Si nss-mdns avahi
Name : nss-mdns
Version : 0.7-3
Depends On : avahi
Required By : avahi kdelibs
Name : avahi
Version : 0.6.5-1
Depends On : dbus libcap libdaemon nss-mdns
Required By : nss-mdns
However there are new packages for both avahi and nss-mdns available in the repos. (0.7-4 and 6.6-2 respectively)
The thing is, pacman isn't picking up the new nss-mdns package with a -Syu operation, and gives me that conflicts line... I'm going to try updating nss-mdns first then see if that fixes it.
-=edit again=-
Geez, I hate it when I post something and moments later figure it out myself. The newest versions of nss-mdns and avahi break the dependancy cycle I noted above; that is, nss-mdns no longer depends on avahi. If I manually updated nss-mdns first, pacman now installs avahi with no problem.
I'm wondering, is this worth a bug report? I'm not surprised a cyclic dependancy like that would cause wierd behaviour...murkus wrote:snip
$ pacman -Si avahi
Repository : extra
Name : avahi
Version : 0.6.6-2
Provides : howl mdnsresponder
Depends On : dbus libcap libdaemon nss-mdns
Conflicts With : howl mdnsresponder
You get that error because they DO conflict. Do you have mdnsresponder installed?
If so, and you want avahi, then you'll have to remove mdnsresponder and install avahi. -
Journalctl with no PID message for cups and avahi contemporary failure
I have facing a persistent problem with avahi-daemon and cups as systemd services. They have been enabled but fallen in a failed state as being started. Any investigation of the failures by journalctl (using _PID=) returned no useful info (log period only). Is there another way how to find why the services failed? A dependency between cups and avahi should be IMHO optional and recommended only for those using printers connected remotedly (or managable by users in cups.conf). I cannot identify wheather the failures are caused by systemd issue, some wrong config file or missing some needed file. Any idea? Thank you all.
Had similar issue with my HP Deskjet F4500C All in one printer, here's what I did:
make sure these packages are installed or install them
pacman -S cups cups-pdf hplip pyqt3 python2-pyqt
pacman -S system-config-printer-gnome
rc.d cups start
To add device and install hp driver:
1. Run ‘hp-setup’ as root.
2. Click ‘Show Advanced Options’ button and check-enable ‘Manual Discovery’.
3. Enter IP address 192.168.59.63 in the ‘…device ID…’ entry and click ‘Next’ to install driver.
run system-config-printer as root, to add printer
# system-config-printer
click “Add”, Select Device -> Network Printer -> input the IP address of the printer such as “192.168.1.3″, click “Find” -> “Process”
you should be ok from here, if not some further steps:
If you encounter the following error:
File “/usr/share/system-config-printer/newprinter.py”, line 1531, in getNetworkPrinterMakeModel
debugprint (host + “: ” + args)
TypeError: cannot concatenate ‘str’ and ‘list’ objects
You should comment out the error line at 1531 of newprinter.py, and then continue to add the printer.
4). Finally, you can run hp-check to see what problems exists for the printer. -
Kdelibs, avahi, and compatibility module [solved]
I'm running into a little dependancy problem here.
Somehow I have managed to have avahi installed but no compatibilty module (in kernel?).
So, I'm thinking why do I need avahi, but:
yaourt -R avahi
Password:
loading package data...
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: gnome-vfs: requires avahi>=0.6.20
:: gshare: requires avahi
:: kdelibs: requires avahi>=0.6.9
But, I'm using KDE, so how do I get this compatibility module?
Last edited by archdave (2008-08-06 17:57:00)ahhhh!
I see this compatibility module is now incorporated into the kernel (2.6.24) so that's why it doesn't load when put in the modules line of /etc/rc.conf
So now it's making more sense. -
Kdelibs-noarts -- help please, doesn't work [solved]
I'm a xfce user and just want amarok and sometimes k3b and k9copy from kde. I don't want any konqueror, kwrite, arts or any other bloated stuff in my machine. So, i modified the kdelibs PKGBUILD to suit my needs -without arts nor avahi dependency/support.
It builds and runs fine, but when restarting my system (or installing it without having official kdelibs package previously installed) i have no symlinks to the bins. I also have no menu items for kde-apps. If i try to run amarok (for example) from terminal giving the whole address (/opt/kde/bin/amarokapp) it runs ok giving no error, so i guess the problem is just that my kdelibs pkg isn't making the appropriate symlinks during boot?
Thanks in advance for any help.
Here is the PKGBUILD:
pkgname=kdelibs-noarts
pkgver=3.5.6
kdever=3.5.6
pkgrel=1
pkgdesc="KDE Core Libraries klein"
arch=(i686 x86_64)
url="http://www.kde.org"
provides='kdelibs'
conflicts='kdelibs'
replaces='kdelibs'
groups=('kde')
depends=('db' 'libxslt' 'pcre' 'libart-lgpl' 'openexr'
'jasper' 'fam' 'bzip2' 'openssl' 'libidn' 'perl'
'aspell' 'heimdal' 'acl' 'libtiff' 'qt>=3.3.7')
makedepends=(pkgconfig cups)
# for easier build, just uncomment the mirror you want to use
# mirror="ftp.solnet.ch/mirror/KDE" # updated every 2 hours, very fast for Europe
mirror="ftp.kde.org/pub/kde" # main server
# mirror="ibiblio.org/pub/mirrors/kde/" # ibiblio mirror
source=(ftp://$mirror/stable/$kdever/src/kdelibs-$pkgver.tar.bz2
#http://www.archlinux.org/~jgc/kdnssd-avahi-20060319.tar.bz2
applications.menu.patch
kdeprintrc.patch
fileshareset-wrapper.c
kde-menu.patch
xdg-icon-lookup.patch
kicker-crash.patch
inotify.patch
qxembed.cpp.patch)
build() {
# Source the QT and KDE profile
[ "$QTDIR" = "" ] && source /etc/profile.d/qt.sh
[ "$KDEDIR" = "" ] && source /etc/profile.d/kde.sh
# start building
cd $startdir/src/kdelibs-$pkgver
patch -Np1 -i $startdir/src/kde-menu.patch || return 1
# patch -Np0 -i $startdir/src/xdg-icon-lookup.patch || return 1
patch -Np0 -i $startdir/src/applications.menu.patch || return 1
patch -Np0 -i $startdir/src/kicker-crash.patch || return 1
patch -Np0 -i $startdir/src/inotify.patch || return 1
patch -Np4 -i $startdir/src/qxembed.cpp.patch || return 1
# Replace dns-sd implementation with avahi implementation
# rm dnssd/*
# cp -r ${startdir}/src/kdnssd-avahi-20060319/* dnssd/
# rm dnssd/configure{,.in}
# sed -i -e 's/kdnssd-avahi/dnssd/g' dnssd/configure.in.in
# sed -i -e 's|ksocketaddress.h|network/ksocketaddress.h|' dnssd/publicservice.cpp
#Needed for updated kdnssd-avahi and inotify patch
make -f admin/Makefile.common dist
./configure --prefix=/opt/kde --with-distribution="Arch Linux" --with-alsa
--disable-dependency-tracking --disable-debug
--disable-dnotify --enable-inotify --enable-sendfile --x-libraries=/usr/share
--without-lua-dir --without-lua-includes --without-lua-libraries
--without-hspell --enable-gcc-hidden-visibility --without-arts --enable-final
--enable-new-ldflags LDFLAGS="${LDFLAGS} -L/opt/qt/lib"
# --enable-final # remove this if you build with < 512mb ram.
make || return 1
make DESTDIR=$startdir/pkg install || return 1
# Set cups as default printing system
cd $startdir/pkg/opt/kde/share/config
patch -Np0 -i $startdir/src/kdeprintrc.patch || return 1
# fix that stupid fileshareset suid problem
mv $startdir/pkg/opt/kde/bin/fileshareset $startdir/pkg/opt/kde/bin/fileshareset.pl
gcc -Wall $startdir/src/fileshareset-wrapper.c -o $startdir/pkg/opt/kde/bin/fileshareset
chmod 0755 $startdir/pkg/opt/kde/bin/fileshareset.pl
chmod 4755 $startdir/pkg/opt/kde/bin/fileshareset
rm $startdir/pkg/opt/kde/bin/filesharelist
cd $startdir/pkg/opt/kde/bin/
ln -s fileshareset.pl filesharelist
md5sums=('f2da82c44b8a4e177018732e64a83a36' #'b7b98e965960f2d55741a10070aa943d'
'a66270abcdd0dcb2e28d3b2464927ff6' '6061c259247f56f0ede21deabfad2732'
'60ab1a486895d6c18ef334ec958c48d6' 'e94aef45b5a59fe58c7cc085ab1dd3ae'
'f7abfe849e5122dd01d6b8a884999da0' '091d05a08330372ddbaf5ef9d426be53'
'42d288e71fa0a886bc8882c198a27f2e' 'b697d458119880d0333dd368304e30aa')I fixed it. The problem was so stupid, i forgot to add kde-common as dependency... however, it is working now. I cleaned the PKGBUILD a little and uploaded it to AUR.
-
Ping TPowa: Error Building kdelibs-3.5.7 at dnssd stage
I am trying to rebuild kdelibs using makepkg, but I get the following error when it tries to compile dnssd
Making all in dnssd
make[2]: Entering directory `/var/abs/extra/kde/kdelibs/src/kdelibs-3.5.7/dnssd'
/bin/sh ./config.status --recheck
/bin/sh: ./config.status: No such file or directory
make[2]: *** [config.status] Error 127
make[2]: Leaving directory `/var/abs/extra/kde/kdelibs/src/kdelibs-3.5.7/dnssd'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/abs/extra/kde/kdelibs/src/kdelibs-3.5.7'
make: *** [all] Error 2
==> ERROR: Build Failed. Aborting...
I see that in the PKGBUILD, we are trying to replace the default kde dnssd with kdnssd-avahi. See here
# Replace dns-sd implementation with avahi implementation
rm dnssd/*
cp -r ${startdir}/src/kdnssd-avahi-20060319/* dnssd/
rm dnssd/configure{,.in}
sed -i -e 's/kdnssd-avahi/dnssd/g' dnssd/configure.in.in
sed -i -e 's|ksocketaddress\.h|network/ksocketaddress\.h|' dnssd/publicservice.cpp
#Needed for updated kdnssd-avahi and inotify patch
I must be missing something, or maybe this is a bug in kdleibs. tpowa is listed as the maintainer, so maybe he will see this and can comment.Nevermind. I built the package as root and all seems to be working. Although, aren't we supposed to able to rebuild every package as a user?
-
Sorry for my poor english but in my language forum I not have response... My server have two interfaces (eth0, bond0), i want avahi publishing netatalk in eth0 and samba with interface bond0... at default avahi publish all service in all interfaces! And if I deny one interface from avahi-daemon.conf this interface is not longer utilized at all.
Editing afp.conf and smb.conf not help, only deny access at specified interface, but is always published with avahi. If i deny bond0 in afp.conf my Mac not able to connect, it grab the first avahi published interface and this is bond0 (or eth0... is random).
The server have 2 interface in two subnet, the Mac is the same. If a do a manual connection (without avahi) always work.
Exist a solution?I have to give up?
-
I came across an interesting conflict today -- if I install gobby and later install gnome I cannot install howl... but... howl WAS installed when I installed gobby, as gobby requires obby and obby requires howl. However when I installed gnome, it seems howl was replaced with avahi, which conflicts with howl, and thus I couldn't install howl again -- gobby complained howl was needed for a collaborative editing session!
So, I decided I didn't need gnome anyhow (I'll stick to blackbox) so I uninstalled gnome (pacman -Rcn gnome), then uninstalled gobby and re-installed it, and viola! howl is back!
Is this kind of caper common with Arch? I must admit it's much more fun than the usual "dependency hell" of RPMs or DEBs -- mostly because I was able to actually get everything working again with some un/re-installing of packages!Yep you're right, avahi and howl are interchangeable.
I uninstalled gobby and howl, and then installed avahi followed by gobby just to check the inter-changeable-ness of avahi and howl, and when I ran gobby the warnings in the console did indeed mention avahi and a howl compatibility layer.
When reverting back to my original howl/gobby setup, uninstalling avahi didn't work with pacman -Rs avahi. I had to use pacman -Rc avahi instead, because nss-mdns depended ON avahi, however nss-mdns was istalled as a dependency OF avahi. Is this a kind of co-dependency?
I'm new to Arch and I've found that these kinds of "inter-dependency puzzles" are handled really well by pacman -- it's awesome -
Cisco WLC with Bonjor services - MSE 3310 compatibility
Hi All,
We have a Cisco WLC 5508 currently running on code 7.2. We have Cisco MSE 3310 appliance (which is EoS & EoS) and it is running on code 7.2 as well.
Now, we want to implement Bonjor Gateway services to support Apple Services such as Apple TV, Apple Printer etc.
My understanding is that in order to deploy Bonjour gateway the controller needs to be at least on version 7.4.
I can upgrade the Controller Code, but I need to know the compatibility between Cisco WLC code 7.4 (7.4.100.0) with Cisco MSE 3310 code (7.3.101.0, as it the highest code available). MSE 3310 appliance compatibility with WLC Code 7.4 ?
I checked the Cisco Software Compatibility Matrix, and it's not clear at all.
http://www.cisco.com/c/en/us/td/docs/wireless/compatibility/matrix/compatibility-matrix.html#pgfId-148309
Thanks and Regards,
CJIf you really want to keep everything compatible, you might want to look at another route, like using Avahi as an mDNS gateway. Take a look at this document... there are other mDNS gateways out there which can work, but this doc is strictly for the Avahi:
http://www.cisco.com/c/en/us/support/docs/wireless/aironet-1100-series-access-point/113443-cuwn-apple-bonjour-dg-00.html
http://www.timabbott.com/computers/multi-vlan-airplay-with-avahi/
Thanks,
Scott
*****Help out other by using the rating system and marking answered questions as "Answered"***** -
How do you announce mt-daapd to avahi?
Has anyone of you successfully announced the mt-daapd service to avahi, so that e.g. Rhythmbox finds the DAAP-Share automatically on startup?
The mt-daapd service is running and I can connect Rhythmbox manually, but when I use "avahi-discover" the daap-Service is not shown and so no program will find it automatically. I must say, I am a bit overwhelmed by the config files for avahi and I don't know how I have to set it up correctly. I have a server that will host the Daap Share and will connect with my laptop. Services like SSH are found by avahi-discover. In the admin pages for mt-daapd there is a field that tells me that MDNS service is not running. I guess it has something to do with this. But I can not start the service from the web-interface.
any help is as always highly appreciated.Well, before doing anything i must tell you than you cannot have two or more mDNS servers in your system (avahi is one and mt-daapd has another one), so you must tell mt-daapd to not load its mDNS server appending "-m" to the binary line in the daemon (/etc/rc.d/mt-daapd). There is another solution to this. If avahi-daemon runs first in your rc.conf you can configure it so when another program tries to registers its mDNS server avahi disallows it (disallow-other-stacks=yes in avahi-daemon.conf).
The second thing you must know is to add this to a file (for example, daap.service) in /etc/avahi/services:
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<!-- $Id: ssh.service 1391 2007-02-07 11:54:54Z lennart $ -->
<!--
This file is part of avahi.
avahi is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
avahi is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with avahi; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.
-->
<!-- See avahi.service(5) for more information about this configuration file -->
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_daap._tcp</type>
<port>3689</port>
</service>
<service>
<type>_rsp._tcp</type>
<port>3689</port>
</service>
</service-group>
,and restarting avahi you can see now the daapd server appears.
Last edited by reztho (2008-05-25 13:49:42) -
Pulseaudio: Failed to open module module-zeroconf-discover.so
In the process of setting sound on lxc (achlinux) guest I am trying to use access to a networked pulseaudio server
I placed in /etc/pulse/default.pa:
load-module module-zeroconf-discover
Then when restarting pulseaudio I get the following message in journalctl:
May 24 13:43:15 arch pulseaudio[4232]: Failed to open module module-zeroconf-discover.so: module-zeroconf-discover.so: cannot open shared object file: No such file or directory
May 24 13:43:15 arch pulseaudio[4232]: Failed to open module "module-zeroconf-discover".
May 24 13:43:15 arch pulseaudio[4232]: Module load failed.
May 24 13:43:15 arch pulseaudio[4232]: Failed to initialize daemon.
The avahi module is installed. Is there another package that I need to install or is it a setup issue.Thanks. It solved this problem.
I still cannot get sound to work in lxc guest. I can only get sound through the dummy card, but not in the host. Is it possible that lxc cannot work with avahi/zerconf. -
KDE 3.4.3 and -fvisibility-inlines-hidden
Hi folks,
First of... Arch is great (migrated from Slack ). And yea, it's great that it's optimised for i686 and such
However the KDE packages in Arch are a bit... slow I mean I have a decent (but not a high-end) system (Ath-XP 2500, 512 MB DDR400), but I still had to wait a bit for Konqueror to open (I use it as a file manager, my browser is Firefox).
Now, what I've heard was that -fivisibility-inlines-hidden thingy in gcc 4.0 speeds up C++ applications. Yea, I've heard that these flags are added automagically during ./configure while building KDE, but I've never been able to spot them in gcc compile commands while make'ing.
Thus, I've decided to give it a shot myself and recompile some (since I don't use the rest that often) KDE packages using the following flags:
export CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
export CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -fvisibility-inlines-hidden"
And yea.. I know some of you will now say: hey, Arch is not an athlon-xp optimised distro, but a generic 686 one. Yea, I know. But AFAIK the athlon-xp specific optimisations don't have such a big meaning (being SSE, 3dNow and such mostly) to normal aps.
I've recompiled the following packages:
kdelibs
kdebase
kdeutils
kdegraphics
And you know what? I don't have to wait for Konqueror anymore. It opens in a blink of an eye. So does Kpdf with large documents. And yea.. I know these aren't hard numbers but rather impressions...
I'm aware that there has been a discussion regarding these flags before... but I couldn't make out the final outcome of them So, could anyone enlighten me: are the Arch stock KDE package compiled with fvisibility-inslines-hidden already? My guess is no, since when I tried to build KDE using the vanilla PKGBUILDS from ABS, there were no fvisibility flags in the compilation commands invoked by make. Of course I can be wrong, but if the stock packages aren't built with them, mayby they should be?
Also, does anyone have clue why I can't use -fvisibility=hidden with the stock GCC 4.03? During C++ program compilation it says that the -fivisibility=hidden attribute is not recognized. -fvisibility-inlines-hidden worked well.. but that one doesn't. Anyone?[/code]Neuro wrote:As far as I understand correctly, the bug report tpowa pointed us to says that there were some issues with KDE 3.4.x GCC 4.0.2 and -fvisibility. It was traced back to an issue with a missing visibility declaration somewhere in the STL lib of C++. I've stumbled upon an information that it is fixed in GCC 4.0.3, but if I get the bug info right, since then KDE builds without -fvisibility even if the compiler allows it.
Actually, I it seems that our libstdc++ is working properly. My logs for the kdelibs builds show:
checking grepping for visibility push/pop in headers... yes
The test above was added to fix Bug 111115, mentioned by tpowa above. I you look at the configure patch below you'll see that `yes' should indicate that our libstdc++ is handling visibility correctly:
AC_REQUIRE([AC_PATH_QT])
+ AC_MSG_CHECKING([grepping for visibility push/pop in headers])
+
if test "x$GXX" = "xyes"; then
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_EGREP_CPP(
+ [GCC visibility push],
+ [ #include <cassert>
+ ],
+ [
+ AC_MSG_RESULT(yes)
+ kde_stdc_visibility_patched=yes ],
+ [
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for
+ visibility support. Disabling -fvisibility=hidden])
+
+ kde_stdc_visibility_patched=no ])
+ AC_LANG_RESTORE
+
kde_have_gcc_visibility=no
- KDE_CHECK_COMPILER_FLAG(fvisibility=hidden,
- kde_have_gcc_visibility=yes
- CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
- KDE_CHECK_VISIBILITY_GCC_BUG
- HAVE_GCC_VISIBILITY=1
- AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
+
+ if test x$kde_stdc_visibility_patched = xyes ; then
+ KDE_CHECK_COMPILER_FLAG(fvisibility=hidden,
+ [
+ kde_have_gcc_visibility=yes
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ KDE_CHECK_VISIBILITY_GCC_BUG
+ HAVE_GCC_VISIBILITY=1
+ AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
+ ])
+ fi
fi
BTW: I've rebuilt kdelibs with `--enable-gcc-hidden-visibility' and all seems well.
Tpowa: Thanks for looking into this -
What package to use to send messages in LAN? When a message is sent a graphical dialog box appears at receiver's side.
you could use gajim, a jabber client, together with avahi. the other clients will show up in the roster automatically so you can send instant messages directly to them without configuring any network specific stuff like ip addresses and such.
- pacman -S gajim avahi
- add avahi-daemon to DAEMONS in /etc/rc.conf or start it with /etc/rc.d/avahi-daemon start
- in gajim go to edit -> accounts
- check "enable link-local messaging"
there is also Planimo [1], but that one doesn't use avahi so you have to know the ip addresses, so i'd recommend gajim with avahi.
[1] http://www.gnomefiles.org/app.php/Planimo
Maybe you are looking for
-
The application then closes and I seem to be going in circles. What do I need to do to continue to have access to my catalogs in Photoshop 5 ( of which I have several) and created over 9 years Your advice please. Suz
-
How come my MacBook ejects international DVD's?
I recently brought some DVD's from Indonesia and I have tried playing them on my MacBook, but my MacBook takes the DVD in for about 3 seconds then spits it out without anything appearing on the screen. I must also add that these DVD's are most likely
-
Where can I obtain a copy of FireFox 12.0
FireFox 13 takes entirely too long to load Msn.com. I wish to go back to FireFox 12 until such a time as webpage loading problems with FireFox 13 and beyond are resolved.
-
Now flash player download has different error screen. help?
This is as far as I get when trying to download Flashplayer 9.0 or 10.0. Anyone else getting this error/message box below? Internet Explorer cannot download...install_ (any flashplayer i try) from fpdownload.macromedia.com. Internet Explorer was no
-
KP02 Mixed Pallet Configuration
Hi I am trying to understand the KP00 & KP02 condition types for Standard SAP Pallet discounts. 1) KP00 - Full pallet Discount. 2) KP02 - Mixed Pallet Discount( Group Condition & Full pallet discount). When i define this condition type in Pricing