Awn

libdesktop-agnostic

Asked by leigh123linux

Are you going to drop libdesktop-agnostic as a build dependency?, I currently maintain awm for fedora but will probably orphan it as libdesktop-agnostic doesn't build (libdesktop-agnostic is a total mess for rpm distros)

Question information

Language:
English Edit question
Status:
Solved
For:
Awn Edit question
Assignee:
No assignee Edit question
Solved by:
Michal Hruby
Solved:
Last query:
Last reply:

This question was reopened

Revision history for this message
Mark Lee (malept) said :
#1

The author of libdesktop-agnostic (me) doesn't have any RPM-based systems. Suggestions for how to fix it for said distros are certainly welcome. "[It's] a total mess" is hardly helpful.

Revision history for this message
Michal Hruby (mhr3) said :
#2

And no, we are definitely not going to drop it.

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#3

Here's what's wrong so far.

1. The libs on a rpm based 64 bit system belong in /usr/lib64 ( there is no way to do this at the moment )
2. The binaries are also looking in the /home dir for the modules ( this is probably caused by me relocating the libs to /usr/lib64 )

I can't give anymore info at the moment as issue has prevented me from testing.

Revision history for this message
Ahmad Samir (ahmadsamir) said :
#4

Hi.

It'd be easier to package if it had e.g. --libdir and --sysconfdir switches, the latter is being done manually with a mv command, as using --prefix creates a /usr/etc .

Revision history for this message
Michal Hruby (mhr3) said :
#5
Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#6

Hi,

Thank you, that has sorted the lib and etc directory problem.
I have a linking problem.

  CC xutils.o
  LINK avant-window-navigator
/usr/bin/ld: xutils.o: undefined reference to symbol 'XShapeGetRectangles'
/usr/bin/ld: note: 'XShapeGetRectangles' is defined in DSO /usr/lib64/libXext.so.6 so try adding it to the linker command line
/usr/lib64/libXext.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

And a python lib dir problem, it tries to use

/usr/lib/python2.6/site-packages/desktopagnostic

on 64 bit, it should be

/usr/lib64/python2.6/site-packages/desktopagnostic

as there are .so files in there.

Thanks again

Leigh

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#7

I should have mentioned that the linking error was Avant Window Navigator , not libdesktop-agnostic.

Revision history for this message
Michal Hruby (mhr3) said :
#8

Thanks, the awn link error should be fixed in trunk. As for the desktopagnostic python modules, please set PYTHONDIR=/.../ during the call to ./waf configure.

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#9

Thanks Michal Hruby, that solved my question.

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#10

Thank you.

Revision history for this message
Ahmad Samir (ahmadsamir) said :
#11

Excellent; thanks a bunch.

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#12

I have found another issue, the building process doesn't strip the debug info

[leigh@localhost ~]$ rpmlint /home/leigh/rpmbuild/RPMS/x86_64/libdesktop-agnostic-0.3.9-bzr383.06.fc13.x86_64.rpm
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-module-guesser.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/libdesktop-agnostic-vfs.so.0.4.0
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/libdesktop-agnostic-fdo.so.0.4.0
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-vfs-gnome-vfs.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-cfg-type-color.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/libdesktop-agnostic-ui.so.0.4.0
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/libdesktop-agnostic.so.0.4.0
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/desktopagnostic/ui.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-cfg-keyfile.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-fdo-gnome.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/desktopagnostic/vfs.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/desktopagnostic/config.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-vfs-gio.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/desktopagnostic/desktopagnostic.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/libdesktop-agnostic-cfg.so.0.4.0
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/desktopagnostic/fdo.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-vfs-thunar-vfs.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-cfg-gconf.so
libdesktop-agnostic.x86_64: W: unstripped-binary-or-object /usr/lib64/desktop-agnostic/modules/libda-fdo-glib.so
libdesktop-agnostic.x86_64: W: non-conffile-in-etc /etc/xdg/libdesktop-agnostic/desktop-agnostic.ini
1 packages and 0 specfiles checked; 0 errors, 20 warnings.
[leigh@localhost ~]$

