View previous topic :: View next topic |
Author |
Message |
n0rbi666 l33t
Joined: 04 Mar 2005 Posts: 707 Location: \Poland\Krakow
|
Posted: Mon May 08, 2006 1:53 pm Post subject: |
|
|
Looks like this overlay already has this patches, so no update needed |
|
Back to top |
|
|
smithjd15 Tux's lil' helper
Joined: 12 Mar 2003 Posts: 130 Location: Edmonton, AB, CA
|
Posted: Tue May 09, 2006 4:29 am Post subject: |
|
|
Will we see a 3.3.6-r1 in this overlay?
I haven't checked what's changed in the portage tree; I'm looking for a lazy easy fix. |
|
Back to top |
|
|
firephoto Veteran
Joined: 29 Oct 2003 Posts: 1612 Location: +48° 5' 23.40", -119° 48' 30.00"
|
Posted: Tue May 09, 2006 5:07 am Post subject: |
|
|
I tried using the patches that are in the in tree version but they wouldn't apply. I didn't look at the source but i'm guessing they're already included in the qt-copy src. I just masked -r1 here. _________________ #gentoo-kde on freenode |
|
Back to top |
|
|
nxsty Veteran
Joined: 23 Jun 2004 Posts: 1556 Location: .se
|
Posted: Thu May 11, 2006 10:54 am Post subject: |
|
|
I uploaded a updated overlay based on 3.3.6-r1. It's mainly an ebuild sync as all the new patches are already included in qt-copy. |
|
Back to top |
|
|
abhay Apprentice
Joined: 30 Jul 2005 Posts: 161
|
Posted: Thu May 18, 2006 8:02 pm Post subject: |
|
|
I just got it from Planet KDE. It looks like the main developer of FreeType has released a few patches
http://turnerdavid.neuf.fr/freetype/patches/font-patches.html
One of these patches is related to fontconfig. Could it be included in your overlay? I have tried it in your overlay with fontconfig-2.3.95 ebuild. It patches, compiles and install fine but I don't know whether it actually gives the 25% performance increase or not. |
|
Back to top |
|
|
Headrush Watchman
Joined: 06 Nov 2003 Posts: 5597 Location: Bizarro World
|
Posted: Mon Jun 05, 2006 12:05 am Post subject: |
|
|
Just for clarification, with the current kde.eclass in portage, the modifications mentioned aren't needed anymore.
Seems the eclass checks for gcc 4.1 and if found unsets kde_cv_prog_cxx_fvisibility_hidden and adds use_enable kdehiddenvisibility gcc-hidden-visibility to myconf.
(Assuming USE flag kdehiddenvisibility is set.)
I didn't see any mention about this in the thread and this might be confusing for someone trying this out. |
|
Back to top |
|
|
nxsty Veteran
Joined: 23 Jun 2004 Posts: 1556 Location: .se
|
Posted: Mon Jun 05, 2006 11:22 am Post subject: |
|
|
Ok, I changed the first post to reflect the current situation and updated my qt and fontconfig overlays. |
|
Back to top |
|
|
7seven7 n00b
Joined: 22 Jan 2005 Posts: 72
|
Posted: Tue Jun 06, 2006 12:56 pm Post subject: |
|
|
I have found this in another post:
Flameeyes wrote: | Oh a note that might be interesting to know, seeing that there is people using modified eclasses that might come out as bugs for me
The kdenewldflags thing is totally pointless. --enable-new-dtags on Gentoo is a no-op, as it's _forcefully_ enabled by our binutils. --as-needed can (and *should*) be passed through LDFLAGS (see http://www.gentoo.org/proj/en/qa/asneeded.xml ).
It's for both your and my sake that I ask you all to limit the usage of modified eclasses, especially for this trivial thing that really does not do much magic right now |
You can find it in https://forums.gentoo.org/viewtopic-p-3354637.html#3354637
It also seems that the kde.eclass is responsible for some errors when building kdelibs-3.5.3
Is this meaning that we should stop using the kde.eclass that is provided in this forum, or it just need to be updated? |
|
Back to top |
|
|
abhay Apprentice
Joined: 30 Jul 2005 Posts: 161
|
Posted: Tue Jun 06, 2006 2:24 pm Post subject: |
|
|
7seven7 wrote: | It also seems that the kde.eclass is responsible for some errors when building kdelibs-3.5.3
Is this meaning that we should stop using the kde.eclass that is provided in this forum, or it just need to be updated? |
It means that you should remove the eclass from your overlay. Gentoo Developers have already done good job of making a kde.eclass with -fvisibility=hidden support so the eclass you got from forum is not needed. |
|
Back to top |
|
|
7seven7 n00b
Joined: 22 Jan 2005 Posts: 72
|
Posted: Thu Jun 08, 2006 12:37 pm Post subject: |
|
|
When qt is built with the risky flag, kompare fails to build:
Code: | i686-pc-linux-gnu-g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium4 -fweb -frename-registers -fomit-frame-pointer -ftracer -pipe -msse2 -mfpmath=sse -freorder-blocks-and-partition -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fvisibility=hidden -fvisibility-inlines-hidden -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -Wl,-O1 -Wl,--sort-common -Wl,-Bdirect -Wl,-hashvals -Wl,-zdynsort -Wl,--as-needed -o libkomparepart.la -rpath /usr/kde/3.5/lib/kde3 -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /usr/kde/3.5/lib -R /usr/kde/3.5/lib -R /usr/qt/3/lib -R /usr/lib -L/usr/kde/3.5/lib -L/usr/qt/3/lib -L/usr/lib kompare_part.lo kompareconnectwidget.lo komparesplitter.lo komparelistview.lo kompareprefdlg.lo komparesaveoptionswidget.lo komparesaveoptionsbase.lo kompare_qsplitter.moc.lo -lkparts -lkio ../libdialogpages/libdialogpages.la ../libdiff2/libdiff2.la ../interfaces/libkompareinterface.la
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::mousePressEvent(QMouseEvent*)':
kompareconnectwidget.cpp:(.text+0x8bf): undefined reference to `QSplitterHandle::mousePressEvent(QMouseEvent*)'
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::KompareConnectWidgetFrame(KompareListView*, KompareListView*, ViewSettings*, KompareSplitter*, char const*)':
kompareconnectwidget.cpp:(.text+0xb7a): undefined reference to `QSplitterHandle::QSplitterHandle(Qt::Orientation, QSplitter*, char const*)'
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::KompareConnectWidgetFrame(KompareListView*, KompareListView*, ViewSettings*, KompareSplitter*, char const*)':
kompareconnectwidget.cpp:(.text+0xdda): undefined reference to `QSplitterHandle::QSplitterHandle(Qt::Orientation, QSplitter*, char const*)'
.libs/komparesplitter.o: In function `KompareSplitter::doMove(bool, int, int, int, bool, int*, int*)':
komparesplitter.cpp:(.text+0x1d96): undefined reference to `QSplitterLayoutStruct::getSizer(Qt::Orientation)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0xf0): undefined reference to `QSplitterHandle::sizeHint() const'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x11c): undefined reference to `QSplitterHandle::mousePressEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x120): undefined reference to `QSplitterHandle::mouseReleaseEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x128): undefined reference to `QSplitterHandle::mouseMoveEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x148): undefined reference to `QSplitterHandle::paintEvent(QPaintEvent*)' |
Is there any solution for this? |
|
Back to top |
|
|
vipernicus Veteran
Joined: 17 Jan 2005 Posts: 1462 Location: Your College IT Dept.
|
Posted: Thu Jun 08, 2006 12:48 pm Post subject: |
|
|
7seven7 wrote: | When qt is built with the risky flag, kompare fails to build:
Code: | i686-pc-linux-gnu-g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium4 -fweb -frename-registers -fomit-frame-pointer -ftracer -pipe -msse2 -mfpmath=sse -freorder-blocks-and-partition -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fvisibility=hidden -fvisibility-inlines-hidden -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -Wl,-O1 -Wl,--sort-common -Wl,-Bdirect -Wl,-hashvals -Wl,-zdynsort -Wl,--as-needed -o libkomparepart.la -rpath /usr/kde/3.5/lib/kde3 -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /usr/kde/3.5/lib -R /usr/kde/3.5/lib -R /usr/qt/3/lib -R /usr/lib -L/usr/kde/3.5/lib -L/usr/qt/3/lib -L/usr/lib kompare_part.lo kompareconnectwidget.lo komparesplitter.lo komparelistview.lo kompareprefdlg.lo komparesaveoptionswidget.lo komparesaveoptionsbase.lo kompare_qsplitter.moc.lo -lkparts -lkio ../libdialogpages/libdialogpages.la ../libdiff2/libdiff2.la ../interfaces/libkompareinterface.la
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::mousePressEvent(QMouseEvent*)':
kompareconnectwidget.cpp:(.text+0x8bf): undefined reference to `QSplitterHandle::mousePressEvent(QMouseEvent*)'
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::KompareConnectWidgetFrame(KompareListView*, KompareListView*, ViewSettings*, KompareSplitter*, char const*)':
kompareconnectwidget.cpp:(.text+0xb7a): undefined reference to `QSplitterHandle::QSplitterHandle(Qt::Orientation, QSplitter*, char const*)'
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::KompareConnectWidgetFrame(KompareListView*, KompareListView*, ViewSettings*, KompareSplitter*, char const*)':
kompareconnectwidget.cpp:(.text+0xdda): undefined reference to `QSplitterHandle::QSplitterHandle(Qt::Orientation, QSplitter*, char const*)'
.libs/komparesplitter.o: In function `KompareSplitter::doMove(bool, int, int, int, bool, int*, int*)':
komparesplitter.cpp:(.text+0x1d96): undefined reference to `QSplitterLayoutStruct::getSizer(Qt::Orientation)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0xf0): undefined reference to `QSplitterHandle::sizeHint() const'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x11c): undefined reference to `QSplitterHandle::mousePressEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x120): undefined reference to `QSplitterHandle::mouseReleaseEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x128): undefined reference to `QSplitterHandle::mouseMoveEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x148): undefined reference to `QSplitterHandle::paintEvent(QPaintEvent*)' |
Is there any solution for this? |
Try building with more conservative cflags/ldflags _________________ Viper-Sources Maintainer || nesl247 Projects || vipernicus.org blog |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Thu Jun 08, 2006 1:26 pm Post subject: |
|
|
vipernicus wrote: | 7seven7 wrote: | When qt is built with the risky flag, kompare fails to build:
Code: | i686-pc-linux-gnu-g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium4 -fweb -frename-registers -fomit-frame-pointer -ftracer -pipe -msse2 -mfpmath=sse -freorder-blocks-and-partition -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fvisibility=hidden -fvisibility-inlines-hidden -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -Wl,-O1 -Wl,--sort-common -Wl,-Bdirect -Wl,-hashvals -Wl,-zdynsort -Wl,--as-needed -o libkomparepart.la -rpath /usr/kde/3.5/lib/kde3 -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /usr/kde/3.5/lib -R /usr/kde/3.5/lib -R /usr/qt/3/lib -R /usr/lib -L/usr/kde/3.5/lib -L/usr/qt/3/lib -L/usr/lib kompare_part.lo kompareconnectwidget.lo komparesplitter.lo komparelistview.lo kompareprefdlg.lo komparesaveoptionswidget.lo komparesaveoptionsbase.lo kompare_qsplitter.moc.lo -lkparts -lkio ../libdialogpages/libdialogpages.la ../libdiff2/libdiff2.la ../interfaces/libkompareinterface.la
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::mousePressEvent(QMouseEvent*)':
kompareconnectwidget.cpp:(.text+0x8bf): undefined reference to `QSplitterHandle::mousePressEvent(QMouseEvent*)'
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::KompareConnectWidgetFrame(KompareListView*, KompareListView*, ViewSettings*, KompareSplitter*, char const*)':
kompareconnectwidget.cpp:(.text+0xb7a): undefined reference to `QSplitterHandle::QSplitterHandle(Qt::Orientation, QSplitter*, char const*)'
.libs/kompareconnectwidget.o: In function `KompareConnectWidgetFrame::KompareConnectWidgetFrame(KompareListView*, KompareListView*, ViewSettings*, KompareSplitter*, char const*)':
kompareconnectwidget.cpp:(.text+0xdda): undefined reference to `QSplitterHandle::QSplitterHandle(Qt::Orientation, QSplitter*, char const*)'
.libs/komparesplitter.o: In function `KompareSplitter::doMove(bool, int, int, int, bool, int*, int*)':
komparesplitter.cpp:(.text+0x1d96): undefined reference to `QSplitterLayoutStruct::getSizer(Qt::Orientation)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0xf0): undefined reference to `QSplitterHandle::sizeHint() const'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x11c): undefined reference to `QSplitterHandle::mousePressEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x120): undefined reference to `QSplitterHandle::mouseReleaseEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x128): undefined reference to `QSplitterHandle::mouseMoveEvent(QMouseEvent*)'
.libs/kompare_qsplitter.moc.o:(.data.rel.ro._ZTV15QSplitterHandle[vtable for QSplitterHandle]+0x148): undefined reference to `QSplitterHandle::paintEvent(QPaintEvent*)' |
Is there any solution for this? |
Try building with more conservative cflags/ldflags |
Try building qt without the risky. It's not needed to enable the hidden visibility in the rest of KDE. At least, that's what I had to do a while back when I experienced compile problems with Qt apps and using risky. _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
lefsha Veteran
Joined: 30 Aug 2004 Posts: 1234 Location: Burgas, Bulgaria
|
Posted: Fri Jun 09, 2006 7:08 pm Post subject: |
|
|
I have qt-copy and new version of fontconfig installed.
KDE works fine, but Firefox shows no font antialiasing and some
text in firefox and other gtk programs disappear.
Any ideas? _________________ Lefsha |
|
Back to top |
|
|
nxsty Veteran
Joined: 23 Jun 2004 Posts: 1556 Location: .se
|
Posted: Sat Jun 10, 2006 12:25 pm Post subject: |
|
|
7seven7 wrote: | I have found this in another post:
Flameeyes wrote: | Oh a note that might be interesting to know, seeing that there is people using modified eclasses that might come out as bugs for me
The kdenewldflags thing is totally pointless. --enable-new-dtags on Gentoo is a no-op, as it's _forcefully_ enabled by our binutils. --as-needed can (and *should*) be passed through LDFLAGS (see http://www.gentoo.org/proj/en/qa/asneeded.xml ).
It's for both your and my sake that I ask you all to limit the usage of modified eclasses, especially for this trivial thing that really does not do much magic right now |
You can find it in https://forums.gentoo.org/viewtopic-p-3354637.html#3354637
It also seems that the kde.eclass is responsible for some errors when building kdelibs-3.5.3
Is this meaning that we should stop using the kde.eclass that is provided in this forum, or it just need to be updated? |
I don't agree with him. Currently it's better to just compile KDE with --enable-new-ldflags and not mess with LDFLAGS="-Wl,--as-needed" if you want a stable system. There are reasons why you shouldn't stick --as-needed in your LDFLAGS. Most important is that it still breaks stuff, it's unsupported so bugs get closed if you don't have a solution (well --enable-new-ldfags is unsupported in gentoo too but you can still open bug reports about it in the KDE bugzilla) and portage doesn't support package.ldflags. And the result from compiling KDE with LDFLAGS="-Wl,--as-needed" and --enable-new-ldflags is exactly the same. Besides --enable-new-ldflags for KDE is heavily tested (every binary distro ships with it) while compiling everything with -Wl,--as-needed is not. So unless the gentoo devs says that LDFLAGS="-Wl,--as-needed" now is officialy supported I suggest the patched kde.eclass instead. |
|
Back to top |
|
|
infirit l33t
Joined: 11 Jan 2003 Posts: 778 Location: Hoofddorp / The Netherlands
|
Posted: Sat Jun 10, 2006 4:04 pm Post subject: |
|
|
nxsty wrote: | There are reasons why you shouldn't stick --as-needed in your LDFLAGS. Most important is that it still breaks stuff, it's unsupported so bugs get closed if you don't have a solution (well --enable-new-ldfags is unsupported in gentoo too but you can still open bug reports about it in the KDE bugzilla) and portage doesn't support package.ldflags. And the result from compiling KDE with LDFLAGS="-Wl,--as-needed" and --enable-new-ldflags is exactly the same. Besides --enable-new-ldflags for KDE is heavily tested (every binary distro ships with it) while compiling everything with -Wl,--as-needed is not. So unless the gentoo devs says that LDFLAGS="-Wl,--as-needed" now is officialy supported I suggest the patched kde.eclass instead. | --as-needed is officially supported, official tracker bug is here. And a note my system is more stable with --as-needed then without and i have been using it for over a year now.
Ow and almost forgot, the KDE team asked for --as-needed so its a bit strange they would not use it. _________________ EASY TO INSTALL = Difficult to install, but instruction manual has pictures.
Join the adopt an unanswered post initiative today |
|
Back to top |
|
|
Headrush Watchman
Joined: 06 Nov 2003 Posts: 5597 Location: Bizarro World
|
Posted: Sat Jun 10, 2006 4:46 pm Post subject: |
|
|
infirit wrote: | --as-needed is officially supported, official tracker bug is here. And a note my system is more stable with --as-needed then without and i have been using it for over a year now.
Ow and almost forgot, the KDE team asked for --as-needed so its a bit strange they would not use it. |
Read the link in the bug page you posted, it isn't officially supported by Gentoo, only KDE is tested extensively. http://www.gentoo.org/proj/en/qa/asneeded.xml
First Paragraph wrote: | Note: This guide is related to an experimental feature or function that may or may not work on your system, packages, or architecture. The information stated here is presented only for informative purposes, and is not officially supported. Working patches to fix packages to work with this feature are usually welcome if they don't create more problems for current users. In any case, please don't report problems caused by the steps explained in this guide on bugzilla. |
Just because there is a bug report to list packages that don't work with it doesn't mean its officially supported. |
|
Back to top |
|
|
infirit l33t
Joined: 11 Jan 2003 Posts: 778 Location: Hoofddorp / The Netherlands
|
Posted: Sat Jun 10, 2006 4:59 pm Post subject: |
|
|
The official bug tracker has bugs related to --as-needed, gentoo devs fixing them and none of them are mark as invalid..... So whats is not supported about them? _________________ EASY TO INSTALL = Difficult to install, but instruction manual has pictures.
Join the adopt an unanswered post initiative today |
|
Back to top |
|
|
Headrush Watchman
Joined: 06 Nov 2003 Posts: 5597 Location: Bizarro World
|
Posted: Sat Jun 10, 2006 5:47 pm Post subject: |
|
|
infirit wrote: |
The official bug tracker has bugs related to --as-needed, gentoo devs fixing them and none of them are mark as invalid..... So whats is not supported about them? |
You can play with the meaning of supported if you want, but what we know the intention of the statement: not supported.
Using that logic anything that any developer decides to work on means its supported? I don't think so. |
|
Back to top |
|
|
infirit l33t
Joined: 11 Jan 2003 Posts: 778 Location: Hoofddorp / The Netherlands
|
Posted: Sat Jun 10, 2006 9:53 pm Post subject: |
|
|
Headrush wrote: | You can play with the meaning of supported if you want, but what we know the intention of the statement: not supported.
| Who is we, developers users? If these bugs get fixed and make it into the stable tree and when the --as-needed fix is the only reason for a bump in the version then i and many other people will take it as supported. Headrush wrote: | Using that logic anything that any developer decides to work on means its supported? I don't think so. | If the devs put the things they work on in the official stable tree and use the official bug tracker i will consider them supported. If they are not supported it should not be in portage or bugzilla. _________________ EASY TO INSTALL = Difficult to install, but instruction manual has pictures.
Join the adopt an unanswered post initiative today |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Sun Jun 11, 2006 6:24 pm Post subject: |
|
|
I recently removed the modified kde.eclass and built KDE 3.5.3. I do not see --as-needed in the build output anymore (I'm sure it was there before). Note, I never explicitly added -Wl,--as-needed to my LDFLAGS, I simply enabled the "kdenewldflags" when it was in the modified eclass (now removed).
So, to experiment, I added the following to my /etc/portage/bashrc file:
Code: |
if [ "$CATEGORY" == "kde-base" ] ; then
export LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,-Bdirect -Wl,-hashvals -Wl,-zdynsort -Wl,--as-needed"
fi
|
Note, my original LDFLAGS from /etc/make.conf are:
Code: |
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,-Bdirect -Wl,-hashvals -Wl,-zdynsort"
|
Make sure you adjust the export line above to match your LDFLAGS from /etc/make.conf, simply addending the "-Wl,--as-needed" flag to the end.
I tried the following export line, but it produced weird results and added "-Wl,--as-needed" multiple times (I guess the bashrc file is read/sourced multiple times), so don't do it this way:
Code: |
export LDFLAGS="${LDFLAGS} -Wl,--as-needed"
|
Anyway, this will allow you to have --as-needed support for all KDE packages belonging to CATEGORY kde-base, without having to enable it for your entire system. It will allow you to experiment with this flag under KDE which has been much more tested using it.
Hope this helps.
PS: I haven't recompiled KDE yet, will do that later today. If I find any problems, I'll post back. If anyone see's a problem with this approach, please feel free to let me know. If there's a better way, I'd love to hear it.
Thanks. _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
infirit l33t
Joined: 11 Jan 2003 Posts: 778 Location: Hoofddorp / The Netherlands
|
|
Back to top |
|
|
infirit l33t
Joined: 11 Jan 2003 Posts: 778 Location: Hoofddorp / The Netherlands
|
Posted: Thu Jun 22, 2006 10:41 pm Post subject: |
|
|
roderick wrote: | I recently removed the modified kde.eclass and built KDE 3.5.3. I do not see --as-needed in the build output anymore (I'm sure it was there before). Note, I never explicitly added -Wl,--as-needed to my LDFLAGS, I simply enabled the "kdenewldflags" when it was in the modified eclass (now removed). |
see this post how you can get per package ld/cflags. _________________ EASY TO INSTALL = Difficult to install, but instruction manual has pictures.
Join the adopt an unanswered post initiative today |
|
Back to top |
|
|
roderick l33t
Joined: 11 Jul 2005 Posts: 908 Location: St. John's, NL CANADA
|
Posted: Fri Jun 23, 2006 5:58 am Post subject: |
|
|
infirit wrote: | roderick wrote: | I recently removed the modified kde.eclass and built KDE 3.5.3. I do not see --as-needed in the build output anymore (I'm sure it was there before). Note, I never explicitly added -Wl,--as-needed to my LDFLAGS, I simply enabled the "kdenewldflags" when it was in the modified eclass (now removed). |
see this post how you can get per package ld/cflags. |
Per package is fine. However, with KDE's 300+ packages, my way is short and clean. One small section in the portage bashrc file which is now oficially supported in portage 2.1. _________________ If God were a pickle, I'd still say "no pickle on my burger".
http://roderick-greening.blogspot.com/ |
|
Back to top |
|
|
nxsty Veteran
Joined: 23 Jun 2004 Posts: 1556 Location: .se
|
Posted: Fri Jun 23, 2006 8:16 am Post subject: |
|
|
Well LDFLAGS="-Wl,--as-needed" is the future. It might even be turned on by default in ld some day. Especially if more distros than gentoo start supporting it. But I still don't agree with him. He's basically saying that KDE's --enble-new-ldflags is bad because:
1. Portage doesn't know about it and can't filter it.
Modifying kde.eclass only affects KDE packages where it's supported by upstream. And most binary distros turn it on by default so it's very well tested. Why would you want to filter it?
2. The other flag it enables, --enable-new-dtags, is useless for performance and on by default.
Sure, but --as-needed is the interesting flag here.
If you want a stable system it's still better to pass --enable-new-ldflags in kde.eclass rather than using LDFLAGS="-Wl,--as-needed". A lot of LDFLAGS="-Wl,--as-needed" problems have been fixed in unstable but there is still problems and --enable-new-ldflags will work perfectly on a system using only stable packages. |
|
Back to top |
|
|
enderandrew l33t
Joined: 25 Oct 2005 Posts: 731
|
Posted: Fri Jun 23, 2006 9:33 am Post subject: |
|
|
Do you know why packages got fixed?
Because people tried the flag, put it in their make.conf and submitted bug reports. My entire system is built with it except for a few packages I filter with packages.ldflags
I know that many people want stability in their systems. I always keep one stable computer in my house. However, I like to experiment on other computers and push boundaries to see what breaks so that we might move forward, fix what is broken, and improve code/performance in the long run. _________________ Nihilism makes me smile. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|