Date: Thu, 25 Mar 2004 11:44:36 -0600 From: Stephen Hilton <nospam@hiltonbsd.com> To: Alexander Nedotsukov <bland@freebsd.org> Cc: freebsd-gnome@freebsd.org Subject: Re: Time to put ${PTHREAD_LIBS} in the x11/xscreensaver-gnome? Message-ID: <20040325114436.6eed5e40.nospam@hiltonbsd.com> In-Reply-To: <4062F0C4.9000100@FreeBSD.org> References: <opr5epdtjo8ckrg5@smtp.central.cox.net> <4062F0C4.9000100@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 25 Mar 2004 23:46:28 +0900 Alexander Nedotsukov <bland@freebsd.org> wrote: > Jeremy Messenger wrote: > > > Hello, > > > > I do think that GNOME team should add the ${PTHREAD_LIBS} in the > > x11/xscreensaver-gnome at LDFLAGS line. There are few people have the > > same problem, so it's not just a Nvidia driver issue. Updated to 4.15 > > must have changed something, because the older version doesn't > > required the ${PTHREAD_LIBS}. > > Guys, > > I don't think it's good idea because of two reasons: > 1. I have xscreensaver-demo properly linked and running just fine here. > Plus since I have nvidia GL library installed when all GL hacks and > gl-helper mapped through libmap to use libc_r they also runs fine. > 2. xscreensaver do not make any use of threading at all. > Even the way you proposing may fix situation on your side this is not > the right thing. I fact for nvidia users it will be better not to link > against any threading library at all. This is the way things also works > fine on my side. > Speaking about incorrect linking. To proove this is the case it's > necessary to found at least one object wich make use of pthreads API but > do not linked against it or two objects linked against different > threading libraries. As I said I don't see any. > Well to be constructive can people (not only once who currently > expirince a problem with xscreensaver) try the patch attached and report > two things is: it works and what is your GL library Nvidia/Mesa? > > Thanks, > Alexander. > ps. Btw, others better follow my advise to figure out what is wrong with > your installation. Alexander, My system uses a Raedon 9000 card in dual-head mode, FreeBSD 5.2.1-RELEASE-p3 and a recent ports tree. Xscreensaver-demo was working fine then xscreensaver-gnome version was updated and the breakage occurred. I did not change my basic config, just portupgraded to the latest. Here is the exact error message I was getting: ------------------------------------------------------------ hilton>$ xscreensaver-demo xscreensaver-demo: 12:32:45: error closing "/usr/home/stephenh/.xscreensav er": Bad file descriptor xscreensaver-demo: too early for dialog? Fatal error 'Unable to read from thread kernel pipe' at line 1100 in file /usr/src/lib/libc_r/uthread/uthread_kern.c (errno = 0) Abort trap (core dumped) hilton>$ ------------------------------------------------------------ Deleteing /usr/home/stephenh/.xscreensaver had no effect. Around a week ago I totally rebuilt this system from scratch, all s.w. installed via ports, and still the xscreensaver-demo crash. The ${PTHREAD_LIBS} hack did fix the problem. All other applications seemed to be working well, the screensaver appeared as the only borked item. I do use a /etc/libmap.conf like this: ---------------------------------------------------------- libpthread.so.1 libc_r.so.5 libpthread.so libc_r.so # Flash6 with Mozilla/Firebird/Galeon/Epiphany [/usr/local/lib/linux-flashplugin6/libflashplayer.so] libpthread.so.0 pluginwrapper/flash6.so libdl.so.2 pluginwrapper/flash6.so libz.so.1 libz.so.2 libstdc++-libc6.2-2.so.3 libstdc++.so.4 libm.so.6 libm.so.2 libc.so.6 pluginwrapper/flash6.so # Acrobat with Mozilla/Firebird/Galeon/Epiphany [/usr/local/Acrobat5/Browsers/intellinux/nppdf.so] libc.so.6 pluginwrapper/acrobat.so # Java3D [/usr/local/jdk1.4.2/jre/lib/i386/libJ3D.so] libdl.so.2 pluginwrapper/java3d.so libm.so.6 libm.so.2 libnsl.so.1 pluginwrapper/java3d.so libpthread.so.0 pluginwrapper/java3d.so libc.so.6 pluginwrapper/java3d.so [/usr/local/jdk1.4.2/jre/lib/i386/libj3daudio.so] libm.so.6 libm.so.2 libnsl.so.1 pluginwrapper/java3d_snd.so libpthread.so.0 pluginwrapper/java3d_snd.so libc.so.6 pluginwrapper/java3d_snd.so [/usr/local/jdk1.4.2/jre/lib/i386/libJ3DUtils.so] libpthread.so.0 pluginwrapper/java3d.so libc.so.6 pluginwrapper/java3d.so ---------------------------------------------------------- And my /etc/make.conf looks like this: ---------------------------------------------------------- CPUTYPE?=i686 CFLAGS= -O -pipe CXXFLAGS+= -fmemoize-lookups -fsave-memoized BDECFLAGS= -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \ -Wcast-qual -Wchar-subscripts -Winline \ -Wmissing-prototypes -Wnested-externs -Wpointer-arith \ -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings COPTFLAGS= -O -pipe NO_BIND= true # do not build BIND NO_KERBEROS= true # do not build and install Kerberos 5 (KTH Heimdal) NOGAMES= true # do not build games (games/ subdir) NOPROFILE= true # Avoid compiling profiled libraries NO_LPR= true # do not build lpr and related programs NO_SENDMAIL= true # do not build sendmail and related programs MAKE_IDEA= YES # IDEA (128 bit symmetric encryption) COMPAT4X= yes DOC_LANG= en_US.ISO8859-1 WRKDIRPREFIX= /var/portswrk KERNCONF= HILTON WITH_GTK2= yes WITH_FAM= yes WITH_GNOME= yes WITH_GNOME_DESKTOP= 2 PERL_VER=5.8.2 PERL_VERSION=5.8.2 PERL_ARCH=mach NOPERL=yo NO_PERL=yo NO_PERL_WRAPPER=yo ---------------------------------------------------------- Kernel config: ------------------------------------------------------------ # $FreeBSD: src/sys/i386/conf/HILTON,v 1.234.5.6 2004/03/19 23:59:59 sch Exp $ machine i386 cpu I686_CPU options CPU_ATHLON_SSE_HACK options CPU_ENABLE_SSE ident HILTON options INCLUDE_CONFIG_FILE #To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" #Default places to look for devices. #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options SCHED_4BSD #4BSD scheduler options INET #InterNETworking #options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options MD_ROOT #MD is a potential root device options NFSCLIENT #Network Filesystem Client options NFSSERVER #Network Filesystem Server #options NFS_ROOT #NFS usable as /, requires NFSCLIENT options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 #Compatible with FreeBSD4 options COMPAT_LINUX options LINPROCFS options SCSI_DELAY=7000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. device isa device pci # ACPI support device acpi # Floppy drives device fdc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device ataraid # ATA RAID drives device atapicd # ATAPI CDROM drives device atapifd # ATAPI floppy drives device atapist # ATAPI tape drives options ATA_STATIC_ID #Static device numbering # SCSI controller device sym options SYM_SETUP_SCSI_DIFF #-HVD support for 825a, 875, 885 # SCSI peripherals device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses # SCSI Environmental Services (and SAF-TE) # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device vga # VGA video card driver device splash # Splash screen and screen saver support options SC_DISABLE_REBOOT # disable reboot key sequence options SC_HISTORY_SIZE=2045 # number of history buffer lines # syscons is the default console driver, resembling an SCO console device sc device agp # support several AGP chipsets #device radeondrm # ATI Radeon AGP drm support # Floating point support - do not disable. device npx # Power management support (see NOTES for more options) device apm # Serial (COM) ports device sio # 8250, 16[45]50 based serial ports # Parallel port device ppc device ppbus # Parallel port bus (required) device lpt # Printer device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da # If you've got a "dumb" serial or parallel PCI card that is # supported by the puc(4) glue driver, uncomment the following # line to enable it (connects to the sio and/or ppc drivers): device puc # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support device bfe # Broadcom BCM440x 10/100 ethernet device bge # Broadcom BCM570xx Gigabit Ethernet device fxp # Intel EtherExpress PRO/100B (82557, 82558) device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') device rl # Realtek fast ethernet # Pseudo devices - the number indicates how many units to allocate. device random # Entropy device device loop # Network loopback device ether # Ethernet support device sl # Kernel SLIP device ppp # Kernel PPP device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) device bpf # Berkeley packet filter device snp # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device urio # Diamond Rio 500 MP3 player device uscanner # Scanners # IPFILTER firewalling options IPFILTER options IPFILTER_LOG option PFIL_HOOKS option IPFILTER_DEFAULT_BLOCK # SOUND device pcm ------------------------------------------------------------ Should I have this in my /etc/make.conf: COMPAT4X= yes Or is this unneeded or a source of problems ? Any insight or ideas as to what may be "misconfigured" etc... ? The only app that misbehaves is xscreensaver-demo, and the fix of adding ${PTHREAD_LIBS} to the LDCONFIG line in the Makefile does solve the xscreensaver-demo crash. Is there some aspect to the Raedon drivers that is tickled by dual-head mode? Regards, Stephen Hilton nospam@hiltonbsd.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040325114436.6eed5e40.nospam>