The files are missing :-(

[root@localhost debug]# cd /home/leigh/rpmbuild/BUILDROOT/libdesktop-agnostic-0.3.9-bzr383.06.fc13.x86_64/usr/lib/debug/usr
[root@localhost usr]# ls -al
total 12
drwxr-xr-x. 3 leigh leigh 4096 Mar 30 19:40 .
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 ..
drwxr-xr-x. 2 leigh leigh 4096 Mar 30 19:40 bin
[root@localhost usr]# cd ..
[root@localhost debug]# ls -al
total 16
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 .
drwxr-xr-x. 3 leigh leigh 4096 Mar 30 19:40 ..
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 .build-id
drwxr-xr-x. 3 leigh leigh 4096 Mar 30 19:40 usr
[root@localhost debug]# cd usr/
[root@localhost usr]# ls -al
total 12
drwxr-xr-x. 3 leigh leigh 4096 Mar 30 19:40 .
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 ..
drwxr-xr-x. 2 leigh leigh 4096 Mar 30 19:40 bin
[root@localhost usr]# cd bin/
[root@localhost bin]# ls -al
total 24
drwxr-xr-x. 2 leigh leigh 4096 Mar 30 19:40 .
drwxr-xr-x. 3 leigh leigh 4096 Mar 30 19:40 ..
-r--r--r--. 1 leigh leigh 5504 Mar 30 19:40 lda-desktop-entry-editor.debug
-r--r--r--. 1 leigh leigh 7360 Mar 30 19:40 lda-schema-to-gconf.debug
[root@localhost bin]# cd ..
[root@localhost usr]# cd ..
[root@localhost debug]# ls -al
total 16
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 .
drwxr-xr-x. 3 leigh leigh 4096 Mar 30 19:40 ..
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 .build-id
drwxr-xr-x. 3 leigh leigh 4096 Mar 30 19:40 usr
[root@localhost debug]# cd .build-id/
[root@localhost .build-id]# ls -al
total 16
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 .
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 ..
drwxr-xr-x. 2 leigh leigh 4096 Mar 30 19:40 01
drwxr-xr-x. 2 leigh leigh 4096 Mar 30 19:40 ae
[root@localhost .build-id]# cd 01/
[root@localhost 01]# ls -al
total 8
drwxr-xr-x. 2 leigh leigh 4096 Mar 30 19:40 .
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 ..
lrwxrwxrwx. 1 leigh leigh 35 Mar 30 19:40 7a0a222532b9b498571f28695b2c44500fcb34 -> ../../../../bin/lda-schema-to-gconf
lrwxrwxrwx. 1 leigh leigh 39 Mar 30 19:40 7a0a222532b9b498571f28695b2c44500fcb34.debug -> ../../usr/bin/lda-schema-to-gconf.debug
[root@localhost 01]# cd ..
[root@localhost .build-id]# cd ae/
[root@localhost ae]# ls -al
total 8
drwxr-xr-x. 2 leigh leigh 4096 Mar 30 19:40 .
drwxr-xr-x. 4 leigh leigh 4096 Mar 30 19:40 ..
lrwxrwxrwx. 1 leigh leigh 40 Mar 30 19:40 3c5bb924e8349b3b2031c25ca0de70d6507773 -> ../../../../bin/lda-desktop-entry-editor
lrwxrwxrwx. 1 leigh leigh 44 Mar 30 19:40 3c5bb924e8349b3b2031c25ca0de70d6507773.debug -> ../../usr/bin/lda-desktop-entry-editor.debug
[root@localhost ae]#

Heres a correct example

http://koji.fedoraproject.org/koji/rpminfo?rpmID=1834265

Revision history for this message
Michal Hruby (mhr3) said :
#13

Set LINKFLAGS=-s during ./waf configure.

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#14

This isn't acceptable solution

[leigh@localhost ~]$ rpmlint /home/leigh/rpmbuild/RPMS/x86_64/libdesktop-agnostic-debuginfo-0.3.9-bzr383.08.fc13.x86_64.rpm
libdesktop-agnostic-debuginfo.x86_64: E: empty-debuginfo-package
1 packages and 0 specfiles checked; 1 errors, 0 warnings.
[leigh@localhost ~]$

It needs to have a debuginfo package to pass a fedora review process ( stripping it manually isn't permitted )

Revision history for this message
Mark Lee (malept) said :
#15

So:

1. Not stripping it is bad.
2. Stripping it manually (e.g., LDFLAGS=-s) is bad.

I'm not sure what other option there is here. Debian packages split out debug info just fine, as do Gentoo ebuilds.

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#16

Well it doesn't work for rpm distro's ! ( Is it possible that you could test it on a rpm distro and see if you can find the problem ? )

I haven't had any problems like this before with debug ( it isn't a fedora issue ).

http://leigh123linux.fedorapeople.org/

Ahmad Samir is also suffering from the same debug issue ( He packages for Mandriva ).

This leads me to believe that the issue is in your source code.

I would like to get this package into Fedora, but as it stands it wouldn't pass a review ( unless I was granted a exemption ).

MUST: The package must meet the Packaging Guidelines .

https://fedoraproject.org/wiki/Packaging/ReviewGuidelines

https://fedoraproject.org/wiki/Packaging/Guidelines#Debuginfo_packages

https://fedoraproject.org/wiki/Packaging:Debuginfo

Revision history for this message
Michal Hruby (mhr3) said :
#17

Please make sure you're building with --enable-debug, other than that we cannot really help. Maybe you should check the output of the "find-debuginfo.sh" script (if any).

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#18

I was already using --enable-debug

Revision history for this message
Best Michal Hruby (mhr3) said :
#19

Seems like using

find %{buildroot}%{_libdir} -name *.so -exec chmod 755 {} \;

in %install section after ./waf install should do the trick.

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#20

Thanks Michal Hruby, that solved my question.

Revision history for this message
leigh123linux (leigh123linux-deactivatedaccount) said :
#21

I am going to try and get it included in Fedora.

https://bugzilla.redhat.com/show_bug.cgi?id=580422

Thanks again for your help.

Leigh