From owner-freebsd-ports Thu Aug 30 13:42:48 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id CC01E37B405 for ; Thu, 30 Aug 2001 13:42:32 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f7UKeEV47799; Thu, 30 Aug 2001 13:40:14 -0700 (PDT) (envelope-from gnats) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id CBF9637B406 for ; Thu, 30 Aug 2001 13:37:11 -0700 (PDT) (envelope-from nobody@FreeBSD.org) Received: (from nobody@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f7UKZOR47436; Thu, 30 Aug 2001 13:35:24 -0700 (PDT) (envelope-from nobody) Message-Id: <200108302035.f7UKZOR47436@freefall.freebsd.org> Date: Thu, 30 Aug 2001 13:35:24 -0700 (PDT) From: Jim Conner To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: ports/30226: pthreads errors building VLC - pthread libs correct? Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 30226 >Category: ports >Synopsis: pthreads errors building VLC - pthread libs correct? >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Aug 30 13:40:13 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Jim Conner >Release: 4.2 Release >Organization: None (personal) >Environment: FreeBSD kwanmob.homeip.net 4.2-RELEASE FreeBSD 4.2-RELEASE #9: Fri Aug 17 02:25:20 EDT 2001 root@kwanmob.homeip.net:/usr/src/sys/compile/kwan-kern i386 >Description: Well, I've updated the ports collection and attempted the vlc install from the ports update. A few days ago I attempted to install VLC to watch DVDs. That was build 0.2.81 of VLC. I didn't have VLC included in my ports at that time. The installation failed with the exact same errors as what Im about to show you. I was told that if I updated my ports tree that the latest version of VLC was included in that tree (VLC was rev'ed a few days ago). I updated my tree and reattempted my build. The below error message is what I get now and have always gotten. I'll paste the output. At this point Im wondering if there isn't something wrong with my pthreads library. -- snip -- cd plugins/x11/ && gmake ../xvideo.so gmake[1]: Entering directory `/usr/ports/graphics/vlc/work/vlc-0.2.83/plugins/x11' gmake[1]: Leaving directory `/usr/ports/graphics/vlc/work/vlc-0.2.83/plugins/x11' PROBLEM STARTS HERE (notice pthreads gets called and has been for the whole build but that isn't reflected here...) -- this is the compile command... cc -O -pipe -pthread -DSYS_FREEBSD4_2 -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -Iinclude -Iextras -I/usr/local/include -Wall -Winline -pipe -D_REENTRANT -D_GNU_SOURCE -o vlc src/interface/main.o src/interface/interface.o src/interface/intf_msg.o src/interface/intf_playlist.o src/interface/intf_channels.o src/input/input.o src/input/input_ext-dec.o src/input/input_ext-intf.o src/input/input_dec.o src/input/input_programs.o src/input/input_netlist.o src/input/input_clock.o src/input/mpeg_system.o src/video_output/video_output.o src/video_output/video_text.o src/video_output/video_spu.o src/video_output/video_yuv.o src/audio_output/audio_output.o src/audio_output/aout_ext-dec.o src/audio_output/aout_u8.o src/audio_output/aout_s8.o src/audio_output/aout_u16.o src/audio_output/aout_s16.o src/audio_output/aout_spdif.o src/ac3_decoder/ac3_decoder_thread.o src/ac3_decoder/ac3_decoder.o src/ac3_decoder/ac3_parse.o src/ac3_decoder/ac3_exponent.o src/ac3_decoder/ac3_bit_allocate.o src/ac3_decoder/ac3_mantissa.o src/ac3_decoder/ac3_rematrix.o src/ac3_decoder/ac3_imdct.o src/ac3_spdif/ac3_spdif.o src/ac3_spdif/ac3_iec958.o src/lpcm_decoder/lpcm_decoder_thread.o src/audio_decoder/audio_decoder.o src/audio_decoder/adec_generic.o src/audio_decoder/adec_layer1.o src/audio_decoder/adec_layer2.o src/audio_decoder/adec_math.o src/spu_decoder/spu_decoder.o src/video_decoder/video_parser.o src/video_decoder/vpar_headers.o src/video_decoder/vpar_blocks.o src/video_decoder/vpar_synchro.o src/video_decoder/vpar_pool.o src/video_decoder/video_decoder.o src/misc/mtime.o src/misc/tests.o src/misc/modules.o src/misc/netutils.o plugins/es.a plugins/ps.a plugins/ts.a plugins/yuv.a plugins/idct.a plugins/idctclassic.a plugins/motion.a plugins/imdct.a plugins/downmix.a plugins/yuvmmx.a plugins/idctmmx.a plugins/motionmmx.a plugins/idctmmxext.a plugins/motionmmxext.a plugins/imdct3dn.a plugins/downmix3dn.a plugins/imdctsse.a plugins/downmixsse.a plugins/dvd.a plugins/dummy.a plugins/null.a plugins/rc.a $LIB_ES $LIB_PS $LIB_TS $LIB_YUV $LIB_! IDCT $LIB_IDCTCLASSIC $LIB_MOTION $LIB_IMDCT $LIB_DOWNMIX $LIB_YUVMMX $LIB_IDCTMMX $LIB_MOTIONMMX $LIB_IDCTMMXEXT $LIB_MOTIONMMXEXT $LIB_IMDCT3DN $LIB_DOWNMIX3DN $LIB_IMDCTSSE $LIB_DOWNMIXSSE $LIB_DVD $LIB_DUMMY $LIB_NULL $LIB_RC -L/usr/local/lib -lgnugetopt -pthread -Wall src/input/input.o: In function `NetworkOpen': -- this is where the error gets output... src/input/input.o(.text+0xcd9): undefined reference to `__pthread_connect' plugins/es.a(BUILTIN_input_es.o): In function `ESRead': BUILTIN_input_es.o(.text+0x202): undefined reference to `__pthread_readv' plugins/ts.a(BUILTIN_input_ts.o): In function `TSRead': BUILTIN_input_ts.o(.text+0x389): undefined reference to `__pthread_select' BUILTIN_input_ts.o(.text+0x3c9): undefined reference to `__pthread_readv' plugins/rc.a(BUILTIN_intf_rc.o): In function `intf_Run': BUILTIN_intf_rc.o(.text+0x24d): undefined reference to `__pthread_select' BUILTIN_intf_rc.o(.text+0x27d): undefined reference to `__pthread_read' gmake: *** [vlc] Error 1 *** Error code 2 -- *sigh* :) Stop in /usr/ports/graphics/vlc. *** Error code 1 Stop in /usr/ports/graphics/vlc. *** Error code 1 Stop in /usr/ports/graphics/vlc. -- !snip -- Unfortunately, I know little to nothing about system libraries and how to check them. The pthread libs are installed on the system but perhaps I have a tweaked installation of them or maybe a conflicting version? When I asked a mailing list about this question I was told that I should submit a bug report. So, I am. Please contact me if you have any questions. FOLLOW-UP! ---------- While I was writing this message and was gathering information I noticed that I *might* not have had the pthread lib installed. I wasn't sure though so I decided to try and install it anyway (from ports /usr/ports/devel/pth). Now this might be an unrelated issue but I am not sure. The configure hangs at the following: -- snip -- Machine Context Implementation: checking for ucontext.h... yes checking for function makecontext... no checking for function swapcontext... no checking for function getcontext... no checking for function setcontext... no checking for usable SVR4/SUSv2 makecontext(2)/swapcontext(2)... no checking for signal.h... (cached) yes checking for function sigsetjmp... yes checking for function siglongjmp... yes checking for function setjmp... yes checking for function longjmp... yes checking for function _setjmp... yes checking for function _longjmp... yes checking for function sigaltstack... no checking for function sigstack... no checking for signal-mask aware setjmp(3)/longjmp(3)... <-- here -- !snip -- That might help. I am still not sure if pthread libs are already installed. Here is what makes me suspect that they aren't: -- snip -- [root@kwanmob /usr/ports/devel/pth]# locate pthread | grep -v man /usr/compat/linux/lib/libpthread-0.8.so /usr/compat/linux/lib/libpthread.so.0 /usr/include/g++/pthread_alloc /usr/include/g++/pthread_alloc.h /usr/include/pthread.h /usr/include/pthread_np.h /usr/libdata/perl/5.00503/mach/g++/pthread_alloc.ph /usr/libdata/perl/5.00503/mach/pthread.ph /usr/libdata/perl/5.00503/mach/pthread_np.ph /usr/local/bin/pthread-config /usr/local/include/mysql/my_pthread.h /usr/local/include/pthread /usr/local/include/pthread/linuxthreads /usr/local/include/pthread/linuxthreads/bits /usr/local/include/pthread/linuxthreads/bits/libc-lock.h /usr/local/include/pthread/linuxthreads/bits/libc-tsd.h /usr/local/include/pthread/linuxthreads/bits/local_lim.h /usr/local/include/pthread/linuxthreads/bits/posix_opt.h /usr/local/include/pthread/linuxthreads/bits/pthreadtypes.h /usr/local/include/pthread/linuxthreads/bits/sigthread.h /usr/local/include/pthread/linuxthreads/bits/stdio-lock.h /usr/local/include/pthread/linuxthreads/pt-machine.h /usr/local/include/pthread/linuxthreads/pthread.h /usr/local/include/pthread/linuxthreads/semaphore.h /usr/local/include/pthread/linuxthreads/useldt.h /usr/local/include/pthread.h /usr/local/lib/libpthread.a /usr/local/lib/libpthread.la /usr/local/lib/libpthread.so /usr/local/lib/libpthread.so.13 /usr/src/crypto/openssl/crypto/threads/pthread.sh /usr/src/crypto/openssl/crypto/threads/pthread2.sh /usr/src/crypto/openssl/mt/pthread.sh [root@kwanmob /usr/ports/devel/pth]# -- !snip -- All I seem to find here is header files but no objects for the BSD platform. Am I right? *shrug* Im not sure. I'd like to know what someone on your side thinks. Either way something seems to be wrong either with the pthreads building or the VLC build hitting the pthread objects. Thanks guys! - Jim >How-To-Repeat: dmesg ----- Copyright (c) 1992-2000 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.2-RELEASE #9: Fri Aug 17 02:25:20 EDT 2001 root@kwanmob.homeip.net:/usr/src/sys/compile/kwan-kern Timecounter "i8254" frequency 1193182 Hz CPU: Pentium III/Pentium III Xeon/Celeron (601.37-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x681 Stepping = 1 Features=0x387f9ff real memory = 134152192 (131008K bytes) avail memory = 127324160 (124340K bytes) Preloaded elf kernel "kernel" at 0xc0343000. Pentium Pro MTRR support enabled md0: Malloc disk npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at 0.0 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0x1050-0x105f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: port 0x1060-0x107f irq 11 at device 7.2 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: port 0x1040-0x104f at device 7.3 on pci0 pcm0: port 0x1400-0x1403,0x1080-0x10bf mem 0xfc000000-0xfc007fff irq 5 at device 9.0 on pci0 pcn0: port 0x10e0-0x10ff mem 0xfc008000-0xfc00801f irq 9 at device 11.0 on pci0 pcn0: Ethernet address: 00:90:f5:04:c6:3f miibus0: on pcn0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pcic-pci0: irq 11 at device 12.0 on pci0 fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: at port 0x60,0x64 on isa0 atkbd0: flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: irq 12 on atkbdc0 psm0: model GlidePoint, device ID 0 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> pcic0: at port 0x3e0 iomem 0xd0000 on isa0 pcic0: Polling mode pccard0: on pcic0 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode lpt0: on ppbus0 lpt0: Interrupt-driven port ppi0: on ppbus0 ad0: 5729MB [12416/15/63] at ata0-master UDMA33 acd0: DVD-ROM at ata1-master using UDMA33 kernel config ------------- ### # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.20 2000/10/31 23:16:07 n_hibma Exp $ machine i386 cpu I686_CPU ident KWAN maxusers 32 options INET #InterNETworking options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options SOFTUPDATES #Enable FFS soft updates support options MFS #Memory Filesystem options MD_ROOT #MD is a potential root device options NFS #Network Filesystem options NFS_ROOT #NFS usable as root device, NFS required options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options CD9660_ROOT #CD-ROM usable as root, CD9660 required options PROCFS #Process filesystem options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI options UCONSOLE #Allow users to grab the console options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING options ICMP_BANDLIM #Rate limit bad replies options KBD_INSTALL_CDEV # install a CDEV entry in /dev device isa device pci # Floppy drives device fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 # ATA and ATAPI devices device ata0 at isa? port IO_WD1 irq 14 device ata1 at isa? port IO_WD2 irq 15 device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID #Static device numbering options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devices # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 flags 0x1 device psm0 at atkbdc? irq 12 device vga0 at isa? # splash screen/screen saver pseudo-device splash # syscons is the default console driver, resembling an SCO console device sc0 at isa? flags 0x100 # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? #options XSERVER # support for X server on a vt console device npx0 at nexus? port IO_NPX irq 13 # Power management support (see LINT for more options) device apm0 at nexus? disable flags 0x20 # Advanced Power Management # PCCARD (PCMCIA) support device card device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000 device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable # Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 device sio2 at isa? disable port IO_COM3 irq 5 device sio3 at isa? disable port IO_COM4 irq 9 # Parallel port device ppc0 at isa? irq 7 device ppbus # Parallel port bus (required) device lpt # Printer device ppi # Parallel port interface device # 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 pcn # AMD Am79C79x PCI 10/100 NICs # Pseudo devices - the number indicates how many units to allocated. pseudo-device loop # Network loopback pseudo-device ether # Ethernet support pseudo-device tun # Packet tunnel. pseudo-device pty # Pseudo-ttys (telnet etc) pseudo-device md # Memory "disks" pseudo-device gif 4 # IPv6 and IPv4 tunneling pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation) # The `bpf' pseudo-device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! pseudo-device bpf #Berkeley packet filter # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) 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 uscanner # Scanners # USB Ethernet, requires mii device aue # ADMtek USB ethernet device cue # CATC USB ethernet device kue # Kawasaki LSI USB ethernet device pcm software versions ----------------- Using builtin specs. gcc version 2.95.2 19991024 (release) >Fix: Unknown >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message