You are not logged in.

#1 2008-05-07 22:14:33

Warnaud
Member
From: /dev/random
Registered: 2006-03-02
Posts: 58
Website

3ddesktop pkg segfault

Hi all, 3ddesktop is not working anymore.

3ddeskd -v
Verbose is ON
load_conf: opened /etc/3ddesktop/3ddesktop.conf
Found view: goright
Found view: goleft
Found view: slide
Found view: nozoom
Found view: linear
Found view: linearzip
Found view: bigmoney
vdesktops: making best guess...
c=0, r=0, nc=4, nr=1
segfault

I've tried to use the patch found on gentoo's mirror but the compilation fails:
PKGBUILD

# $Id$
# Maintainer: damir <damir@archlinux.org>
# Contributor: Ben <ben@benmazer.net>

pkgname=3ddesktop
pkgver=0.2.9
pkgrel=3
pkgdesc="a 3d virtual desktop switcher (opengl/mesa)"
url="http://desk3d.sourceforge.net"
depends=('freetype2' 'libxi' 'libxmu' 'imlib2' 'glut')
arch=('i686' 'x86_64')

source=(http://easynews.dl.sourceforge.net/sourceforge/desk3d/$pkgname-$pkgver.tar.gz
        http://www.gentoo.mirror.solnet.ch/x11-misc/3ddesktop/files/3ddesktop-0.2.9-gcc4.patch)


build() {
  cd $startdir/src/$pkgname-$pkgver
  # Gcc patch
  patch -p1 < $startdir/3ddesktop-0.2.9-gcc4.patch || return 1
  ./configure --prefix=/usr --sysconfdir=/etc/3ddesktop
  make || return 1
  make prefix=$startdir/pkg/usr sysconfdir=$startdir/pkg/etc/3ddesktop install
}

compilation log (end)

config.cpp: In function 'void usage_and_bye()':
config.cpp:41: attention : deprecated conversion from string constant to 'char*'
config.cpp: In function 'int get_boolean(char*)':
config.cpp:51: erreur: 'strcmp' was not declared in this scope
config.cpp:57: erreur: 'strcmp' was not declared in this scope
config.cpp: In constructor 'Options::Options(char*)':
config.cpp:71: erreur: 'strncpy' was not declared in this scope
config.cpp:88: erreur: 'strcpy' was not declared in this scope
config.cpp: In member function 'void Options::set_color(int*, char*)':
config.cpp:120: erreur: 'strcmp' was not declared in this scope
config.cpp:137: attention : deprecated conversion from string constant to 'char*'
config.cpp: In member function 'int Options::set_option(char*, char*, bool)':
config.cpp:151: erreur: 'strcmp' was not declared in this scope
config.cpp:217: erreur: 'strncpy' was not declared in this scope
config.cpp: In constructor 'Config::Config()':
config.cpp:322: erreur: 'strcpy' was not declared in this scope
config.cpp:325: attention : deprecated conversion from string constant to 'char*'
config.cpp:327: attention : deprecated conversion from string constant to 'char*'
config.cpp: In member function 'void Config::init_from_command_line(int, char**)':
config.cpp:394: erreur: 'strcmp' was not declared in this scope
config.cpp:417: attention : deprecated conversion from string constant to 'char*'
config.cpp: In member function 'int Config::set_global_option(char*, char*, bool)':
config.cpp:430: erreur: 'strcmp' was not declared in this scope
config.cpp:445: attention : deprecated conversion from string constant to 'char*'
config.cpp:461: attention : deprecated conversion from string constant to 'char*'
config.cpp:555: erreur: 'strncpy' was not declared in this scope
config.cpp: In member function 'void Config::set_config_set(char*)':
config.cpp:627: erreur: 'strcmp' was not declared in this scope
config.cpp:633: erreur: 'strcmp' was not declared in this scope
config.cpp:634: attention : deprecated conversion from string constant to 'char*'
config.cpp:644: erreur: 'strcmp' was not declared in this scope
config.cpp:647: attention : deprecated conversion from string constant to 'char*'
config.cpp: In member function 'void Config::load_conf()':
config.cpp:696: erreur: 'strerror' was not declared in this scope
config.cpp:701: attention : deprecated conversion from string constant to 'char*'
config.cpp:729: erreur: 'strpbrk' was not declared in this scope
config.cpp:734: erreur: 'strspn' was not declared in this scope
config.cpp:735: erreur: 'strlen' was not declared in this scope
config.cpp:741: attention : deprecated conversion from string constant to 'char*'
config.cpp:749: erreur: 'strcmp' was not declared in this scope
config.cpp:756: attention : deprecated conversion from string constant to 'char*'
config.cpp:759: attention : deprecated conversion from string constant to 'char*'
config.cpp: In member function 'void Config::create_working_dir_if_necessary()':
config.cpp:819: erreur: 'strerror' was not declared in this scope
config.cpp:824: erreur: 'strerror' was not declared in this scope
config.cpp: In member function 'int Config::make_pidfile()':
config.cpp:842: erreur: 'strerror' was not declared in this scope
make[1]: *** [config.o] Erreur 1
make[1]: leaving directory « /home/warnaud/repo/3ddesktop/src/3ddesktop-0.2.9 »
make: *** [all] Erreur 2
==> ERROR: The compilation failed.

Any ideas?

Thx for reading


-=<>=-
Archlinux French site : http://www.archlinux.fr

Offline

#2 2008-05-07 23:21:45

ghostHack
Member
From: Bristol UK
Registered: 2008-02-29
Posts: 261

Re: 3ddesktop pkg segfault

I don't know about the segfault but the build error is a gcc4.3 issue.  However it turns out that its trivial to fix.  Put the following into a file called config.diff

22a23
> #include <cstring>

Add this file to the sources array and then add a patch command after the gentoo one

patch -p0 config.cpp ../config.diff || return 1

With this I could sucessfully build the package and a quick test of '3ddesk' seemed to work.  You will see a lot of warnings during the make stage along the lines of

config.cpp:328: warning: deprecated conversion from string constant to 'char*'

but you dont need to worry about these too much.

Offline

#3 2008-05-08 01:22:02

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: 3ddesktop pkg segfault

Also, file a bug report if it's not done already.

Offline

#4 2008-05-08 20:21:11

Warnaud
Member
From: /dev/random
Registered: 2006-03-02
Posts: 58
Website

Re: 3ddesktop pkg segfault

Many thanks ghostHack, here's the new pkgbuild:

# $Id$
# Maintainer: damir <damir@archlinux.org>
# Contributor: Ben <ben@benmazer.net>

pkgname=3ddesktop
pkgver=0.2.9
pkgrel=3
pkgdesc="a 3d virtual desktop switcher (opengl/mesa)"
url="http://desk3d.sourceforge.net"
depends=('freetype2' 'libxi' 'libxmu' 'imlib2' 'glut')
arch=('i686' 'x86_64')
license=('GPL')
source=(http://easynews.dl.sourceforge.net/sourceforge/desk3d/$pkgname-$pkgver.tar.gz
        http://www.gentoo.mirror.solnet.ch/x11-misc/3ddesktop/files/3ddesktop-0.2.9-gcc4.patch
        config.diff)
md5sums=('da1e8b0d2c210a441676bbf663e694ee' '9aac53edbd737f827651470da4e5a7b2' '2fbc8e15dfadfd7dab079644284a0d1a')

build() {
  cd $startdir/src/$pkgname-$pkgver
  # Gcc patch from gentoo
  patch -p1 < $startdir/3ddesktop-0.2.9-gcc4.patch || return 1
  # Gcc 4.3 thanks to ghostHack
  patch -p0 config.cpp $startdir/config.diff || return 1
  ./configure --prefix=/usr --sysconfdir=/etc/3ddesktop
  make || return 1
  make prefix=$startdir/pkg/usr sysconfdir=$startdir/pkg/etc/3ddesktop install
}

I've compiled it but it still segfault/doesn't work sad


-=<>=-
Archlinux French site : http://www.archlinux.fr

Offline

#5 2008-05-08 23:09:04

ghostHack
Member
From: Bristol UK
Registered: 2008-02-29
Posts: 261

Re: 3ddesktop pkg segfault

Hmm, well it worked for me so it could be either a corrupted configuration file/library at your end or differences between my setup and yours that mean this (possible) bug doesn't manifest for me. 

I'm running 64bit Arch with [testing] enabled which has newer versions of both xorg-server and mesa than [extra], I'll see if I can test it on the [extra] versions.  Also, I have an nvidia graphics card so I use the 'nvidia' xorg driver.

Also, can you look in your pacman.log to see if anything was upgraded about the same time that it started segfaulting?

Last edited by ghostHack (2008-05-08 23:10:16)

Offline

#6 2008-05-09 11:34:26

Warnaud
Member
From: /dev/random
Registered: 2006-03-02
Posts: 58
Website

Re: 3ddesktop pkg segfault

Thanks for help,
I've the same problem on nvidia or intel graphic cards, both on i686.
When I launch 3ddeskd -v it segfault.
Activating [testing], the following package can be upgraded:

 bzip2-1.0.5-2  exiv2-0.16-2  libkexiv2-0.1.6-3  digikam-0.9.3-2  gwenview-1.4.2-2  
 inputproto-1.4.3-1  kernel26-2.6.25-1  ipw3945-1.2.2-9  libgl-7.0.3rc3-1  libldap-2.3.40-1  
 libtool-2.2.2-1  libx11-1.1.4-1  libxkbfile-1.0.5-1  libxv-1.0.4-1  licenses-2.4-1  
 lvm2-2.02.35-1  mesa-7.0.3rc3-1  openssh-5.0p1-1  pinentry-0.7.3-2  printproto-1.0.4-1  
 qt-4.3.4-1  sudo-1.6.9p15-1  xf86-video-i810-1.7.4-8  xorg-server-1.4.0.90-10  
 xproto-7.0.12-1

I have:

 mesa 7.0.3rc2-1
 libgl 7.0.3rc2-1

Sounds like "rc fun" lol


-=<>=-
Archlinux French site : http://www.archlinux.fr

Offline

#7 2008-05-09 23:28:42

ghostHack
Member
From: Bristol UK
Registered: 2008-02-29
Posts: 261

Re: 3ddesktop pkg segfault

Ok, I've just tested this on my laptop (using xf86-video-intel) which is running i686 and it segfaults.  Looking in the logs the fault appears to be in the libGL library. 

everything.log.1:May  9 18:02:19 masaq 3ddeskd[3615]: segfault at 330 ip b7d15f66 sp bf9f886c error 4 in libGL.so.1.2[b7d10000+9000]

My lapop has intel graphics so I have the separate libgl package:

[root@masaq log]# pacman -Q libgl
libgl 7.0.3rc3-1

But my desktop uses the propriety nvidia driver which has its own GL library so it seems like it might be a problem with libGL rather than 3ddesktop specifically.

I'll do a bit more investigating and then post the info on flyspray.

Offline

#8 2008-05-11 06:13:11

Warnaud
Member
From: /dev/random
Registered: 2006-03-02
Posts: 58
Website

Re: 3ddesktop pkg segfault

I just created a pkg under a brand new arch64 box in full testing with an intel video card (using the xf86-video-i810 1.7.4-9 driver and libgl 7.0.3-1 - both from testing) and it works !


-=<>=-
Archlinux French site : http://www.archlinux.fr

Offline

#9 2008-05-17 07:28:41

Warnaud
Member
From: /dev/random
Registered: 2006-03-02
Posts: 58
Website

Re: 3ddesktop pkg segfault

On the same machine on i686 (no testing) it doesn't work. I'll test on an nvidia based system.


-=<>=-
Archlinux French site : http://www.archlinux.fr

Offline

#10 2009-02-28 23:52:41

Warnaud
Member
From: /dev/random
Registered: 2006-03-02
Posts: 58
Website

Re: 3ddesktop pkg segfault

Sorry to wake up this thread again but it works on archlinux 64 bit (without the testing repo enabled).
There's something different in this package or the pkgs it depends on.


-=<>=-
Archlinux French site : http://www.archlinux.fr

Offline

Board footer

Powered by FluxBB