Hai you all :)
Well, I just started packaging kde4 based on kevinkoefler's work. Some friends are porting kde3 apps to kde4, so why not give them the minimum tools needed ?
kevinkoefler SRPMS are http://osdn.dl.sourceforge.net/sourceforge/kde-redhat/kdelibs4-3.80.2-0.1.20... http://osdn.dl.sourceforge.net/sourceforge/kde-redhat/kdepimlibs4-3.80.2-0.1... http://osdn.dl.sourceforge.net/sourceforge/kde-redhat/kdebase4-3.80.2-0.1.20...
My modifications : http://chitlesh.funpic.de/fedora/kde4_11_27.tar.bz2 (I don't have a place to upload the SRPMS :( )
1. the svn snapshot are from 20061003, neither kevin nor I got the time to update the snapshots. However my priority is just first get a working set of kde4 packages. 2. the specs don't have the patches inorder to integrate these packages to the fedora desktop. ThanNgo accepted to offer his help to. 3. SRPMs from my specs haven't undergo mock till now. 4. kde4 is installed on /opt/kde4 and kevin made so to co-existe kde3 and kde4 at the same time 5. the kde4.desktop doesn't load kde4 desktop upon login because it seeks its libkde*.so.5 at /usr/lib instead of /opt/kde4/lib
I would like to have more light on this #5 in order to make it just work for once :)
here is my /usr/share/xsessions/kde4.desktop:
[Desktop Entry] Encoding=UTF-8 Type=XSession export KDEDIR=/opt/kde4 export PATH=/opt/kde4/bin/:$PATH export KDEHOME=~/.kde4 export LD_LIBRARY_PATH=$/opt/kde4/lib/:$KDEDIR/lib:$LD_LIBRARY_PATH:/opt/kde4/lib Exec=/opt/kde4/bin/startkde TryExec=/opt/kde4/bin/startkde Name=KDE4 Comment=The K Desktop Environment. A powerful Open Source graphical desktop environment
Any help will be welcome :)
chitlesh
Chitlesh GOORAH <chitlesh <at> fedoraproject.org> writes:
export KDEDIR=/opt/kde4 export PATH=/opt/kde4/bin/:$PATH export KDEHOME=~/.kde4 export LD_LIBRARY_PATH=$/opt/kde4/lib/:$KDEDIR/lib:
$LD_LIBRARY_PATH:/opt/kde4/lib
Exec=/opt/kde4/bin/startkde
There are several reasons this isn't going to work that way: * a .desktop is not a shell script, you can't have export statements there * $/opt/kde4/lib/ in your LD_LIBRARY_PATH has a $ too many * startkde isn't designed to be run like that!
KDEDIR=/opt/kde4 and KDEHOME=~/.kde4 shouldn't be needed, by the way. Look at my patches: * KDE 4 with the patches looks at KDE4DIR and KDE4HOME, not KDEDIR and KDEHOME, so you're setting the wrong environment variables. You're actually changing the paths for KDE 3, which is a bad idea. * The default paths for KDE4DIR and KDE4HOME are exactly the ones you're setting.
There are 2 options to run KDE 4: * Run a KDE 4 desktop from the console. You need to telinit into runlevel 3, then run: LD_LIBRARY_PATH=/opt/kde4/lib /opt/kde4/bin/startkde from the terminal. But you can't do this from a running desktop, so a .desktop file is the wrong place to put that. * Run only individual KDE 4 apps in a KDE 3 or GNOME desktop. My patches are designed to allow exactly that. Try for example: LD_LIBRARY_PATH=/opt/kde4/lib /opt/kde4/bin/konqueror (Note that Konqueror 4 was pretty badly broken when I snapshotted it. I don't know how much of that has been fixed in 3.80.2 or current SVN.)
As for why the LD_LIBRARY_PATH is needed in the first place, this is a side effect of disabling the rpath mechanism (-DCMAKE_SKIP_RPATH=TRUE). With the rpath, it finds the libraries. (In fact, this is exactly what the rpath is for. Rpaths are only bad when they refer to a standard path like /usr/lib or /usr/lib64.) I don't know why it didn't build for you without this option because it built just fine for me with the rpaths enabled.
Kevin Kofler
On 11/28/06, Kevin Kofler kevin.kofler@chello.at wrote:
There are several reasons this isn't going to work that way:
- a .desktop is not a shell script, you can't have export statements there
- $/opt/kde4/lib/ in your LD_LIBRARY_PATH has a $ too many
- startkde isn't designed to be run like that!
Ah ha, ok, ill make the changes tonight.
KDEDIR=/opt/kde4 and KDEHOME=~/.kde4 shouldn't be needed, by the way. Look at my patches:
- KDE 4 with the patches looks at KDE4DIR and KDE4HOME, not KDEDIR and KDEHOME,
so you're setting the wrong environment variables. You're actually changing the paths for KDE 3, which is a bad idea.
- The default paths for KDE4DIR and KDE4HOME are exactly the ones you're
setting.
Ok, ill remove them
There are 2 options to run KDE 4:
- Run a KDE 4 desktop from the console. You need to telinit into runlevel 3,
then run: LD_LIBRARY_PATH=/opt/kde4/lib /opt/kde4/bin/startkde from the terminal. But you can't do this from a running desktop, so a .desktop file is the wrong place to put that.
- Run only individual KDE 4 apps in a KDE 3 or GNOME desktop. My patches are
designed to allow exactly that. Try for example: LD_LIBRARY_PATH=/opt/kde4/lib /opt/kde4/bin/konqueror (Note that Konqueror 4 was pretty badly broken when I snapshotted it. I don't know how much of that has been fixed in 3.80.2 or current SVN.)
So what's the best solution to make it work out of the box when we installed kdebase4 ?
As for why the LD_LIBRARY_PATH is needed in the first place, this is a side effect of disabling the rpath mechanism (-DCMAKE_SKIP_RPATH=TRUE). With the rpath, it finds the libraries. (In fact, this is exactly what the rpath is for. Rpaths are only bad when they refer to a standard path like /usr/lib or /usr/lib64.) I don't know why it didn't build for you without this option because it built just fine for me with the rpaths enabled.
But in my case, rpmbuild for kdebase4 fails without -DCMAKE_SKIP_RPATH=TRUE.
chitlesh
Chitlesh GOORAH wrote:
On 11/28/06, Kevin Kofler kevin.kofler@chello.at wrote:
As for why the LD_LIBRARY_PATH is needed in the first place, this is a side effect of disabling the rpath mechanism (-DCMAKE_SKIP_RPATH=TRUE). With the rpath, it finds the libraries. (In fact, this is exactly what the rpath is for. Rpaths are only bad when they refer to a standard path like /usr/lib or /usr/lib64.) I don't know why it didn't build for you without this option because it built just fine for me with the rpaths enabled.
But in my case, rpmbuild for kdebase4 fails without -DCMAKE_SKIP_RPATH=TRUE.
Details please.
-- Rex
On 11/28/06, Rex Dieter < hidden > wrote:
But in my case, rpmbuild for kdebase4 fails without -DCMAKE_SKIP_RPATH=TRUE.
Details please.
I'll try to reproduce it which might take a few hours. However it spits the same rpath error message as rpmbuilding any other kde apps with rpath issue.
chitlesh
Chitlesh GOORAH wrote:
On 11/28/06, Rex Dieter < hidden > wrote:
But in my case, rpmbuild for kdebase4 fails without -DCMAKE_SKIP_RPATH=TRUE.
Details please.
I'll try to reproduce it which might take a few hours. However it spits the same rpath error message as rpmbuilding any other kde apps with rpath issue.
Ah, that's likely the mock build's check to reject anything that uses rpath. Duh. Obviously, we *want* rpath's here, so that check will need to be disabled.
-- Rex
On 11/28/06, Rex Dieter <hidden> wrote:
Ah, that's likely the mock build's check to reject anything that uses rpath. Duh.
hmm, i haven't used mock yet.
Obviously, we *want* rpath's here, so that check will need to be disabled.
since, my rpmbuild is failing due to rpath, what should I do to skip it ?
chitlesh
Chitlesh GOORAH wrote:
On 11/28/06, Rex Dieter <hidden> wrote:
Ah, that's likely the mock build's check to reject anything that uses rpath. Duh.
hmm, i haven't used mock yet.
Hmmm...
Obviously, we *want* rpath's here, so that check will need to be disabled.
since, my rpmbuild is failing due to rpath, what should I do to skip it ?
dunno, will need to see the exact failure, if you could post the tail end of the failed build log...
-- Rex
On 11/28/06, Rex Dieter < hidden > wrote:
dunno, will need to see the exact failure, if you could post the tail end of the failed build log...
Here you go, the build log for kdebase4 which failed with rpath=true: http://tux.u-strasbg.fr/~chit/kdebase4_build.log
chitlesh
Chitlesh GOORAH wrote:
On 11/28/06, Rex Dieter < hidden > wrote:
dunno, will need to see the exact failure, if you could post the tail end of the failed build log...
Here you go, the build log for kdebase4 which failed with rpath=true: http://tux.u-strasbg.fr/~chit/kdebase4_build.log
It was as I suspected: ... + /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot ******************************************************************************* * * WARNING: 'check-rpaths' detected a broken RPATH and will cause 'rpmbuild' * to fail. To ignore these errors, you can set the '$QA_RPATHS' * environment variable which is a bitmask allowing the values * below. The current value of QA_RPATHS is 0x0000. * * 0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor * issue but are introducing redundant searchpaths without * providing a benefit. They can also cause errors in multilib * environments. * 0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute * nor relative filenames and can therefore be a SECURITY risk ... but that's not specific to mock, it's part of rpmdevtools(?). Anyway, quick-n-dirty fix is to set QA_RPATHS=0x0003; export QA_RPATHS and try again.
-- Rex
Chitlesh GOORAH <chitlesh <at> fedoraproject.org> writes:
Here you go, the build log for kdebase4 which failed with rpath=true: http://tux.u-strasbg.fr/~chit/kdebase4_build.log
There's 2 problems here: * The rpath check considers '/opt/kde4/lib' to be an invalid rpath. I'm not sure what is supposed to be "invalid" about that rpath. It's not a standard search path, and it _is_ an absolute path. So we'll have to disable the rpath checks, but they really ought to be fixed. * KDE is putting in rpaths to '/lib' and '/usr/local/lib'. This is bad. I'm not sure where the '/usr/local/lib' is coming from (none of the linked libraries should be there!), and '/lib' is also bad (there's probably a filter for '/usr/lib', but not plain '/lib' in cmake). A possible workaround for this issue would be to use -DCMAKE_DISABLE_RPATH=TRUE as you did and to add: -Wl,--rpath,/opt/kde4/lib to the LDFLAGS instead (so we'd set the rpath manually rather than automatically).
Kevin Kofler
There's 2 problems here:
- The rpath check considers '/opt/kde4/lib' to be an invalid rpath. I'm not
sure what is supposed to be "invalid" about that rpath. It's not a standard search path, and it _is_ an absolute path. So we'll have to disable the rpath checks, but they really ought to be fixed.
- KDE is putting in rpaths to '/lib' and '/usr/local/lib'. This is bad. I'm not
sure where the '/usr/local/lib' is coming from (none of the linked libraries should be there!), and '/lib' is also bad (there's probably a filter for '/usr/lib', but not plain '/lib' in cmake). A possible workaround for this issue would be to use -DCMAKE_DISABLE_RPATH=TRUE as you did and to add: -Wl,--rpath,/opt/kde4/lib to the LDFLAGS instead (so we'd set the rpath manually rather than automatically).
Right now, I'm building kdelibs4 with: QA_RPATHS=0x0003; export QA_RPATHS; rpmbuild -ba kdelibs4.spec
Right now, I'm building kdelibs4 with: QA_RPATHS=0x0003; export QA_RPATHS; rpmbuild -ba kdelibs4.spec
I'll successfully mock kdelibs4. Build.log and rpms can be found here: http://tux.u-strasbg.fr/~chit/KDE4_mock/
chitlesh
On 11/30/06, Chitlesh GOORAH wrote:
QA_RPATHS=0x0003; export QA_RPATHS; rpmbuild -ba x.spec
Thanks that works;
Some screenshots: 1. http://www.flickr.com/photo_zoom.gne?id=310286171&size=o 2. http://www.flickr.com/photo_zoom.gne?id=310276750&size=o 3. http://www.flickr.com/photo_zoom.gne?id=310286173&size=o
TODO: - update snapshot - add kde4.desktop file to /usr/share/xsessions - add ThanNgo's patches - [...]
I'm uploading those rpms right now.
for the moment to login: on GDM session - failsafe terminal /opt/kde4/bin/startkde
chitlesh
Chitlesh GOORAH wrote:
Well, I just started packaging kde4 based on kevinkoefler's work. Some friends are porting kde3 apps to kde4, so why not give them the minimum tools needed ?
kevinkoefler SRPMS are
http://osdn.dl.sourceforge.net/sourceforge/kde-redhat/kdelibs4-3.80.2-0.1.20...
http://osdn.dl.sourceforge.net/sourceforge/kde-redhat/kdepimlibs4-3.80.2-0.1...
http://osdn.dl.sourceforge.net/sourceforge/kde-redhat/kdebase4-3.80.2-0.1.20...
Now that we have srpms, I'll see about whipping up some binary rpms and putting them in the kde-redhat repo somewhere.
-- Rex
Rex Dieter <rdieter <at> math.unl.edu> writes:
Now that we have srpms, I'll see about whipping up some binary rpms and putting them in the kde-redhat repo somewhere.
WARNING: I have _NOT_ tested these in Mock yet. You may have to add BuildRequires.
It's also a pretty old snapshot, but I guess it's better than nothing... Still, if I can get it updated to 3.80.2 soon, that would be better. Maybe this weekend, but I'm pretty busy unfortunately.
Kevin Kofler
Chitlesh GOORAH wrote:
Well, I just started packaging kde4 based on kevinkoefler's work. [...]
Did you make any progress on this front? Or is anybody else packaging KDE4 for Fedora?
Bernardo Innocenti wrote:
Chitlesh GOORAH wrote:
Well, I just started packaging kde4 based on kevinkoefler's work.
Did you make any progress on this front? Or is anybody else packaging KDE4 for Fedora?
We had made a bit of head-way, but the work as-is included some quasi-ugly hacks to enable parallel installation with kde(3).
In the meantime, 1. work is ongoing (upstream) on the parallel-install problem 2. F7 KDE-spin plans, FUDConBoston2007 preparations came up, which has me leaning toward letting these items resolve and sort themselves out before putting in more time/effort into kde4 packaging efforts.
-- Rex
On 1/24/07, Bernardo Innocenti wrote:
Did you make any progress on this front? Or is anybody else packaging KDE4 for Fedora?
with the latest snapshot, kdelibs4 fails on me :( kdelibs4 snapshot : 20070123 http://tux.u-strasbg.fr/~chit/k4.log
I'm trying to build fedora rpms out of kde4 svn snapshots. http://tux.u-strasbg.fr/~chit/kdelibs4.spec
cd /home/chitlesh/rpmbuild/BUILD/kdelibs/build/kdeui && /usr/bin/cmake -E cmake_symlink_library ../lib/libkdeui.so.5.0.0 ../lib/libkdeui.so.5 ../lib/libkdeui.so make[2]: Leaving directory `/home/chitlesh/rpmbuild/BUILD/kdelibs/build' /usr/bin/cmake -E cmake_progress_report /home/chitlesh/rpmbuild/BUILD/kdelibs/build/CMakeFiles 7 8 9 10 11 12 13 14 15 16 17 18 19 [ 25%] Built target kdeui make[1]: Leaving directory `/home/chitlesh/rpmbuild/BUILD/kdelibs/build' make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.86372 (%build)
cmake-2.4.5-2.fc6
devel@lists.stg.fedoraproject.org