5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

classic Classic list List threaded Threaded
23 messages Options
12
Reply | Threaded
Open this post in threaded view
|

5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Marcus MERIGHI
hello folks,

when
1) running cwm(1) with having
2) ``XTerm*locale:ISO8859-1'' in ~/.Xresources
3) hitting CM-Return starts xterm(1) after differing amounts of retries
   (between 1 and 9 up to now).

If I disable ``XTerm*locale:ISO8859-1'' in ~/.Xresources the symptoms
are gone.

Bye, Marcus

OpenBSD 5.4-beta (GENERIC.MP) #20: Sun Jul  7 17:36:04 MDT 2013
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 3194331136 (3046MB)
avail mem = 3101630464 (2957MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf68e0 (62 entries)
bios0: vendor Dell Inc. version "A18" date 12/06/2011
bios0: Dell Inc. Latitude D630
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP HPET APIC ASF! MCFG TCPA SLIC SSDT
acpi0: wakeup devices PCI0(S5) PCIE(S4) USB1(S0) USB2(S0) USB3(S0) USB4(S0) USB5(S0) EHC2(S0) EHCI(S0) AZAL(S3) RP01(S3) RP02(S4) RP03(S3) RP04(S3) RP05(S3) RP06(S5) [...]
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz, 1995.36 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF
cpu0: 2MB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
cpu0: apic clock running at 199MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz, 1995.01 MHz
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF
cpu1: 2MB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 2
acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
acpiprt0 at acpi0: bus 3 (PCIE)
acpiprt1 at acpi0: bus -1 (AGP_)
acpiprt2 at acpi0: bus 11 (RP01)
acpiprt3 at acpi0: bus 12 (RP02)
acpiprt4 at acpi0: bus -1 (RP03)
acpiprt5 at acpi0: bus -1 (RP04)
acpiprt6 at acpi0: bus -1 (RP05)
acpiprt7 at acpi0: bus 9 (RP06)
acpiprt8 at acpi0: bus 0 (PCI0)
acpicpu0 at acpi0: C3, C2, C1, PSS
acpicpu1 at acpi0: C3, C2, C1, PSS
acpitz0 at acpi0: critical temperature is 99 degC
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: PBTN
acpibtn2 at acpi0: SBTN
acpiac0 at acpi0: AC unit online
acpibat0 at acpi0: BAT0 model "DELL KP4331" serial 278 type LION oem "SMP"
acpibat1 at acpi0: BAT1 not present
acpidock0 at acpi0: GDCK not docked (0)
acpivideo0 at acpi0: VID_
acpivideo1 at acpi0: VID_
acpivideo2 at acpi0: VID2
cpu0: Enhanced SpeedStep 1995 MHz: speeds: 2001, 2000, 1600, 1200, 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel GM965 Host" rev 0x0c
vga1 at pci0 dev 2 function 0 "Intel GM965 Video" rev 0x0c
intagp0 at vga1
agp0 at intagp0: aperture at 0xe0000000, size 0x10000000
inteldrm0 at vga1
drm0 at inteldrm0
intel_overlay_map_regs partial stub
inteldrm0: 1440x900
wsdisplay0 at vga1 mux 1: console (std, vt100 emulation)
wsdisplay0: screen 1-5 added (std, vt100 emulation)
"Intel GM965 Video" rev 0x0c at pci0 dev 2 function 1 not configured
uhci0 at pci0 dev 26 function 0 "Intel 82801H USB" rev 0x02: apic 2 int 20
uhci1 at pci0 dev 26 function 1 "Intel 82801H USB" rev 0x02: apic 2 int 21
ehci0 at pci0 dev 26 function 7 "Intel 82801H USB" rev 0x02: apic 2 int 22
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 82801H HD Audio" rev 0x02: msi
azalia0: codecs: Sigmatel STAC9205X
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801H PCIE" rev 0x02: msi
pci1 at ppb0 bus 11
ppb1 at pci0 dev 28 function 1 "Intel 82801H PCIE" rev 0x02: msi
pci2 at ppb1 bus 12
wpi0 at pci2 dev 0 function 0 "Intel PRO/Wireless 3945ABG" rev 0x02: msi, MoW2, address 00:1f:3c:cc:e5:3c
ppb2 at pci0 dev 28 function 5 "Intel 82801H PCIE" rev 0x02: msi
pci3 at ppb2 bus 9
bge0 at pci3 dev 0 function 0 "Broadcom BCM5755M" rev 0x02, BCM5755 A2 (0xa002): apic 2 int 17, address 00:21:70:d9:e5:ab
brgphy0 at bge0 phy 1: BCM5755 10/100/1000baseT PHY, rev. 0
uhci2 at pci0 dev 29 function 0 "Intel 82801H USB" rev 0x02: apic 2 int 20
uhci3 at pci0 dev 29 function 1 "Intel 82801H USB" rev 0x02: apic 2 int 21
uhci4 at pci0 dev 29 function 2 "Intel 82801H USB" rev 0x02: apic 2 int 22
ehci1 at pci0 dev 29 function 7 "Intel 82801H USB" rev 0x02: apic 2 int 20
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb3 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xf2
pci4 at ppb3 bus 3
cbb0 at pci4 dev 1 function 0 "O2 Micro OZ711EZ1 CardBus" rev 0x21: apic 2 int 19
"O2 Micro Firewire" rev 0x02 at pci4 dev 1 function 4 not configured
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 4 device 0 cacheline 0x0, lattimer 0x20
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0 "Intel 82801HBM LPC" rev 0x02
pciide0 at pci0 dev 31 function 1 "Intel 82801HBM IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <WDC WD3200BEVE-00A0HT0>
wd0: 16-sector PIO, LBA48, 305245MB, 625142448 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide0: channel 1 ignored (disabled)
pciide1 at pci0 dev 31 function 2 "Intel 82801HBM SATA" rev 0x02: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide1: using apic 2 int 18 for native-PCI interrupt
wd1 at pciide1 channel 0 drive 0: <HITACHI HTS542516K9SA00>
wd1: 16-sector PIO, LBA48, 152627MB, 312581808 sectors
wd1(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 6
ichiic0 at pci0 dev 31 function 3 "Intel 82801H SMBus" rev 0x02: SMI
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-6400CL5 SO-DIMM
spdmem1 at iic0 addr 0x52: 1GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
usb2 at uhci0: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci1: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci2: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb5 at uhci3: USB revision 1.0
uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb6 at uhci4: USB revision 1.0
uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
mtrr: Pentium Pro MTRR support
uhub7 at uhub6 port 1 "O2 Micro OZ776 Hub" rev 1.10/1.10 addr 2
ugen0 at uhub7 port 2 "O2 O2Micro CCID SC Reader" rev 1.10/1.10 addr 3
vscsi0 at root
scsibus0 at vscsi0: 256 targets
softraid0 at root
scsibus1 at softraid0: 256 targets
root on wd1a (1c180c22e222ec49.a) swap on wd1b dump on wd1b

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
On Jul 09 13:31:30, [hidden email] wrote:

> hello folks,
>
> when
> 1) running cwm(1) with having
> 2) ``XTerm*locale:ISO8859-1'' in ~/.Xresources
> 3) hitting CM-Return starts xterm(1) after differing amounts of retries
>    (between 1 and 9 up to now).
>
> If I disable ``XTerm*locale:ISO8859-1'' in ~/.Xresources the symptoms
> are gone.

http://marc.info/?l=openbsd-misc&m=137287894132390&w=2
This exact problem was reported last week,
naddy@ is looking into it.


> Bye, Marcus
>
> OpenBSD 5.4-beta (GENERIC.MP) #20: Sun Jul  7 17:36:04 MDT 2013
>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 3194331136 (3046MB)
> avail mem = 3101630464 (2957MB)
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf68e0 (62 entries)
> bios0: vendor Dell Inc. version "A18" date 12/06/2011
> bios0: Dell Inc. Latitude D630
> acpi0 at bios0: rev 2
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP HPET APIC ASF! MCFG TCPA SLIC SSDT
> acpi0: wakeup devices PCI0(S5) PCIE(S4) USB1(S0) USB2(S0) USB3(S0) USB4(S0) USB5(S0) EHC2(S0) EHCI(S0) AZAL(S3) RP01(S3) RP02(S4) RP03(S3) RP04(S3) RP05(S3) RP06(S5) [...]
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpihpet0 at acpi0: 14318179 Hz
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz, 1995.36 MHz
> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF
> cpu0: 2MB 64b/line 8-way L2 cache
> cpu0: smt 0, core 0, package 0
> cpu0: apic clock running at 199MHz
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz, 1995.01 MHz
> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF
> cpu1: 2MB 64b/line 8-way L2 cache
> cpu1: smt 0, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
> ioapic0: misconfigured as apic 0, remapped to apid 2
> acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
> acpiprt0 at acpi0: bus 3 (PCIE)
> acpiprt1 at acpi0: bus -1 (AGP_)
> acpiprt2 at acpi0: bus 11 (RP01)
> acpiprt3 at acpi0: bus 12 (RP02)
> acpiprt4 at acpi0: bus -1 (RP03)
> acpiprt5 at acpi0: bus -1 (RP04)
> acpiprt6 at acpi0: bus -1 (RP05)
> acpiprt7 at acpi0: bus 9 (RP06)
> acpiprt8 at acpi0: bus 0 (PCI0)
> acpicpu0 at acpi0: C3, C2, C1, PSS
> acpicpu1 at acpi0: C3, C2, C1, PSS
> acpitz0 at acpi0: critical temperature is 99 degC
> acpibtn0 at acpi0: LID_
> acpibtn1 at acpi0: PBTN
> acpibtn2 at acpi0: SBTN
> acpiac0 at acpi0: AC unit online
> acpibat0 at acpi0: BAT0 model "DELL KP4331" serial 278 type LION oem "SMP"
> acpibat1 at acpi0: BAT1 not present
> acpidock0 at acpi0: GDCK not docked (0)
> acpivideo0 at acpi0: VID_
> acpivideo1 at acpi0: VID_
> acpivideo2 at acpi0: VID2
> cpu0: Enhanced SpeedStep 1995 MHz: speeds: 2001, 2000, 1600, 1200, 800 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel GM965 Host" rev 0x0c
> vga1 at pci0 dev 2 function 0 "Intel GM965 Video" rev 0x0c
> intagp0 at vga1
> agp0 at intagp0: aperture at 0xe0000000, size 0x10000000
> inteldrm0 at vga1
> drm0 at inteldrm0
> intel_overlay_map_regs partial stub
> inteldrm0: 1440x900
> wsdisplay0 at vga1 mux 1: console (std, vt100 emulation)
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> "Intel GM965 Video" rev 0x0c at pci0 dev 2 function 1 not configured
> uhci0 at pci0 dev 26 function 0 "Intel 82801H USB" rev 0x02: apic 2 int 20
> uhci1 at pci0 dev 26 function 1 "Intel 82801H USB" rev 0x02: apic 2 int 21
> ehci0 at pci0 dev 26 function 7 "Intel 82801H USB" rev 0x02: apic 2 int 22
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> azalia0 at pci0 dev 27 function 0 "Intel 82801H HD Audio" rev 0x02: msi
> azalia0: codecs: Sigmatel STAC9205X
> audio0 at azalia0
> ppb0 at pci0 dev 28 function 0 "Intel 82801H PCIE" rev 0x02: msi
> pci1 at ppb0 bus 11
> ppb1 at pci0 dev 28 function 1 "Intel 82801H PCIE" rev 0x02: msi
> pci2 at ppb1 bus 12
> wpi0 at pci2 dev 0 function 0 "Intel PRO/Wireless 3945ABG" rev 0x02: msi, MoW2, address 00:1f:3c:cc:e5:3c
> ppb2 at pci0 dev 28 function 5 "Intel 82801H PCIE" rev 0x02: msi
> pci3 at ppb2 bus 9
> bge0 at pci3 dev 0 function 0 "Broadcom BCM5755M" rev 0x02, BCM5755 A2 (0xa002): apic 2 int 17, address 00:21:70:d9:e5:ab
> brgphy0 at bge0 phy 1: BCM5755 10/100/1000baseT PHY, rev. 0
> uhci2 at pci0 dev 29 function 0 "Intel 82801H USB" rev 0x02: apic 2 int 20
> uhci3 at pci0 dev 29 function 1 "Intel 82801H USB" rev 0x02: apic 2 int 21
> uhci4 at pci0 dev 29 function 2 "Intel 82801H USB" rev 0x02: apic 2 int 22
> ehci1 at pci0 dev 29 function 7 "Intel 82801H USB" rev 0x02: apic 2 int 20
> usb1 at ehci1: USB revision 2.0
> uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> ppb3 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xf2
> pci4 at ppb3 bus 3
> cbb0 at pci4 dev 1 function 0 "O2 Micro OZ711EZ1 CardBus" rev 0x21: apic 2 int 19
> "O2 Micro Firewire" rev 0x02 at pci4 dev 1 function 4 not configured
> cardslot0 at cbb0 slot 0 flags 0
> cardbus0 at cardslot0: bus 4 device 0 cacheline 0x0, lattimer 0x20
> pcmcia0 at cardslot0
> pcib0 at pci0 dev 31 function 0 "Intel 82801HBM LPC" rev 0x02
> pciide0 at pci0 dev 31 function 1 "Intel 82801HBM IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
> wd0 at pciide0 channel 0 drive 0: <WDC WD3200BEVE-00A0HT0>
> wd0: 16-sector PIO, LBA48, 305245MB, 625142448 sectors
> wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
> pciide0: channel 1 ignored (disabled)
> pciide1 at pci0 dev 31 function 2 "Intel 82801HBM SATA" rev 0x02: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
> pciide1: using apic 2 int 18 for native-PCI interrupt
> wd1 at pciide1 channel 0 drive 0: <HITACHI HTS542516K9SA00>
> wd1: 16-sector PIO, LBA48, 152627MB, 312581808 sectors
> wd1(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 6
> ichiic0 at pci0 dev 31 function 3 "Intel 82801H SMBus" rev 0x02: SMI
> iic0 at ichiic0
> spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-6400CL5 SO-DIMM
> spdmem1 at iic0 addr 0x52: 1GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
> usb2 at uhci0: USB revision 1.0
> uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb3 at uhci1: USB revision 1.0
> uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb4 at uhci2: USB revision 1.0
> uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb5 at uhci3: USB revision 1.0
> uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb6 at uhci4: USB revision 1.0
> uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> isa0 at pcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot)
> pckbc0: using irq 12 for aux slot
> wsmouse0 at pms0 mux 0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> mtrr: Pentium Pro MTRR support
> uhub7 at uhub6 port 1 "O2 Micro OZ776 Hub" rev 1.10/1.10 addr 2
> ugen0 at uhub7 port 2 "O2 O2Micro CCID SC Reader" rev 1.10/1.10 addr 3
> vscsi0 at root
> scsibus0 at vscsi0: 256 targets
> softraid0 at root
> scsibus1 at softraid0: 256 targets
> root on wd1a (1c180c22e222ec49.a) swap on wd1b dump on wd1b

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Christian Weisgerber
Jan Stary <[hidden email]> wrote:

> > 1) running cwm(1) with having
> > 2) ``XTerm*locale:ISO8859-1'' in ~/.Xresources
> > 3) hitting CM-Return starts xterm(1) after differing amounts of retries
> >    (between 1 and 9 up to now).
>
> http://marc.info/?l=openbsd-misc&m=137287894132390&w=2
> This exact problem was reported last week,

Can you guys try to ktrace such a failed execution?

Maybe put something like

bind CM-Return "ktrace -i xterm"

into ~/.cwmrc and retry until it fails?

--
Christian "naddy" Weisgerber                          [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
On Jul 09 14:11:01, [hidden email] wrote:

> Jan Stary <[hidden email]> wrote:
>
> > > 1) running cwm(1) with having
> > > 2) ``XTerm*locale:ISO8859-1'' in ~/.Xresources
> > > 3) hitting CM-Return starts xterm(1) after differing amounts of retries
> > >    (between 1 and 9 up to now).
> >
> > http://marc.info/?l=openbsd-misc&m=137287894132390&w=2
> > This exact problem was reported last week,
>
> Can you guys try to ktrace such a failed execution?
>
> Maybe put something like
>
> bind CM-Return "ktrace -i xterm"
>
> into ~/.cwmrc and retry until it fails?

I did, it failed on the first try,
and the kdump says:

 32003 ktrace   EMUL  "native"
 32003 ktrace   RET   ktrace 0
 32003 ktrace   CALL  execve(0x7f7ffffc7630,0x7f7ffffc7bb8,0x7f7ffffc7bc8)
 32003 ktrace   NAMI  "/home/hans/bin/xterm"
 32003 ktrace   RET   execve -1 errno 2 No such file or directory
 32003 ktrace   CALL  execve(0x7f7ffffc7630,0x7f7ffffc7bb8,0x7f7ffffc7bc8)
 32003 ktrace   NAMI  "/usr/bin/xterm"
 32003 ktrace   RET   execve -1 errno 2 No such file or directory
 32003 ktrace   CALL  execve(0x7f7ffffc7630,0x7f7ffffc7bb8,0x7f7ffffc7bc8)
 32003 ktrace   NAMI  "/bin/xterm"
 32003 ktrace   RET   execve -1 errno 2 No such file or directory
 32003 ktrace   CALL  execve(0x7f7ffffc7630,0x7f7ffffc7bb8,0x7f7ffffc7bc8)
 32003 ktrace   NAMI  "/usr/sbin/xterm"
 32003 ktrace   RET   execve -1 errno 2 No such file or directory
 32003 ktrace   CALL  execve(0x7f7ffffc7630,0x7f7ffffc7bb8,0x7f7ffffc7bc8)
 32003 ktrace   NAMI  "/sbin/xterm"
 32003 ktrace   RET   execve -1 errno 2 No such file or directory
 32003 ktrace   CALL  execve(0x7f7ffffc7630,0x7f7ffffc7bb8,0x7f7ffffc7bc8)
 32003 ktrace   NAMI  "/usr/X11R6/bin/xterm"

So the last thing in the kdump is the sucessfull call
to the (eventually) found 'xterm'. Why is that?

Here is the situation:

 |-+= 27788 hans -ksh (ksh)
 | \-+= 23950 hans /bin/sh /usr/X11R6/bin/startx
 |   \-+- 14054 hans xinit /home/hans/.xinitrc -- /home/hans/.xserverrc :0 -auth /home/hans/.serverauth.23950
 |     |-+= 02769 hans Xorg -nolisten tcp
 |     | \--- 06254 root Xorg: [priv] (Xorg)
 |     \-+= 14366 hans sh /home/hans/.xinitrc
 |       \-+- 24462 hans cwm
 |         \-+= 32003 hans xterm
 |           \--= 22601 hans (luit)

  PID TT  STAT       TIME COMMAND
22601 p1- Z       0:00.00 (luit)

So xterm (32003) started, tried to call luit, which died,
and is now a zombie (22601). Why doesn't the kdump continue
with the (failed) luit child, or at least the attempt to call it?
Yes, I do have the '-i' in the 'ktrace -i' call.

This is also the case when it finally launches OK
with a properly running luit. By the time they are up,
the ktrace.out file is no longer open by anything (says fstat).

        Jan

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Stuart Henderson
On 2013-07-09, Jan Stary <[hidden email]> wrote:
> So the last thing in the kdump is the sucessfull call
> to the (eventually) found 'xterm'. Why is that?

This is probably because of the setgid bit. You could try "sudo ktrace -i xterm"...

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
On Jul 09 19:43:49, [hidden email] wrote:
> On 2013-07-09, Jan Stary <[hidden email]> wrote:
> > So the last thing in the kdump is the sucessfull call
> > to the (eventually) found 'xterm'. Why is that?
>
> This is probably because of the setgid bit.

Is this intended? Should ktrace stop tracing
a child that has setgid set? Should ktrace(1)
mention it?

> You could try "sudo ktrace -i xterm"...

It's long:

http://stare.cz/~hans/.tmp/ktrace.out
http://stare.cz/~hans/.tmp/kdump.txt

 ...
 32270 ktrace   CALL  execve(0x7f7ffffce570,0x7f7ffffceaf0,0x7f7ffffceb00)
 32270 ktrace   NAMI  "/usr/X11R6/bin/xterm"
 32270 xterm    NAMI  "/usr/libexec/ld.so"
 32270 xterm    EMUL  "native"
 ...
 16697 xterm    CALL  execve(0x58483481160,0x5847d746d00,0x58474f4b400)
 16697 xterm    NAMI  "/usr/X11R6/bin/luit"
 16697 luit     NAMI  "/usr/libexec/ld.so"
 16697 luit     EMUL  "native"
 ...
 16697 luit     CALL  exit(0)

So luit seems to just exit normally,
for some reason. Sometimes.

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
On Jul 10 09:22:55, [hidden email] wrote:
> So luit seems to just exit normally,
> for some reason. Sometimes.

Actually, there is two different ways it fails.

(1) xterm launches luit, which exits;
that makes xterm exit too (why?)
and the xterm window disappears.

(2) xterm launches luit, which dies
and becomes a zombie; the xterm window
stays open, with the cursor up left,
waiting for the zombie.

        Jan

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

David Coppa
In reply to this post by Jan Stary
On Tue, Jul 9, 2013 at 8:21 PM, Jan Stary <[hidden email]> wrote:

> So xterm (32003) started, tried to call luit, which died,
> and is now a zombie (22601). Why doesn't the kdump continue
> with the (failed) luit child, or at least the attempt to call it?
> Yes, I do have the '-i' in the 'ktrace -i' call.

Use "ktrace -Bdi"

ciao,
David

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
On Jul 10 09:34:12, [hidden email] wrote:
> On Tue, Jul 9, 2013 at 8:21 PM, Jan Stary <[hidden email]> wrote:
>
> > So xterm (32003) started, tried to call luit, which died,
> > and is now a zombie (22601). Why doesn't the kdump continue
> > with the (failed) luit child, or at least the attempt to call it?
> > Yes, I do have the '-i' in the 'ktrace -i' call.
>
> Use "ktrace -Bdi"

Same problem.

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Philip Guenther-2
In reply to this post by Jan Stary
On Wed, Jul 10, 2013 at 12:22 AM, Jan Stary <[hidden email]> wrote:
> On Jul 09 19:43:49, [hidden email] wrote:
>> On 2013-07-09, Jan Stary <[hidden email]> wrote:
>> > So the last thing in the kdump is the sucessfull call
>> > to the (eventually) found 'xterm'. Why is that?
>>
>> This is probably because of the setgid bit.
>
> Is this intended? Should ktrace stop tracing
> a child that has setgid set?

Yep, that's intended, because continuing to trace would be a security
hole.  The alternative would be to ignore the setgid/setuid bits, like
a ptrace(2)'d process does, but in my experience that's more
frustrating.  I know I've wasted a couple hours of my life trying to
figure out running a complicated set of program under strace on a
Linux system made them change behavior, on to finally realize that a
setuid bit was being ignored 20 execve's into the setup...


> Should ktrace(1) mention it?

Meh.  ktrace(1) says "See Also" ktrace(2), which starts:
     The ktrace() function enables or disables tracing of one or more
     processes.  Users may only trace their own processes.  Only the superuser
     can trace setuid or setgid programs.


>> You could try "sudo ktrace -i xterm"...
>
> It's long:
>
> http://stare.cz/~hans/.tmp/ktrace.out
> http://stare.cz/~hans/.tmp/kdump.txt
...
> So luit seems to just exit normally,
> for some reason. Sometimes.

Looks like a race in luit's startup, due to how it handles the
ttys/ptys.  To work around the problem, invoke it with the -p
option...but I don't know how you can convince xterm to do that.


Philip Guenther

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Philip Guenther-2
On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> Looks like a race in luit's startup, due to how it handles the
> ttys/ptys.  To work around the problem, invoke it with the -p
> option...but I don't know how you can convince xterm to do that.

Ha!  I believe this bug is a result of posix_openpt() being
implemented in 5.3 and the luit configure script picking that instead
of openpty(), as the code for the former results in the client side
being opened (by PTMGET), then closed, then reopened by name, which
leaves a window where the master will read EOF.

Naddy, can you coerce configure into ignoring posix_openpt()?


Philip Guenther

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
On Jul 10 01:30:23, [hidden email] wrote:
> On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> > Looks like a race in luit's startup, due to how it handles the
> > ttys/ptys.  To work around the problem, invoke it with the -p
> > option...but I don't know how you can convince xterm to do that.
>
> Ha!  I believe this bug is a result of posix_openpt() being
> implemented in 5.3

When was this introduced into the snapshots?
I have been seeing this for some time before 5.3

> and the luit configure script picking that instead
> of openpty(), as the code for the former results in the client side
> being opened (by PTMGET), then closed, then reopened by name, which
> leaves a window where the master will read EOF.
>
> Naddy, can you coerce configure into ignoring posix_openpt()?
>
>
> Philip Guenther

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Philip Guenther-2
On Wed, Jul 10, 2013 at 1:37 AM, Jan Stary <[hidden email]> wrote:

> On Jul 10 01:30:23, [hidden email] wrote:
>> On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
>> > Looks like a race in luit's startup, due to how it handles the
>> > ttys/ptys.  To work around the problem, invoke it with the -p
>> > option...but I don't know how you can convince xterm to do that.
>>
>> Ha!  I believe this bug is a result of posix_openpt() being
>> implemented in 5.3
>
> When was this introduced into the snapshots?
> I have been seeing this for some time before 5.3

posix_openpt(3):
     The posix_openpt() function appeared in OpenBSD 5.3.

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Marc Espie-2
On Wed, Jul 10, 2013 at 02:06:44AM -0700, Philip Guenther wrote:

> On Wed, Jul 10, 2013 at 1:37 AM, Jan Stary <[hidden email]> wrote:
> > On Jul 10 01:30:23, [hidden email] wrote:
> >> On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> >> > Looks like a race in luit's startup, due to how it handles the
> >> > ttys/ptys.  To work around the problem, invoke it with the -p
> >> > option...but I don't know how you can convince xterm to do that.
> >>
> >> Ha!  I believe this bug is a result of posix_openpt() being
> >> implemented in 5.3
> >
> > When was this introduced into the snapshots?
> > I have been seeing this for some time before 5.3
>
> posix_openpt(3):
>      The posix_openpt() function appeared in OpenBSD 5.3.

... generally this means this happened some time between 5.2 and 5.3,
so if you were using the snapshots, yeah...

guenther, you could have been more useful :) quoting changelog dates
for instance:

Changes by:     [hidden email] 2012/12/03 13:08:33

Modified files:
        include        : stdlib.h
        lib/libc/stdlib: Makefile.inc
        lib/libc       : shlib_version
Added files:
        lib/libc/stdlib: posix_openpt.3 ptsname.3 posix_pty.c

Log message:
Simple emulation of POSIX pty APIs posix_openpt(), ptsname(),
grantpt() and unlockpt() using /dev/ptm.  Man pages from FreeBSD.
OK kettenis@ deraadt@ beck@ ajacoutot@ naddy@

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
On Jul 10 13:06:48, [hidden email] wrote:

> On Wed, Jul 10, 2013 at 02:06:44AM -0700, Philip Guenther wrote:
> > On Wed, Jul 10, 2013 at 1:37 AM, Jan Stary <[hidden email]> wrote:
> > > On Jul 10 01:30:23, [hidden email] wrote:
> > >> On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> > >> > Looks like a race in luit's startup, due to how it handles the
> > >> > ttys/ptys.  To work around the problem, invoke it with the -p
> > >> > option...but I don't know how you can convince xterm to do that.
> > >>
> > >> Ha!  I believe this bug is a result of posix_openpt() being
> > >> implemented in 5.3
> > >
> > > When was this introduced into the snapshots?
> > > I have been seeing this for some time before 5.3
> >
> > posix_openpt(3):
> >      The posix_openpt() function appeared in OpenBSD 5.3.
>
> ... generally this means this happened some time between 5.2 and 5.3,
> so if you were using the snapshots, yeah...
>
> guenther, you could have been more useful :) quoting changelog dates
> for instance:
>
> Changes by:     [hidden email] 2012/12/03 13:08:33
                                        ^^^^^^^^^^^^^^^^^^^^^^^^

Yeah, that would be vaguely when I started to see this. Thanks.


> Modified files:
>         include        : stdlib.h
>         lib/libc/stdlib: Makefile.inc
>         lib/libc       : shlib_version
> Added files:
>         lib/libc/stdlib: posix_openpt.3 ptsname.3 posix_pty.c
>
> Log message:
> Simple emulation of POSIX pty APIs posix_openpt(), ptsname(),
> grantpt() and unlockpt() using /dev/ptm.  Man pages from FreeBSD.
> OK kettenis@ deraadt@ beck@ ajacoutot@ naddy@

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Matthieu Herrb-5
In reply to this post by Philip Guenther-2
On Wed, Jul 10, 2013 at 01:30:23AM -0700, Philip Guenther wrote:

> On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> > Looks like a race in luit's startup, due to how it handles the
> > ttys/ptys.  To work around the problem, invoke it with the -p
> > option...but I don't know how you can convince xterm to do that.
>
> Ha!  I believe this bug is a result of posix_openpt() being
> implemented in 5.3 and the luit configure script picking that instead
> of openpty(), as the code for the former results in the client side
> being opened (by PTMGET), then closed, then reopened by name, which
> leaves a window where the master will read EOF.
>
> Naddy, can you coerce configure into ignoring posix_openpt()?

Can you check the patch below ?
(sorry it's huge since it regenerates autotools files)

Index: Makefile.in
===================================================================
RCS file: /cvs/xenocara/app/luit/Makefile.in,v
retrieving revision 1.6
diff -u -r1.6 Makefile.in
--- Makefile.in 10 Feb 2013 15:38:36 -0000 1.6
+++ Makefile.in 11 Jul 2013 21:40:11 -0000
@@ -252,6 +252,8 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
Index: aclocal.m4
===================================================================
RCS file: /cvs/xenocara/app/luit/aclocal.m4,v
retrieving revision 1.10
diff -u -r1.10 aclocal.m4
--- aclocal.m4 10 Feb 2013 15:38:36 -0000 1.10
+++ aclocal.m4 11 Jul 2013 21:40:13 -0000
@@ -20,6 +20,7 @@
 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
 #
 # Copyright © 2004 Scott James Remnant <[hidden email]>.
 #
@@ -46,8 +47,12 @@
 # ----------------------------------
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
  AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
 fi
@@ -60,7 +65,6 @@
  AC_MSG_RESULT([no])
  PKG_CONFIG=""
  fi
-
 fi[]dnl
 ])# PKG_PROG_PKG_CONFIG
 
@@ -69,34 +73,32 @@
 # Check to see whether a particular set of modules exists.  Similar
 # to PKG_CHECK_MODULES(), but does not set variables or print errors.
 #
-#
-# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-# this or PKG_CHECK_MODULES is called, or make sure to call
-# PKG_CHECK_EXISTS manually
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
 # --------------------------------------------------------------
 AC_DEFUN([PKG_CHECK_EXISTS],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 if test -n "$PKG_CONFIG" && \
     AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-  m4_ifval([$2], [$2], [:])
+  m4_default([$2], [:])
 m4_ifvaln([$3], [else
   $3])dnl
 fi])
 
-
 # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
 # ---------------------------------------------
 m4_define([_PKG_CONFIG],
-[if test -n "$PKG_CONFIG"; then
-    if test -n "$$1"; then
-        pkg_cv_[]$1="$$1"
-    else
-        PKG_CHECK_EXISTS([$3],
-                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
- [pkg_failed=yes])
-    fi
-else
- pkg_failed=untried
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+      test "x$?" != "x0" && pkg_failed=yes ],
+     [pkg_failed=yes])
+ else
+    pkg_failed=untried
 fi[]dnl
 ])# _PKG_CONFIG
 
@@ -138,16 +140,17 @@
 See the pkg-config man page for more details.])
 
 if test $pkg_failed = yes; then
+   AC_MSG_RESULT([no])
         _PKG_SHORT_ERRORS_SUPPORTED
         if test $_pkg_short_errors_supported = yes; then
-        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
         else
-        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
         fi
  # Put the nasty error message in config.log where it belongs
  echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
 
- ifelse([$4], , [AC_MSG_ERROR(dnl
+ m4_default([$4], [AC_MSG_ERROR(
 [Package requirements ($2) were not met:
 
 $$1_PKG_ERRORS
@@ -155,27 +158,66 @@
 Consider adjusting the PKG_CONFIG_PATH environment variable if you
 installed software in a non-standard prefix.
 
-_PKG_TEXT
-])],
- [AC_MSG_RESULT([no])
-                $4])
+_PKG_TEXT])[]dnl
+        ])
 elif test $pkg_failed = untried; then
- ifelse([$4], , [AC_MSG_FAILURE(dnl
+     AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
 [The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
 
 _PKG_TEXT
 
-To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
- [$4])
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+        ])
 else
  $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
  $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
         AC_MSG_RESULT([yes])
- ifelse([$3], , :, [$3])
+ $3
 fi[]dnl
 ])# PKG_CHECK_MODULES
+
+
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+    [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
+
+
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+    [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
 
 # Copyright (C) 2002-2012 Free Software Foundation, Inc.
 #
Index: configure
===================================================================
RCS file: /cvs/xenocara/app/luit/configure,v
retrieving revision 1.11
diff -u -r1.11 configure
--- configure 10 Feb 2013 15:38:36 -0000 1.11
+++ configure 11 Jul 2013 21:40:20 -0000
@@ -658,6 +658,8 @@
 build_cpu
 build
 INSTALL_CMD
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
 PKG_CONFIG
 CHANGELOG_CMD
 STRICT_CFLAGS
@@ -767,6 +769,8 @@
 CPPFLAGS
 CPP
 PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
 LUIT_CFLAGS
 LUIT_LIBS'
 
@@ -1420,6 +1424,10 @@
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
   PKG_CONFIG  path to pkg-config utility
+  PKG_CONFIG_PATH
+              directories to add to pkg-config's search path
+  PKG_CONFIG_LIBDIR
+              path overriding pkg-config's built-in search path
   LUIT_CFLAGS C compiler flags for LUIT, overriding pkg-config
   LUIT_LIBS   linker flags for LUIT, overriding pkg-config
 
@@ -4393,6 +4401,11 @@
 
 
 
+
+
+
+
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
  if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -4505,7 +4518,6 @@
 $as_echo "no" >&6; }
  PKG_CONFIG=""
  fi
-
 fi
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
@@ -10512,46 +10524,46 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUIT" >&5
 $as_echo_n "checking for LUIT... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LUIT_CFLAGS"; then
-        pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$LUIT_CFLAGS"; then
+    pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
   ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_LUIT_CFLAGS=`$PKG_CONFIG --cflags "fontenc" 2>/dev/null`
+      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
-    fi
-else
- pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LUIT_LIBS"; then
-        pkg_cv_LUIT_LIBS="$LUIT_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$LUIT_LIBS"; then
+    pkg_cv_LUIT_LIBS="$LUIT_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
   ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_LUIT_LIBS=`$PKG_CONFIG --libs "fontenc" 2>/dev/null`
+      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
-    fi
-else
- pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -10559,9 +10571,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fontenc"`
+        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fontenc" 2>&1`
         else
-        LUIT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fontenc"`
+        LUIT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fontenc" 2>&1`
         fi
  # Put the nasty error message in config.log where it belongs
  echo "$LUIT_PKG_ERRORS" >&5
@@ -10575,9 +10587,10 @@
 
 Alternatively, you may set the environment variables LUIT_CFLAGS
 and LUIT_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
@@ -10588,14 +10601,14 @@
 and LUIT_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details.
 
-To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
 See \`config.log' for more details" "$LINENO" 5; }
 else
  LUIT_CFLAGS=$pkg_cv_LUIT_CFLAGS
  LUIT_LIBS=$pkg_cv_LUIT_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
- :
+
 fi
 
 # We don't link against libX11, just use its locale.alias data file
@@ -10642,6 +10655,11 @@
 
         OS_CFLAGS="-D_XOPEN_SOURCE=500"
         ;;
+    openbsd*)
+        # grantpt() support is broken on OpenBSD
+ ac_cv_func_grantpt=no
+ unset HAVE_GRANTPT
+ ;;
     *)
         for ac_header in poll.h
 do :
@@ -10684,7 +10702,7 @@
 
 done
 
-for ac_func in grantpt putenv select strdup
+for ac_func in putenv select strdup
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
Index: configure.ac
===================================================================
RCS file: /cvs/xenocara/app/luit/configure.ac,v
retrieving revision 1.6
diff -u -r1.6 configure.ac
--- configure.ac 10 Feb 2013 15:38:37 -0000 1.6
+++ configure.ac 11 Jul 2013 21:40:21 -0000
@@ -64,6 +64,11 @@
         AC_CHECK_FUNCS([poll])
         OS_CFLAGS="-D_XOPEN_SOURCE=500"
         ;;
+    openbsd*)
+        # grantpt() support is broken on OpenBSD
+ ac_cv_func_grantpt=no
+ unset HAVE_GRANTPT
+ ;;
     *)
         AC_CHECK_HEADERS([poll.h])
         AC_CHECK_FUNCS([poll])
@@ -73,7 +78,7 @@
 AC_SUBST(OS_CFLAGS)
 
 AC_CHECK_HEADERS([pty.h stropts.h sys/ioctl.h sys/param.h sys/poll.h sys/select.h sys/time.h termios.h])
-AC_CHECK_FUNCS([grantpt putenv select strdup])
+AC_CHECK_FUNCS([putenv select strdup])
 
 if test "x$ac_cv_func_grantpt" != "xyes" ; then
         AC_CHECK_LIB(util, openpty, [cf_have_openpty=yes],[cf_have_openpty=no])
Index: man/Makefile.in
===================================================================
RCS file: /cvs/xenocara/app/luit/man/Makefile.in,v
retrieving revision 1.1
diff -u -r1.1 Makefile.in
--- man/Makefile.in 10 Feb 2013 15:38:37 -0000 1.1
+++ man/Makefile.in 11 Jul 2013 21:40:22 -0000
@@ -197,6 +197,8 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@


--
Matthieu Herrb

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Marcus MERIGHI
[hidden email] (Matthieu Herrb), 2013.07.11 (Thu) 23:41 (CEST):

> On Wed, Jul 10, 2013 at 01:30:23AM -0700, Philip Guenther wrote:
> > On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> > > Looks like a race in luit's startup, due to how it handles the
> > > ttys/ptys.  To work around the problem, invoke it with the -p
> > > option...but I don't know how you can convince xterm to do that.
> >
> > Ha!  I believe this bug is a result of posix_openpt() being
> > implemented in 5.3 and the luit configure script picking that instead
> > of openpty(), as the code for the former results in the client side
> > being opened (by PTMGET), then closed, then reopened by name, which
> > leaves a window where the master will read EOF.
> >
> > Naddy, can you coerce configure into ignoring posix_openpt()?
>
> Can you check the patch below ?
> (sorry it's huge since it regenerates autotools files)

I hate being a spoilsport, but... it does not change the random defunc.

What I did:
1) cd /usr/xenocara/app/luit
2) patch < ~/luit.patch
(no errors)
3) ./configure; make; make install
(no errors)
4) ~/.Xresources: enable ``XTerm*locale:ISO8859-1''
5) xrdb -merge ~/.Xresources
6) hit CM-Return
7) get a new xterm or not

Bye, Marcus

> Index: Makefile.in
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/Makefile.in,v
> retrieving revision 1.6
> diff -u -r1.6 Makefile.in
> --- Makefile.in 10 Feb 2013 15:38:36 -0000 1.6
> +++ Makefile.in 11 Jul 2013 21:40:11 -0000
> @@ -252,6 +252,8 @@
>  PACKAGE_VERSION = @PACKAGE_VERSION@
>  PATH_SEPARATOR = @PATH_SEPARATOR@
>  PKG_CONFIG = @PKG_CONFIG@
> +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
> +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
>  SED = @SED@
>  SET_MAKE = @SET_MAKE@
>  SHELL = @SHELL@
> Index: aclocal.m4
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/aclocal.m4,v
> retrieving revision 1.10
> diff -u -r1.10 aclocal.m4
> --- aclocal.m4 10 Feb 2013 15:38:36 -0000 1.10
> +++ aclocal.m4 11 Jul 2013 21:40:13 -0000
> @@ -20,6 +20,7 @@
>  To do so, use the procedure documented by the package, typically 'autoreconf'.])])
>  
>  # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
> +# serial 1 (pkg-config-0.24)
>  #
>  # Copyright © 2004 Scott James Remnant <[hidden email]>.
>  #
> @@ -46,8 +47,12 @@
>  # ----------------------------------
>  AC_DEFUN([PKG_PROG_PKG_CONFIG],
>  [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
> -m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
> -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
> +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
> +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
> +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
> +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
> +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
> +
>  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
>   AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
>  fi
> @@ -60,7 +65,6 @@
>   AC_MSG_RESULT([no])
>   PKG_CONFIG=""
>   fi
> -
>  fi[]dnl
>  ])# PKG_PROG_PKG_CONFIG
>  
> @@ -69,34 +73,32 @@
>  # Check to see whether a particular set of modules exists.  Similar
>  # to PKG_CHECK_MODULES(), but does not set variables or print errors.
>  #
> -#
> -# Similar to PKG_CHECK_MODULES, make sure that the first instance of
> -# this or PKG_CHECK_MODULES is called, or make sure to call
> -# PKG_CHECK_EXISTS manually
> +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
> +# only at the first occurence in configure.ac, so if the first place
> +# it's called might be skipped (such as if it is within an "if", you
> +# have to call PKG_CHECK_EXISTS manually
>  # --------------------------------------------------------------
>  AC_DEFUN([PKG_CHECK_EXISTS],
>  [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
>  if test -n "$PKG_CONFIG" && \
>      AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
> -  m4_ifval([$2], [$2], [:])
> +  m4_default([$2], [:])
>  m4_ifvaln([$3], [else
>    $3])dnl
>  fi])
>  
> -
>  # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
>  # ---------------------------------------------
>  m4_define([_PKG_CONFIG],
> -[if test -n "$PKG_CONFIG"; then
> -    if test -n "$$1"; then
> -        pkg_cv_[]$1="$$1"
> -    else
> -        PKG_CHECK_EXISTS([$3],
> -                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
> - [pkg_failed=yes])
> -    fi
> -else
> - pkg_failed=untried
> +[if test -n "$$1"; then
> +    pkg_cv_[]$1="$$1"
> + elif test -n "$PKG_CONFIG"; then
> +    PKG_CHECK_EXISTS([$3],
> +                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
> +      test "x$?" != "x0" && pkg_failed=yes ],
> +     [pkg_failed=yes])
> + else
> +    pkg_failed=untried
>  fi[]dnl
>  ])# _PKG_CONFIG
>  
> @@ -138,16 +140,17 @@
>  See the pkg-config man page for more details.])
>  
>  if test $pkg_failed = yes; then
> +   AC_MSG_RESULT([no])
>          _PKG_SHORT_ERRORS_SUPPORTED
>          if test $_pkg_short_errors_supported = yes; then
> -        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
> +        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
>          else
> -        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
> +        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
>          fi
>   # Put the nasty error message in config.log where it belongs
>   echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
>  
> - ifelse([$4], , [AC_MSG_ERROR(dnl
> + m4_default([$4], [AC_MSG_ERROR(
>  [Package requirements ($2) were not met:
>  
>  $$1_PKG_ERRORS
> @@ -155,27 +158,66 @@
>  Consider adjusting the PKG_CONFIG_PATH environment variable if you
>  installed software in a non-standard prefix.
>  
> -_PKG_TEXT
> -])],
> - [AC_MSG_RESULT([no])
> -                $4])
> +_PKG_TEXT])[]dnl
> +        ])
>  elif test $pkg_failed = untried; then
> - ifelse([$4], , [AC_MSG_FAILURE(dnl
> +     AC_MSG_RESULT([no])
> + m4_default([$4], [AC_MSG_FAILURE(
>  [The pkg-config script could not be found or is too old.  Make sure it
>  is in your PATH or set the PKG_CONFIG environment variable to the full
>  path to pkg-config.
>  
>  _PKG_TEXT
>  
> -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
> - [$4])
> +To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
> +        ])
>  else
>   $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
>   $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
>          AC_MSG_RESULT([yes])
> - ifelse([$3], , :, [$3])
> + $3
>  fi[]dnl
>  ])# PKG_CHECK_MODULES
> +
> +
> +# PKG_INSTALLDIR(DIRECTORY)
> +# -------------------------
> +# Substitutes the variable pkgconfigdir as the location where a module
> +# should install pkg-config .pc files. By default the directory is
> +# $libdir/pkgconfig, but the default can be changed by passing
> +# DIRECTORY. The user can override through the --with-pkgconfigdir
> +# parameter.
> +AC_DEFUN([PKG_INSTALLDIR],
> +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
> +m4_pushdef([pkg_description],
> +    [pkg-config installation directory @<:@]pkg_default[@:>@])
> +AC_ARG_WITH([pkgconfigdir],
> +    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
> +    [with_pkgconfigdir=]pkg_default)
> +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
> +m4_popdef([pkg_default])
> +m4_popdef([pkg_description])
> +]) dnl PKG_INSTALLDIR
> +
> +
> +# PKG_NOARCH_INSTALLDIR(DIRECTORY)
> +# -------------------------
> +# Substitutes the variable noarch_pkgconfigdir as the location where a
> +# module should install arch-independent pkg-config .pc files. By
> +# default the directory is $datadir/pkgconfig, but the default can be
> +# changed by passing DIRECTORY. The user can override through the
> +# --with-noarch-pkgconfigdir parameter.
> +AC_DEFUN([PKG_NOARCH_INSTALLDIR],
> +[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
> +m4_pushdef([pkg_description],
> +    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
> +AC_ARG_WITH([noarch-pkgconfigdir],
> +    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
> +    [with_noarch_pkgconfigdir=]pkg_default)
> +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
> +m4_popdef([pkg_default])
> +m4_popdef([pkg_description])
> +]) dnl PKG_NOARCH_INSTALLDIR
>  
>  # Copyright (C) 2002-2012 Free Software Foundation, Inc.
>  #
> Index: configure
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/configure,v
> retrieving revision 1.11
> diff -u -r1.11 configure
> --- configure 10 Feb 2013 15:38:36 -0000 1.11
> +++ configure 11 Jul 2013 21:40:20 -0000
> @@ -658,6 +658,8 @@
>  build_cpu
>  build
>  INSTALL_CMD
> +PKG_CONFIG_LIBDIR
> +PKG_CONFIG_PATH
>  PKG_CONFIG
>  CHANGELOG_CMD
>  STRICT_CFLAGS
> @@ -767,6 +769,8 @@
>  CPPFLAGS
>  CPP
>  PKG_CONFIG
> +PKG_CONFIG_PATH
> +PKG_CONFIG_LIBDIR
>  LUIT_CFLAGS
>  LUIT_LIBS'
>  
> @@ -1420,6 +1424,10 @@
>                you have headers in a nonstandard directory <include dir>
>    CPP         C preprocessor
>    PKG_CONFIG  path to pkg-config utility
> +  PKG_CONFIG_PATH
> +              directories to add to pkg-config's search path
> +  PKG_CONFIG_LIBDIR
> +              path overriding pkg-config's built-in search path
>    LUIT_CFLAGS C compiler flags for LUIT, overriding pkg-config
>    LUIT_LIBS   linker flags for LUIT, overriding pkg-config
>  
> @@ -4393,6 +4401,11 @@
>  
>  
>  
> +
> +
> +
> +
> +
>  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
>   if test -n "$ac_tool_prefix"; then
>    # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
> @@ -4505,7 +4518,6 @@
>  $as_echo "no" >&6; }
>   PKG_CONFIG=""
>   fi
> -
>  fi
>  # Make sure we can run config.sub.
>  $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
> @@ -10512,46 +10524,46 @@
>  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUIT" >&5
>  $as_echo_n "checking for LUIT... " >&6; }
>  
> -if test -n "$PKG_CONFIG"; then
> -    if test -n "$LUIT_CFLAGS"; then
> -        pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
> -    else
> -        if test -n "$PKG_CONFIG" && \
> +if test -n "$LUIT_CFLAGS"; then
> +    pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
> + elif test -n "$PKG_CONFIG"; then
> +    if test -n "$PKG_CONFIG" && \
>      { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
>    ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
>    ac_status=$?
>    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
>    test $ac_status = 0; }; then
>    pkg_cv_LUIT_CFLAGS=`$PKG_CONFIG --cflags "fontenc" 2>/dev/null`
> +      test "x$?" != "x0" && pkg_failed=yes
>  else
>    pkg_failed=yes
>  fi
> -    fi
> -else
> - pkg_failed=untried
> + else
> +    pkg_failed=untried
>  fi
> -if test -n "$PKG_CONFIG"; then
> -    if test -n "$LUIT_LIBS"; then
> -        pkg_cv_LUIT_LIBS="$LUIT_LIBS"
> -    else
> -        if test -n "$PKG_CONFIG" && \
> +if test -n "$LUIT_LIBS"; then
> +    pkg_cv_LUIT_LIBS="$LUIT_LIBS"
> + elif test -n "$PKG_CONFIG"; then
> +    if test -n "$PKG_CONFIG" && \
>      { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
>    ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
>    ac_status=$?
>    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
>    test $ac_status = 0; }; then
>    pkg_cv_LUIT_LIBS=`$PKG_CONFIG --libs "fontenc" 2>/dev/null`
> +      test "x$?" != "x0" && pkg_failed=yes
>  else
>    pkg_failed=yes
>  fi
> -    fi
> -else
> - pkg_failed=untried
> + else
> +    pkg_failed=untried
>  fi
>  
>  
>  
>  if test $pkg_failed = yes; then
> +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
>  
>  if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
>          _pkg_short_errors_supported=yes
> @@ -10559,9 +10571,9 @@
>          _pkg_short_errors_supported=no
>  fi
>          if test $_pkg_short_errors_supported = yes; then
> -        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fontenc"`
> +        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fontenc" 2>&1`
>          else
> -        LUIT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fontenc"`
> +        LUIT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fontenc" 2>&1`
>          fi
>   # Put the nasty error message in config.log where it belongs
>   echo "$LUIT_PKG_ERRORS" >&5
> @@ -10575,9 +10587,10 @@
>  
>  Alternatively, you may set the environment variables LUIT_CFLAGS
>  and LUIT_LIBS to avoid the need to call pkg-config.
> -See the pkg-config man page for more details.
> -" "$LINENO" 5
> +See the pkg-config man page for more details." "$LINENO" 5
>  elif test $pkg_failed = untried; then
> +     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
>   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
>  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
>  as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
> @@ -10588,14 +10601,14 @@
>  and LUIT_LIBS to avoid the need to call pkg-config.
>  See the pkg-config man page for more details.
>  
> -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
> +To get pkg-config, see <http://pkg-config.freedesktop.org/>.
>  See \`config.log' for more details" "$LINENO" 5; }
>  else
>   LUIT_CFLAGS=$pkg_cv_LUIT_CFLAGS
>   LUIT_LIBS=$pkg_cv_LUIT_LIBS
>          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
>  $as_echo "yes" >&6; }
> - :
> +
>  fi
>  
>  # We don't link against libX11, just use its locale.alias data file
> @@ -10642,6 +10655,11 @@
>  
>          OS_CFLAGS="-D_XOPEN_SOURCE=500"
>          ;;
> +    openbsd*)
> +        # grantpt() support is broken on OpenBSD
> + ac_cv_func_grantpt=no
> + unset HAVE_GRANTPT
> + ;;
>      *)
>          for ac_header in poll.h
>  do :
> @@ -10684,7 +10702,7 @@
>  
>  done
>  
> -for ac_func in grantpt putenv select strdup
> +for ac_func in putenv select strdup
>  do :
>    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
>  ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
> Index: configure.ac
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/configure.ac,v
> retrieving revision 1.6
> diff -u -r1.6 configure.ac
> --- configure.ac 10 Feb 2013 15:38:37 -0000 1.6
> +++ configure.ac 11 Jul 2013 21:40:21 -0000
> @@ -64,6 +64,11 @@
>          AC_CHECK_FUNCS([poll])
>          OS_CFLAGS="-D_XOPEN_SOURCE=500"
>          ;;
> +    openbsd*)
> +        # grantpt() support is broken on OpenBSD
> + ac_cv_func_grantpt=no
> + unset HAVE_GRANTPT
> + ;;
>      *)
>          AC_CHECK_HEADERS([poll.h])
>          AC_CHECK_FUNCS([poll])
> @@ -73,7 +78,7 @@
>  AC_SUBST(OS_CFLAGS)
>  
>  AC_CHECK_HEADERS([pty.h stropts.h sys/ioctl.h sys/param.h sys/poll.h sys/select.h sys/time.h termios.h])
> -AC_CHECK_FUNCS([grantpt putenv select strdup])
> +AC_CHECK_FUNCS([putenv select strdup])
>  
>  if test "x$ac_cv_func_grantpt" != "xyes" ; then
>          AC_CHECK_LIB(util, openpty, [cf_have_openpty=yes],[cf_have_openpty=no])
> Index: man/Makefile.in
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/man/Makefile.in,v
> retrieving revision 1.1
> diff -u -r1.1 Makefile.in
> --- man/Makefile.in 10 Feb 2013 15:38:37 -0000 1.1
> +++ man/Makefile.in 11 Jul 2013 21:40:22 -0000
> @@ -197,6 +197,8 @@
>  PACKAGE_VERSION = @PACKAGE_VERSION@
>  PATH_SEPARATOR = @PATH_SEPARATOR@
>  PKG_CONFIG = @PKG_CONFIG@
> +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
> +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
>  SED = @SED@
>  SET_MAKE = @SET_MAKE@
>  SHELL = @SHELL@
>
>
> --
> Matthieu Herrb
>
>
> !DSPAM:51df270a234781275080295!

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
In reply to this post by Matthieu Herrb-5
On Jul 11 23:41:56, [hidden email] wrote:

> On Wed, Jul 10, 2013 at 01:30:23AM -0700, Philip Guenther wrote:
> > On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> > > Looks like a race in luit's startup, due to how it handles the
> > > ttys/ptys.  To work around the problem, invoke it with the -p
> > > option...but I don't know how you can convince xterm to do that.
> >
> > Ha!  I believe this bug is a result of posix_openpt() being
> > implemented in 5.3 and the luit configure script picking that instead
> > of openpty(), as the code for the former results in the client side
> > being opened (by PTMGET), then closed, then reopened by name, which
> > leaves a window where the master will read EOF.
> >
> > Naddy, can you coerce configure into ignoring posix_openpt()?
>
> Can you check the patch below ?
> (sorry it's huge since it regenerates autotools files)

On my current/i386 with this patch,
it happens less often but it still happens.

> Index: Makefile.in
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/Makefile.in,v
> retrieving revision 1.6
> diff -u -r1.6 Makefile.in
> --- Makefile.in 10 Feb 2013 15:38:36 -0000 1.6
> +++ Makefile.in 11 Jul 2013 21:40:11 -0000
> @@ -252,6 +252,8 @@
>  PACKAGE_VERSION = @PACKAGE_VERSION@
>  PATH_SEPARATOR = @PATH_SEPARATOR@
>  PKG_CONFIG = @PKG_CONFIG@
> +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
> +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
>  SED = @SED@
>  SET_MAKE = @SET_MAKE@
>  SHELL = @SHELL@
> Index: aclocal.m4
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/aclocal.m4,v
> retrieving revision 1.10
> diff -u -r1.10 aclocal.m4
> --- aclocal.m4 10 Feb 2013 15:38:36 -0000 1.10
> +++ aclocal.m4 11 Jul 2013 21:40:13 -0000
> @@ -20,6 +20,7 @@
>  To do so, use the procedure documented by the package, typically 'autoreconf'.])])
>  
>  # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
> +# serial 1 (pkg-config-0.24)
>  #
>  # Copyright ? 2004 Scott James Remnant <[hidden email]>.
>  #
> @@ -46,8 +47,12 @@
>  # ----------------------------------
>  AC_DEFUN([PKG_PROG_PKG_CONFIG],
>  [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
> -m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
> -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
> +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
> +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
> +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
> +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
> +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
> +
>  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
>   AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
>  fi
> @@ -60,7 +65,6 @@
>   AC_MSG_RESULT([no])
>   PKG_CONFIG=""
>   fi
> -
>  fi[]dnl
>  ])# PKG_PROG_PKG_CONFIG
>  
> @@ -69,34 +73,32 @@
>  # Check to see whether a particular set of modules exists.  Similar
>  # to PKG_CHECK_MODULES(), but does not set variables or print errors.
>  #
> -#
> -# Similar to PKG_CHECK_MODULES, make sure that the first instance of
> -# this or PKG_CHECK_MODULES is called, or make sure to call
> -# PKG_CHECK_EXISTS manually
> +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
> +# only at the first occurence in configure.ac, so if the first place
> +# it's called might be skipped (such as if it is within an "if", you
> +# have to call PKG_CHECK_EXISTS manually
>  # --------------------------------------------------------------
>  AC_DEFUN([PKG_CHECK_EXISTS],
>  [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
>  if test -n "$PKG_CONFIG" && \
>      AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
> -  m4_ifval([$2], [$2], [:])
> +  m4_default([$2], [:])
>  m4_ifvaln([$3], [else
>    $3])dnl
>  fi])
>  
> -
>  # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
>  # ---------------------------------------------
>  m4_define([_PKG_CONFIG],
> -[if test -n "$PKG_CONFIG"; then
> -    if test -n "$$1"; then
> -        pkg_cv_[]$1="$$1"
> -    else
> -        PKG_CHECK_EXISTS([$3],
> -                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
> - [pkg_failed=yes])
> -    fi
> -else
> - pkg_failed=untried
> +[if test -n "$$1"; then
> +    pkg_cv_[]$1="$$1"
> + elif test -n "$PKG_CONFIG"; then
> +    PKG_CHECK_EXISTS([$3],
> +                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
> +      test "x$?" != "x0" && pkg_failed=yes ],
> +     [pkg_failed=yes])
> + else
> +    pkg_failed=untried
>  fi[]dnl
>  ])# _PKG_CONFIG
>  
> @@ -138,16 +140,17 @@
>  See the pkg-config man page for more details.])
>  
>  if test $pkg_failed = yes; then
> +   AC_MSG_RESULT([no])
>          _PKG_SHORT_ERRORS_SUPPORTED
>          if test $_pkg_short_errors_supported = yes; then
> -        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
> +        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
>          else
> -        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
> +        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
>          fi
>   # Put the nasty error message in config.log where it belongs
>   echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
>  
> - ifelse([$4], , [AC_MSG_ERROR(dnl
> + m4_default([$4], [AC_MSG_ERROR(
>  [Package requirements ($2) were not met:
>  
>  $$1_PKG_ERRORS
> @@ -155,27 +158,66 @@
>  Consider adjusting the PKG_CONFIG_PATH environment variable if you
>  installed software in a non-standard prefix.
>  
> -_PKG_TEXT
> -])],
> - [AC_MSG_RESULT([no])
> -                $4])
> +_PKG_TEXT])[]dnl
> +        ])
>  elif test $pkg_failed = untried; then
> - ifelse([$4], , [AC_MSG_FAILURE(dnl
> +     AC_MSG_RESULT([no])
> + m4_default([$4], [AC_MSG_FAILURE(
>  [The pkg-config script could not be found or is too old.  Make sure it
>  is in your PATH or set the PKG_CONFIG environment variable to the full
>  path to pkg-config.
>  
>  _PKG_TEXT
>  
> -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
> - [$4])
> +To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
> +        ])
>  else
>   $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
>   $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
>          AC_MSG_RESULT([yes])
> - ifelse([$3], , :, [$3])
> + $3
>  fi[]dnl
>  ])# PKG_CHECK_MODULES
> +
> +
> +# PKG_INSTALLDIR(DIRECTORY)
> +# -------------------------
> +# Substitutes the variable pkgconfigdir as the location where a module
> +# should install pkg-config .pc files. By default the directory is
> +# $libdir/pkgconfig, but the default can be changed by passing
> +# DIRECTORY. The user can override through the --with-pkgconfigdir
> +# parameter.
> +AC_DEFUN([PKG_INSTALLDIR],
> +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
> +m4_pushdef([pkg_description],
> +    [pkg-config installation directory @<:@]pkg_default[@:>@])
> +AC_ARG_WITH([pkgconfigdir],
> +    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
> +    [with_pkgconfigdir=]pkg_default)
> +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
> +m4_popdef([pkg_default])
> +m4_popdef([pkg_description])
> +]) dnl PKG_INSTALLDIR
> +
> +
> +# PKG_NOARCH_INSTALLDIR(DIRECTORY)
> +# -------------------------
> +# Substitutes the variable noarch_pkgconfigdir as the location where a
> +# module should install arch-independent pkg-config .pc files. By
> +# default the directory is $datadir/pkgconfig, but the default can be
> +# changed by passing DIRECTORY. The user can override through the
> +# --with-noarch-pkgconfigdir parameter.
> +AC_DEFUN([PKG_NOARCH_INSTALLDIR],
> +[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
> +m4_pushdef([pkg_description],
> +    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
> +AC_ARG_WITH([noarch-pkgconfigdir],
> +    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
> +    [with_noarch_pkgconfigdir=]pkg_default)
> +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
> +m4_popdef([pkg_default])
> +m4_popdef([pkg_description])
> +]) dnl PKG_NOARCH_INSTALLDIR
>  
>  # Copyright (C) 2002-2012 Free Software Foundation, Inc.
>  #
> Index: configure
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/configure,v
> retrieving revision 1.11
> diff -u -r1.11 configure
> --- configure 10 Feb 2013 15:38:36 -0000 1.11
> +++ configure 11 Jul 2013 21:40:20 -0000
> @@ -658,6 +658,8 @@
>  build_cpu
>  build
>  INSTALL_CMD
> +PKG_CONFIG_LIBDIR
> +PKG_CONFIG_PATH
>  PKG_CONFIG
>  CHANGELOG_CMD
>  STRICT_CFLAGS
> @@ -767,6 +769,8 @@
>  CPPFLAGS
>  CPP
>  PKG_CONFIG
> +PKG_CONFIG_PATH
> +PKG_CONFIG_LIBDIR
>  LUIT_CFLAGS
>  LUIT_LIBS'
>  
> @@ -1420,6 +1424,10 @@
>                you have headers in a nonstandard directory <include dir>
>    CPP         C preprocessor
>    PKG_CONFIG  path to pkg-config utility
> +  PKG_CONFIG_PATH
> +              directories to add to pkg-config's search path
> +  PKG_CONFIG_LIBDIR
> +              path overriding pkg-config's built-in search path
>    LUIT_CFLAGS C compiler flags for LUIT, overriding pkg-config
>    LUIT_LIBS   linker flags for LUIT, overriding pkg-config
>  
> @@ -4393,6 +4401,11 @@
>  
>  
>  
> +
> +
> +
> +
> +
>  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
>   if test -n "$ac_tool_prefix"; then
>    # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
> @@ -4505,7 +4518,6 @@
>  $as_echo "no" >&6; }
>   PKG_CONFIG=""
>   fi
> -
>  fi
>  # Make sure we can run config.sub.
>  $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
> @@ -10512,46 +10524,46 @@
>  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUIT" >&5
>  $as_echo_n "checking for LUIT... " >&6; }
>  
> -if test -n "$PKG_CONFIG"; then
> -    if test -n "$LUIT_CFLAGS"; then
> -        pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
> -    else
> -        if test -n "$PKG_CONFIG" && \
> +if test -n "$LUIT_CFLAGS"; then
> +    pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
> + elif test -n "$PKG_CONFIG"; then
> +    if test -n "$PKG_CONFIG" && \
>      { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
>    ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
>    ac_status=$?
>    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
>    test $ac_status = 0; }; then
>    pkg_cv_LUIT_CFLAGS=`$PKG_CONFIG --cflags "fontenc" 2>/dev/null`
> +      test "x$?" != "x0" && pkg_failed=yes
>  else
>    pkg_failed=yes
>  fi
> -    fi
> -else
> - pkg_failed=untried
> + else
> +    pkg_failed=untried
>  fi
> -if test -n "$PKG_CONFIG"; then
> -    if test -n "$LUIT_LIBS"; then
> -        pkg_cv_LUIT_LIBS="$LUIT_LIBS"
> -    else
> -        if test -n "$PKG_CONFIG" && \
> +if test -n "$LUIT_LIBS"; then
> +    pkg_cv_LUIT_LIBS="$LUIT_LIBS"
> + elif test -n "$PKG_CONFIG"; then
> +    if test -n "$PKG_CONFIG" && \
>      { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
>    ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
>    ac_status=$?
>    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
>    test $ac_status = 0; }; then
>    pkg_cv_LUIT_LIBS=`$PKG_CONFIG --libs "fontenc" 2>/dev/null`
> +      test "x$?" != "x0" && pkg_failed=yes
>  else
>    pkg_failed=yes
>  fi
> -    fi
> -else
> - pkg_failed=untried
> + else
> +    pkg_failed=untried
>  fi
>  
>  
>  
>  if test $pkg_failed = yes; then
> +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
>  
>  if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
>          _pkg_short_errors_supported=yes
> @@ -10559,9 +10571,9 @@
>          _pkg_short_errors_supported=no
>  fi
>          if test $_pkg_short_errors_supported = yes; then
> -        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fontenc"`
> +        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fontenc" 2>&1`
>          else
> -        LUIT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fontenc"`
> +        LUIT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fontenc" 2>&1`
>          fi
>   # Put the nasty error message in config.log where it belongs
>   echo "$LUIT_PKG_ERRORS" >&5
> @@ -10575,9 +10587,10 @@
>  
>  Alternatively, you may set the environment variables LUIT_CFLAGS
>  and LUIT_LIBS to avoid the need to call pkg-config.
> -See the pkg-config man page for more details.
> -" "$LINENO" 5
> +See the pkg-config man page for more details." "$LINENO" 5
>  elif test $pkg_failed = untried; then
> +     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
>   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
>  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
>  as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
> @@ -10588,14 +10601,14 @@
>  and LUIT_LIBS to avoid the need to call pkg-config.
>  See the pkg-config man page for more details.
>  
> -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
> +To get pkg-config, see <http://pkg-config.freedesktop.org/>.
>  See \`config.log' for more details" "$LINENO" 5; }
>  else
>   LUIT_CFLAGS=$pkg_cv_LUIT_CFLAGS
>   LUIT_LIBS=$pkg_cv_LUIT_LIBS
>          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
>  $as_echo "yes" >&6; }
> - :
> +
>  fi
>  
>  # We don't link against libX11, just use its locale.alias data file
> @@ -10642,6 +10655,11 @@
>  
>          OS_CFLAGS="-D_XOPEN_SOURCE=500"
>          ;;
> +    openbsd*)
> +        # grantpt() support is broken on OpenBSD
> + ac_cv_func_grantpt=no
> + unset HAVE_GRANTPT
> + ;;
>      *)
>          for ac_header in poll.h
>  do :
> @@ -10684,7 +10702,7 @@
>  
>  done
>  
> -for ac_func in grantpt putenv select strdup
> +for ac_func in putenv select strdup
>  do :
>    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
>  ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
> Index: configure.ac
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/configure.ac,v
> retrieving revision 1.6
> diff -u -r1.6 configure.ac
> --- configure.ac 10 Feb 2013 15:38:37 -0000 1.6
> +++ configure.ac 11 Jul 2013 21:40:21 -0000
> @@ -64,6 +64,11 @@
>          AC_CHECK_FUNCS([poll])
>          OS_CFLAGS="-D_XOPEN_SOURCE=500"
>          ;;
> +    openbsd*)
> +        # grantpt() support is broken on OpenBSD
> + ac_cv_func_grantpt=no
> + unset HAVE_GRANTPT
> + ;;
>      *)
>          AC_CHECK_HEADERS([poll.h])
>          AC_CHECK_FUNCS([poll])
> @@ -73,7 +78,7 @@
>  AC_SUBST(OS_CFLAGS)
>  
>  AC_CHECK_HEADERS([pty.h stropts.h sys/ioctl.h sys/param.h sys/poll.h sys/select.h sys/time.h termios.h])
> -AC_CHECK_FUNCS([grantpt putenv select strdup])
> +AC_CHECK_FUNCS([putenv select strdup])
>  
>  if test "x$ac_cv_func_grantpt" != "xyes" ; then
>          AC_CHECK_LIB(util, openpty, [cf_have_openpty=yes],[cf_have_openpty=no])
> Index: man/Makefile.in
> ===================================================================
> RCS file: /cvs/xenocara/app/luit/man/Makefile.in,v
> retrieving revision 1.1
> diff -u -r1.1 Makefile.in
> --- man/Makefile.in 10 Feb 2013 15:38:37 -0000 1.1
> +++ man/Makefile.in 11 Jul 2013 21:40:22 -0000
> @@ -197,6 +197,8 @@
>  PACKAGE_VERSION = @PACKAGE_VERSION@
>  PATH_SEPARATOR = @PATH_SEPARATOR@
>  PKG_CONFIG = @PKG_CONFIG@
> +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
> +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
>  SED = @SED@
>  SET_MAKE = @SET_MAKE@
>  SHELL = @SHELL@
>
>
> --
> Matthieu Herrb

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Matthieu Herrb-5
In reply to this post by Marcus MERIGHI
On Fri, Jul 12, 2013 at 09:38:07AM +0200, MERIGHI Marcus wrote:

> [hidden email] (Matthieu Herrb), 2013.07.11 (Thu) 23:41 (CEST):
> > On Wed, Jul 10, 2013 at 01:30:23AM -0700, Philip Guenther wrote:
> > > On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> > > > Looks like a race in luit's startup, due to how it handles the
> > > > ttys/ptys.  To work around the problem, invoke it with the -p
> > > > option...but I don't know how you can convince xterm to do that.
> > >
> > > Ha!  I believe this bug is a result of posix_openpt() being
> > > implemented in 5.3 and the luit configure script picking that instead
> > > of openpty(), as the code for the former results in the client side
> > > being opened (by PTMGET), then closed, then reopened by name, which
> > > leaves a window where the master will read EOF.
> > >
> > > Naddy, can you coerce configure into ignoring posix_openpt()?
> >
> > Can you check the patch below ?
> > (sorry it's huge since it regenerates autotools files)
>
> I hate being a spoilsport, but... it does not change the random defunc.
>
> What I did:
> 1) cd /usr/xenocara/app/luit
> 2) patch < ~/luit.patch
> (no errors)
> 3) ./configure; make; make install

That should be :

rm /usr/xobj/xorg-config.cache.*
make -f Makefile.bsd-wrapper obj
make -f Makefile.bsd-wrapper build

instead.

And check with nm -u /usr/X11R6/bin/luit | grep openpty  that
openpty() is referenced (and not posix_openpt()).

I can't reproduce the issue with that patch and the resulting luit
binary (yes I was able to reproduce it before)

> (no errors)
> 4) ~/.Xresources: enable ``XTerm*locale:ISO8859-1''
> 5) xrdb -merge ~/.Xresources
> 6) hit CM-Return
> 7) get a new xterm or not
>
> Bye, Marcus
>
> > Index: Makefile.in
> > ===================================================================
> > RCS file: /cvs/xenocara/app/luit/Makefile.in,v
> > retrieving revision 1.6
> > diff -u -r1.6 Makefile.in
> > --- Makefile.in 10 Feb 2013 15:38:36 -0000 1.6
> > +++ Makefile.in 11 Jul 2013 21:40:11 -0000
> > @@ -252,6 +252,8 @@
> >  PACKAGE_VERSION = @PACKAGE_VERSION@
> >  PATH_SEPARATOR = @PATH_SEPARATOR@
> >  PKG_CONFIG = @PKG_CONFIG@
> > +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
> > +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
> >  SED = @SED@
> >  SET_MAKE = @SET_MAKE@
> >  SHELL = @SHELL@
> > Index: aclocal.m4
> > ===================================================================
> > RCS file: /cvs/xenocara/app/luit/aclocal.m4,v
> > retrieving revision 1.10
> > diff -u -r1.10 aclocal.m4
> > --- aclocal.m4 10 Feb 2013 15:38:36 -0000 1.10
> > +++ aclocal.m4 11 Jul 2013 21:40:13 -0000
> > @@ -20,6 +20,7 @@
> >  To do so, use the procedure documented by the package, typically 'autoreconf'.])])
> >  
> >  # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
> > +# serial 1 (pkg-config-0.24)
> >  #
> >  # Copyright © 2004 Scott James Remnant <[hidden email]>.
> >  #
> > @@ -46,8 +47,12 @@
> >  # ----------------------------------
> >  AC_DEFUN([PKG_PROG_PKG_CONFIG],
> >  [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
> > -m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
> > -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
> > +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
> > +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
> > +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
> > +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
> > +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
> > +
> >  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
> >   AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
> >  fi
> > @@ -60,7 +65,6 @@
> >   AC_MSG_RESULT([no])
> >   PKG_CONFIG=""
> >   fi
> > -
> >  fi[]dnl
> >  ])# PKG_PROG_PKG_CONFIG
> >  
> > @@ -69,34 +73,32 @@
> >  # Check to see whether a particular set of modules exists.  Similar
> >  # to PKG_CHECK_MODULES(), but does not set variables or print errors.
> >  #
> > -#
> > -# Similar to PKG_CHECK_MODULES, make sure that the first instance of
> > -# this or PKG_CHECK_MODULES is called, or make sure to call
> > -# PKG_CHECK_EXISTS manually
> > +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
> > +# only at the first occurence in configure.ac, so if the first place
> > +# it's called might be skipped (such as if it is within an "if", you
> > +# have to call PKG_CHECK_EXISTS manually
> >  # --------------------------------------------------------------
> >  AC_DEFUN([PKG_CHECK_EXISTS],
> >  [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
> >  if test -n "$PKG_CONFIG" && \
> >      AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
> > -  m4_ifval([$2], [$2], [:])
> > +  m4_default([$2], [:])
> >  m4_ifvaln([$3], [else
> >    $3])dnl
> >  fi])
> >  
> > -
> >  # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
> >  # ---------------------------------------------
> >  m4_define([_PKG_CONFIG],
> > -[if test -n "$PKG_CONFIG"; then
> > -    if test -n "$$1"; then
> > -        pkg_cv_[]$1="$$1"
> > -    else
> > -        PKG_CHECK_EXISTS([$3],
> > -                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
> > - [pkg_failed=yes])
> > -    fi
> > -else
> > - pkg_failed=untried
> > +[if test -n "$$1"; then
> > +    pkg_cv_[]$1="$$1"
> > + elif test -n "$PKG_CONFIG"; then
> > +    PKG_CHECK_EXISTS([$3],
> > +                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
> > +      test "x$?" != "x0" && pkg_failed=yes ],
> > +     [pkg_failed=yes])
> > + else
> > +    pkg_failed=untried
> >  fi[]dnl
> >  ])# _PKG_CONFIG
> >  
> > @@ -138,16 +140,17 @@
> >  See the pkg-config man page for more details.])
> >  
> >  if test $pkg_failed = yes; then
> > +   AC_MSG_RESULT([no])
> >          _PKG_SHORT_ERRORS_SUPPORTED
> >          if test $_pkg_short_errors_supported = yes; then
> > -        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
> > +        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
> >          else
> > -        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
> > +        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
> >          fi
> >   # Put the nasty error message in config.log where it belongs
> >   echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
> >  
> > - ifelse([$4], , [AC_MSG_ERROR(dnl
> > + m4_default([$4], [AC_MSG_ERROR(
> >  [Package requirements ($2) were not met:
> >  
> >  $$1_PKG_ERRORS
> > @@ -155,27 +158,66 @@
> >  Consider adjusting the PKG_CONFIG_PATH environment variable if you
> >  installed software in a non-standard prefix.
> >  
> > -_PKG_TEXT
> > -])],
> > - [AC_MSG_RESULT([no])
> > -                $4])
> > +_PKG_TEXT])[]dnl
> > +        ])
> >  elif test $pkg_failed = untried; then
> > - ifelse([$4], , [AC_MSG_FAILURE(dnl
> > +     AC_MSG_RESULT([no])
> > + m4_default([$4], [AC_MSG_FAILURE(
> >  [The pkg-config script could not be found or is too old.  Make sure it
> >  is in your PATH or set the PKG_CONFIG environment variable to the full
> >  path to pkg-config.
> >  
> >  _PKG_TEXT
> >  
> > -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
> > - [$4])
> > +To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
> > +        ])
> >  else
> >   $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
> >   $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
> >          AC_MSG_RESULT([yes])
> > - ifelse([$3], , :, [$3])
> > + $3
> >  fi[]dnl
> >  ])# PKG_CHECK_MODULES
> > +
> > +
> > +# PKG_INSTALLDIR(DIRECTORY)
> > +# -------------------------
> > +# Substitutes the variable pkgconfigdir as the location where a module
> > +# should install pkg-config .pc files. By default the directory is
> > +# $libdir/pkgconfig, but the default can be changed by passing
> > +# DIRECTORY. The user can override through the --with-pkgconfigdir
> > +# parameter.
> > +AC_DEFUN([PKG_INSTALLDIR],
> > +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
> > +m4_pushdef([pkg_description],
> > +    [pkg-config installation directory @<:@]pkg_default[@:>@])
> > +AC_ARG_WITH([pkgconfigdir],
> > +    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
> > +    [with_pkgconfigdir=]pkg_default)
> > +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
> > +m4_popdef([pkg_default])
> > +m4_popdef([pkg_description])
> > +]) dnl PKG_INSTALLDIR
> > +
> > +
> > +# PKG_NOARCH_INSTALLDIR(DIRECTORY)
> > +# -------------------------
> > +# Substitutes the variable noarch_pkgconfigdir as the location where a
> > +# module should install arch-independent pkg-config .pc files. By
> > +# default the directory is $datadir/pkgconfig, but the default can be
> > +# changed by passing DIRECTORY. The user can override through the
> > +# --with-noarch-pkgconfigdir parameter.
> > +AC_DEFUN([PKG_NOARCH_INSTALLDIR],
> > +[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
> > +m4_pushdef([pkg_description],
> > +    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
> > +AC_ARG_WITH([noarch-pkgconfigdir],
> > +    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
> > +    [with_noarch_pkgconfigdir=]pkg_default)
> > +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
> > +m4_popdef([pkg_default])
> > +m4_popdef([pkg_description])
> > +]) dnl PKG_NOARCH_INSTALLDIR
> >  
> >  # Copyright (C) 2002-2012 Free Software Foundation, Inc.
> >  #
> > Index: configure
> > ===================================================================
> > RCS file: /cvs/xenocara/app/luit/configure,v
> > retrieving revision 1.11
> > diff -u -r1.11 configure
> > --- configure 10 Feb 2013 15:38:36 -0000 1.11
> > +++ configure 11 Jul 2013 21:40:20 -0000
> > @@ -658,6 +658,8 @@
> >  build_cpu
> >  build
> >  INSTALL_CMD
> > +PKG_CONFIG_LIBDIR
> > +PKG_CONFIG_PATH
> >  PKG_CONFIG
> >  CHANGELOG_CMD
> >  STRICT_CFLAGS
> > @@ -767,6 +769,8 @@
> >  CPPFLAGS
> >  CPP
> >  PKG_CONFIG
> > +PKG_CONFIG_PATH
> > +PKG_CONFIG_LIBDIR
> >  LUIT_CFLAGS
> >  LUIT_LIBS'
> >  
> > @@ -1420,6 +1424,10 @@
> >                you have headers in a nonstandard directory <include dir>
> >    CPP         C preprocessor
> >    PKG_CONFIG  path to pkg-config utility
> > +  PKG_CONFIG_PATH
> > +              directories to add to pkg-config's search path
> > +  PKG_CONFIG_LIBDIR
> > +              path overriding pkg-config's built-in search path
> >    LUIT_CFLAGS C compiler flags for LUIT, overriding pkg-config
> >    LUIT_LIBS   linker flags for LUIT, overriding pkg-config
> >  
> > @@ -4393,6 +4401,11 @@
> >  
> >  
> >  
> > +
> > +
> > +
> > +
> > +
> >  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
> >   if test -n "$ac_tool_prefix"; then
> >    # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
> > @@ -4505,7 +4518,6 @@
> >  $as_echo "no" >&6; }
> >   PKG_CONFIG=""
> >   fi
> > -
> >  fi
> >  # Make sure we can run config.sub.
> >  $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
> > @@ -10512,46 +10524,46 @@
> >  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUIT" >&5
> >  $as_echo_n "checking for LUIT... " >&6; }
> >  
> > -if test -n "$PKG_CONFIG"; then
> > -    if test -n "$LUIT_CFLAGS"; then
> > -        pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
> > -    else
> > -        if test -n "$PKG_CONFIG" && \
> > +if test -n "$LUIT_CFLAGS"; then
> > +    pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
> > + elif test -n "$PKG_CONFIG"; then
> > +    if test -n "$PKG_CONFIG" && \
> >      { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
> >    ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
> >    ac_status=$?
> >    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
> >    test $ac_status = 0; }; then
> >    pkg_cv_LUIT_CFLAGS=`$PKG_CONFIG --cflags "fontenc" 2>/dev/null`
> > +      test "x$?" != "x0" && pkg_failed=yes
> >  else
> >    pkg_failed=yes
> >  fi
> > -    fi
> > -else
> > - pkg_failed=untried
> > + else
> > +    pkg_failed=untried
> >  fi
> > -if test -n "$PKG_CONFIG"; then
> > -    if test -n "$LUIT_LIBS"; then
> > -        pkg_cv_LUIT_LIBS="$LUIT_LIBS"
> > -    else
> > -        if test -n "$PKG_CONFIG" && \
> > +if test -n "$LUIT_LIBS"; then
> > +    pkg_cv_LUIT_LIBS="$LUIT_LIBS"
> > + elif test -n "$PKG_CONFIG"; then
> > +    if test -n "$PKG_CONFIG" && \
> >      { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
> >    ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
> >    ac_status=$?
> >    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
> >    test $ac_status = 0; }; then
> >    pkg_cv_LUIT_LIBS=`$PKG_CONFIG --libs "fontenc" 2>/dev/null`
> > +      test "x$?" != "x0" && pkg_failed=yes
> >  else
> >    pkg_failed=yes
> >  fi
> > -    fi
> > -else
> > - pkg_failed=untried
> > + else
> > +    pkg_failed=untried
> >  fi
> >  
> >  
> >  
> >  if test $pkg_failed = yes; then
> > +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> > +$as_echo "no" >&6; }
> >  
> >  if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
> >          _pkg_short_errors_supported=yes
> > @@ -10559,9 +10571,9 @@
> >          _pkg_short_errors_supported=no
> >  fi
> >          if test $_pkg_short_errors_supported = yes; then
> > -        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fontenc"`
> > +        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fontenc" 2>&1`
> >          else
> > -        LUIT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fontenc"`
> > +        LUIT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fontenc" 2>&1`
> >          fi
> >   # Put the nasty error message in config.log where it belongs
> >   echo "$LUIT_PKG_ERRORS" >&5
> > @@ -10575,9 +10587,10 @@
> >  
> >  Alternatively, you may set the environment variables LUIT_CFLAGS
> >  and LUIT_LIBS to avoid the need to call pkg-config.
> > -See the pkg-config man page for more details.
> > -" "$LINENO" 5
> > +See the pkg-config man page for more details." "$LINENO" 5
> >  elif test $pkg_failed = untried; then
> > +     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> > +$as_echo "no" >&6; }
> >   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
> >  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
> >  as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
> > @@ -10588,14 +10601,14 @@
> >  and LUIT_LIBS to avoid the need to call pkg-config.
> >  See the pkg-config man page for more details.
> >  
> > -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
> > +To get pkg-config, see <http://pkg-config.freedesktop.org/>.
> >  See \`config.log' for more details" "$LINENO" 5; }
> >  else
> >   LUIT_CFLAGS=$pkg_cv_LUIT_CFLAGS
> >   LUIT_LIBS=$pkg_cv_LUIT_LIBS
> >          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> >  $as_echo "yes" >&6; }
> > - :
> > +
> >  fi
> >  
> >  # We don't link against libX11, just use its locale.alias data file
> > @@ -10642,6 +10655,11 @@
> >  
> >          OS_CFLAGS="-D_XOPEN_SOURCE=500"
> >          ;;
> > +    openbsd*)
> > +        # grantpt() support is broken on OpenBSD
> > + ac_cv_func_grantpt=no
> > + unset HAVE_GRANTPT
> > + ;;
> >      *)
> >          for ac_header in poll.h
> >  do :
> > @@ -10684,7 +10702,7 @@
> >  
> >  done
> >  
> > -for ac_func in grantpt putenv select strdup
> > +for ac_func in putenv select strdup
> >  do :
> >    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
> >  ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
> > Index: configure.ac
> > ===================================================================
> > RCS file: /cvs/xenocara/app/luit/configure.ac,v
> > retrieving revision 1.6
> > diff -u -r1.6 configure.ac
> > --- configure.ac 10 Feb 2013 15:38:37 -0000 1.6
> > +++ configure.ac 11 Jul 2013 21:40:21 -0000
> > @@ -64,6 +64,11 @@
> >          AC_CHECK_FUNCS([poll])
> >          OS_CFLAGS="-D_XOPEN_SOURCE=500"
> >          ;;
> > +    openbsd*)
> > +        # grantpt() support is broken on OpenBSD
> > + ac_cv_func_grantpt=no
> > + unset HAVE_GRANTPT
> > + ;;
> >      *)
> >          AC_CHECK_HEADERS([poll.h])
> >          AC_CHECK_FUNCS([poll])
> > @@ -73,7 +78,7 @@
> >  AC_SUBST(OS_CFLAGS)
> >  
> >  AC_CHECK_HEADERS([pty.h stropts.h sys/ioctl.h sys/param.h sys/poll.h sys/select.h sys/time.h termios.h])
> > -AC_CHECK_FUNCS([grantpt putenv select strdup])
> > +AC_CHECK_FUNCS([putenv select strdup])
> >  
> >  if test "x$ac_cv_func_grantpt" != "xyes" ; then
> >          AC_CHECK_LIB(util, openpty, [cf_have_openpty=yes],[cf_have_openpty=no])
> > Index: man/Makefile.in
> > ===================================================================
> > RCS file: /cvs/xenocara/app/luit/man/Makefile.in,v
> > retrieving revision 1.1
> > diff -u -r1.1 Makefile.in
> > --- man/Makefile.in 10 Feb 2013 15:38:37 -0000 1.1
> > +++ man/Makefile.in 11 Jul 2013 21:40:22 -0000
> > @@ -197,6 +197,8 @@
> >  PACKAGE_VERSION = @PACKAGE_VERSION@
> >  PATH_SEPARATOR = @PATH_SEPARATOR@
> >  PKG_CONFIG = @PKG_CONFIG@
> > +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
> > +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
> >  SED = @SED@
> >  SET_MAKE = @SET_MAKE@
> >  SHELL = @SHELL@
> >
> >
> > --
> > Matthieu Herrb
> >
> >
> > !DSPAM:51df270a234781275080295!
> >

--
Matthieu Herrb

Reply | Threaded
Open this post in threaded view
|

Re: 5.4-beta#20 xterm(1)/luit(1) in cwm, CM-Return random defunc

Jan Stary
On Jul 12 22:11:58, [hidden email] wrote:

> On Fri, Jul 12, 2013 at 09:38:07AM +0200, MERIGHI Marcus wrote:
> > [hidden email] (Matthieu Herrb), 2013.07.11 (Thu) 23:41 (CEST):
> > > On Wed, Jul 10, 2013 at 01:30:23AM -0700, Philip Guenther wrote:
> > > > On Wed, Jul 10, 2013 at 1:19 AM, Philip Guenther <[hidden email]> wrote:
> > > > > Looks like a race in luit's startup, due to how it handles the
> > > > > ttys/ptys.  To work around the problem, invoke it with the -p
> > > > > option...but I don't know how you can convince xterm to do that.
> > > >
> > > > Ha!  I believe this bug is a result of posix_openpt() being
> > > > implemented in 5.3 and the luit configure script picking that instead
> > > > of openpty(), as the code for the former results in the client side
> > > > being opened (by PTMGET), then closed, then reopened by name, which
> > > > leaves a window where the master will read EOF.
> > > >
> > > > Naddy, can you coerce configure into ignoring posix_openpt()?
> > >
> > > Can you check the patch below ?
> > > (sorry it's huge since it regenerates autotools files)
> >
> > I hate being a spoilsport, but... it does not change the random defunc.
> >
> > What I did:
> > 1) cd /usr/xenocara/app/luit
> > 2) patch < ~/luit.patch
> > (no errors)
> > 3) ./configure; make; make install
>
> That should be :
>
> rm /usr/xobj/xorg-config.cache.*
> make -f Makefile.bsd-wrapper obj
> make -f Makefile.bsd-wrapper build
>
> instead.
>
> And check with nm -u /usr/X11R6/bin/luit | grep openpty  that
> openpty() is referenced (and not posix_openpt()).

I just applied the patch and did exactly the above:

# ls -l /usr/X11R6/bin/luit              
-rwxr-xr-x  1 root  wheel  35824 Jul 12 23:36 /usr/X11R6/bin/luit

# nm /usr/X11R6/bin/luit  | grep -F openpt
        U posix_openpt

Am I missing something?

> I can't reproduce the issue with that patch and the resulting luit
> binary (yes I was able to reproduce it before)
>
> > (no errors)
> > 4) ~/.Xresources: enable ``XTerm*locale:ISO8859-1''
> > 5) xrdb -merge ~/.Xresources
> > 6) hit CM-Return
> > 7) get a new xterm or not
> >
> > Bye, Marcus
> >
> > > Index: Makefile.in
> > > ===================================================================
> > > RCS file: /cvs/xenocara/app/luit/Makefile.in,v
> > > retrieving revision 1.6
> > > diff -u -r1.6 Makefile.in
> > > --- Makefile.in 10 Feb 2013 15:38:36 -0000 1.6
> > > +++ Makefile.in 11 Jul 2013 21:40:11 -0000
> > > @@ -252,6 +252,8 @@
> > >  PACKAGE_VERSION = @PACKAGE_VERSION@
> > >  PATH_SEPARATOR = @PATH_SEPARATOR@
> > >  PKG_CONFIG = @PKG_CONFIG@
> > > +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
> > > +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
> > >  SED = @SED@
> > >  SET_MAKE = @SET_MAKE@
> > >  SHELL = @SHELL@
> > > Index: aclocal.m4
> > > ===================================================================
> > > RCS file: /cvs/xenocara/app/luit/aclocal.m4,v
> > > retrieving revision 1.10
> > > diff -u -r1.10 aclocal.m4
> > > --- aclocal.m4 10 Feb 2013 15:38:36 -0000 1.10
> > > +++ aclocal.m4 11 Jul 2013 21:40:13 -0000
> > > @@ -20,6 +20,7 @@
> > >  To do so, use the procedure documented by the package, typically 'autoreconf'.])])
> > >  
> > >  # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
> > > +# serial 1 (pkg-config-0.24)
> > >  #
> > >  # Copyright ? 2004 Scott James Remnant <[hidden email]>.
> > >  #
> > > @@ -46,8 +47,12 @@
> > >  # ----------------------------------
> > >  AC_DEFUN([PKG_PROG_PKG_CONFIG],
> > >  [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
> > > -m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
> > > -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
> > > +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
> > > +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
> > > +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
> > > +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
> > > +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
> > > +
> > >  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
> > >   AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
> > >  fi
> > > @@ -60,7 +65,6 @@
> > >   AC_MSG_RESULT([no])
> > >   PKG_CONFIG=""
> > >   fi
> > > -
> > >  fi[]dnl
> > >  ])# PKG_PROG_PKG_CONFIG
> > >  
> > > @@ -69,34 +73,32 @@
> > >  # Check to see whether a particular set of modules exists.  Similar
> > >  # to PKG_CHECK_MODULES(), but does not set variables or print errors.
> > >  #
> > > -#
> > > -# Similar to PKG_CHECK_MODULES, make sure that the first instance of
> > > -# this or PKG_CHECK_MODULES is called, or make sure to call
> > > -# PKG_CHECK_EXISTS manually
> > > +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
> > > +# only at the first occurence in configure.ac, so if the first place
> > > +# it's called might be skipped (such as if it is within an "if", you
> > > +# have to call PKG_CHECK_EXISTS manually
> > >  # --------------------------------------------------------------
> > >  AC_DEFUN([PKG_CHECK_EXISTS],
> > >  [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
> > >  if test -n "$PKG_CONFIG" && \
> > >      AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
> > > -  m4_ifval([$2], [$2], [:])
> > > +  m4_default([$2], [:])
> > >  m4_ifvaln([$3], [else
> > >    $3])dnl
> > >  fi])
> > >  
> > > -
> > >  # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
> > >  # ---------------------------------------------
> > >  m4_define([_PKG_CONFIG],
> > > -[if test -n "$PKG_CONFIG"; then
> > > -    if test -n "$$1"; then
> > > -        pkg_cv_[]$1="$$1"
> > > -    else
> > > -        PKG_CHECK_EXISTS([$3],
> > > -                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
> > > - [pkg_failed=yes])
> > > -    fi
> > > -else
> > > - pkg_failed=untried
> > > +[if test -n "$$1"; then
> > > +    pkg_cv_[]$1="$$1"
> > > + elif test -n "$PKG_CONFIG"; then
> > > +    PKG_CHECK_EXISTS([$3],
> > > +                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
> > > +      test "x$?" != "x0" && pkg_failed=yes ],
> > > +     [pkg_failed=yes])
> > > + else
> > > +    pkg_failed=untried
> > >  fi[]dnl
> > >  ])# _PKG_CONFIG
> > >  
> > > @@ -138,16 +140,17 @@
> > >  See the pkg-config man page for more details.])
> > >  
> > >  if test $pkg_failed = yes; then
> > > +   AC_MSG_RESULT([no])
> > >          _PKG_SHORT_ERRORS_SUPPORTED
> > >          if test $_pkg_short_errors_supported = yes; then
> > > -        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
> > > +        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
> > >          else
> > > -        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
> > > +        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
> > >          fi
> > >   # Put the nasty error message in config.log where it belongs
> > >   echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
> > >  
> > > - ifelse([$4], , [AC_MSG_ERROR(dnl
> > > + m4_default([$4], [AC_MSG_ERROR(
> > >  [Package requirements ($2) were not met:
> > >  
> > >  $$1_PKG_ERRORS
> > > @@ -155,27 +158,66 @@
> > >  Consider adjusting the PKG_CONFIG_PATH environment variable if you
> > >  installed software in a non-standard prefix.
> > >  
> > > -_PKG_TEXT
> > > -])],
> > > - [AC_MSG_RESULT([no])
> > > -                $4])
> > > +_PKG_TEXT])[]dnl
> > > +        ])
> > >  elif test $pkg_failed = untried; then
> > > - ifelse([$4], , [AC_MSG_FAILURE(dnl
> > > +     AC_MSG_RESULT([no])
> > > + m4_default([$4], [AC_MSG_FAILURE(
> > >  [The pkg-config script could not be found or is too old.  Make sure it
> > >  is in your PATH or set the PKG_CONFIG environment variable to the full
> > >  path to pkg-config.
> > >  
> > >  _PKG_TEXT
> > >  
> > > -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
> > > - [$4])
> > > +To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
> > > +        ])
> > >  else
> > >   $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
> > >   $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
> > >          AC_MSG_RESULT([yes])
> > > - ifelse([$3], , :, [$3])
> > > + $3
> > >  fi[]dnl
> > >  ])# PKG_CHECK_MODULES
> > > +
> > > +
> > > +# PKG_INSTALLDIR(DIRECTORY)
> > > +# -------------------------
> > > +# Substitutes the variable pkgconfigdir as the location where a module
> > > +# should install pkg-config .pc files. By default the directory is
> > > +# $libdir/pkgconfig, but the default can be changed by passing
> > > +# DIRECTORY. The user can override through the --with-pkgconfigdir
> > > +# parameter.
> > > +AC_DEFUN([PKG_INSTALLDIR],
> > > +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
> > > +m4_pushdef([pkg_description],
> > > +    [pkg-config installation directory @<:@]pkg_default[@:>@])
> > > +AC_ARG_WITH([pkgconfigdir],
> > > +    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
> > > +    [with_pkgconfigdir=]pkg_default)
> > > +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
> > > +m4_popdef([pkg_default])
> > > +m4_popdef([pkg_description])
> > > +]) dnl PKG_INSTALLDIR
> > > +
> > > +
> > > +# PKG_NOARCH_INSTALLDIR(DIRECTORY)
> > > +# -------------------------
> > > +# Substitutes the variable noarch_pkgconfigdir as the location where a
> > > +# module should install arch-independent pkg-config .pc files. By
> > > +# default the directory is $datadir/pkgconfig, but the default can be
> > > +# changed by passing DIRECTORY. The user can override through the
> > > +# --with-noarch-pkgconfigdir parameter.
> > > +AC_DEFUN([PKG_NOARCH_INSTALLDIR],
> > > +[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
> > > +m4_pushdef([pkg_description],
> > > +    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
> > > +AC_ARG_WITH([noarch-pkgconfigdir],
> > > +    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
> > > +    [with_noarch_pkgconfigdir=]pkg_default)
> > > +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
> > > +m4_popdef([pkg_default])
> > > +m4_popdef([pkg_description])
> > > +]) dnl PKG_NOARCH_INSTALLDIR
> > >  
> > >  # Copyright (C) 2002-2012 Free Software Foundation, Inc.
> > >  #
> > > Index: configure
> > > ===================================================================
> > > RCS file: /cvs/xenocara/app/luit/configure,v
> > > retrieving revision 1.11
> > > diff -u -r1.11 configure
> > > --- configure 10 Feb 2013 15:38:36 -0000 1.11
> > > +++ configure 11 Jul 2013 21:40:20 -0000
> > > @@ -658,6 +658,8 @@
> > >  build_cpu
> > >  build
> > >  INSTALL_CMD
> > > +PKG_CONFIG_LIBDIR
> > > +PKG_CONFIG_PATH
> > >  PKG_CONFIG
> > >  CHANGELOG_CMD
> > >  STRICT_CFLAGS
> > > @@ -767,6 +769,8 @@
> > >  CPPFLAGS
> > >  CPP
> > >  PKG_CONFIG
> > > +PKG_CONFIG_PATH
> > > +PKG_CONFIG_LIBDIR
> > >  LUIT_CFLAGS
> > >  LUIT_LIBS'
> > >  
> > > @@ -1420,6 +1424,10 @@
> > >                you have headers in a nonstandard directory <include dir>
> > >    CPP         C preprocessor
> > >    PKG_CONFIG  path to pkg-config utility
> > > +  PKG_CONFIG_PATH
> > > +              directories to add to pkg-config's search path
> > > +  PKG_CONFIG_LIBDIR
> > > +              path overriding pkg-config's built-in search path
> > >    LUIT_CFLAGS C compiler flags for LUIT, overriding pkg-config
> > >    LUIT_LIBS   linker flags for LUIT, overriding pkg-config
> > >  
> > > @@ -4393,6 +4401,11 @@
> > >  
> > >  
> > >  
> > > +
> > > +
> > > +
> > > +
> > > +
> > >  if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
> > >   if test -n "$ac_tool_prefix"; then
> > >    # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
> > > @@ -4505,7 +4518,6 @@
> > >  $as_echo "no" >&6; }
> > >   PKG_CONFIG=""
> > >   fi
> > > -
> > >  fi
> > >  # Make sure we can run config.sub.
> > >  $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
> > > @@ -10512,46 +10524,46 @@
> > >  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUIT" >&5
> > >  $as_echo_n "checking for LUIT... " >&6; }
> > >  
> > > -if test -n "$PKG_CONFIG"; then
> > > -    if test -n "$LUIT_CFLAGS"; then
> > > -        pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
> > > -    else
> > > -        if test -n "$PKG_CONFIG" && \
> > > +if test -n "$LUIT_CFLAGS"; then
> > > +    pkg_cv_LUIT_CFLAGS="$LUIT_CFLAGS"
> > > + elif test -n "$PKG_CONFIG"; then
> > > +    if test -n "$PKG_CONFIG" && \
> > >      { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
> > >    ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
> > >    ac_status=$?
> > >    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
> > >    test $ac_status = 0; }; then
> > >    pkg_cv_LUIT_CFLAGS=`$PKG_CONFIG --cflags "fontenc" 2>/dev/null`
> > > +      test "x$?" != "x0" && pkg_failed=yes
> > >  else
> > >    pkg_failed=yes
> > >  fi
> > > -    fi
> > > -else
> > > - pkg_failed=untried
> > > + else
> > > +    pkg_failed=untried
> > >  fi
> > > -if test -n "$PKG_CONFIG"; then
> > > -    if test -n "$LUIT_LIBS"; then
> > > -        pkg_cv_LUIT_LIBS="$LUIT_LIBS"
> > > -    else
> > > -        if test -n "$PKG_CONFIG" && \
> > > +if test -n "$LUIT_LIBS"; then
> > > +    pkg_cv_LUIT_LIBS="$LUIT_LIBS"
> > > + elif test -n "$PKG_CONFIG"; then
> > > +    if test -n "$PKG_CONFIG" && \
> > >      { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontenc\""; } >&5
> > >    ($PKG_CONFIG --exists --print-errors "fontenc") 2>&5
> > >    ac_status=$?
> > >    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
> > >    test $ac_status = 0; }; then
> > >    pkg_cv_LUIT_LIBS=`$PKG_CONFIG --libs "fontenc" 2>/dev/null`
> > > +      test "x$?" != "x0" && pkg_failed=yes
> > >  else
> > >    pkg_failed=yes
> > >  fi
> > > -    fi
> > > -else
> > > - pkg_failed=untried
> > > + else
> > > +    pkg_failed=untried
> > >  fi
> > >  
> > >  
> > >  
> > >  if test $pkg_failed = yes; then
> > > +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> > > +$as_echo "no" >&6; }
> > >  
> > >  if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
> > >          _pkg_short_errors_supported=yes
> > > @@ -10559,9 +10571,9 @@
> > >          _pkg_short_errors_supported=no
> > >  fi
> > >          if test $_pkg_short_errors_supported = yes; then
> > > -        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fontenc"`
> > > +        LUIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fontenc" 2>&1`
> > >          else
> > > -        LUIT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fontenc"`
> > > +        LUIT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fontenc" 2>&1`
> > >          fi
> > >   # Put the nasty error message in config.log where it belongs
> > >   echo "$LUIT_PKG_ERRORS" >&5
> > > @@ -10575,9 +10587,10 @@
> > >  
> > >  Alternatively, you may set the environment variables LUIT_CFLAGS
> > >  and LUIT_LIBS to avoid the need to call pkg-config.
> > > -See the pkg-config man page for more details.
> > > -" "$LINENO" 5
> > > +See the pkg-config man page for more details." "$LINENO" 5
> > >  elif test $pkg_failed = untried; then
> > > +     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> > > +$as_echo "no" >&6; }
> > >   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
> > >  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
> > >  as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
> > > @@ -10588,14 +10601,14 @@
> > >  and LUIT_LIBS to avoid the need to call pkg-config.
> > >  See the pkg-config man page for more details.
> > >  
> > > -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
> > > +To get pkg-config, see <http://pkg-config.freedesktop.org/>.
> > >  See \`config.log' for more details" "$LINENO" 5; }
> > >  else
> > >   LUIT_CFLAGS=$pkg_cv_LUIT_CFLAGS
> > >   LUIT_LIBS=$pkg_cv_LUIT_LIBS
> > >          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> > >  $as_echo "yes" >&6; }
> > > - :
> > > +
> > >  fi
> > >  
> > >  # We don't link against libX11, just use its locale.alias data file
> > > @@ -10642,6 +10655,11 @@
> > >  
> > >          OS_CFLAGS="-D_XOPEN_SOURCE=500"
> > >          ;;
> > > +    openbsd*)
> > > +        # grantpt() support is broken on OpenBSD
> > > + ac_cv_func_grantpt=no
> > > + unset HAVE_GRANTPT
> > > + ;;
> > >      *)
> > >          for ac_header in poll.h
> > >  do :
> > > @@ -10684,7 +10702,7 @@
> > >  
> > >  done
> > >  
> > > -for ac_func in grantpt putenv select strdup
> > > +for ac_func in putenv select strdup
> > >  do :
> > >    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
> > >  ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
> > > Index: configure.ac
> > > ===================================================================
> > > RCS file: /cvs/xenocara/app/luit/configure.ac,v
> > > retrieving revision 1.6
> > > diff -u -r1.6 configure.ac
> > > --- configure.ac 10 Feb 2013 15:38:37 -0000 1.6
> > > +++ configure.ac 11 Jul 2013 21:40:21 -0000
> > > @@ -64,6 +64,11 @@
> > >          AC_CHECK_FUNCS([poll])
> > >          OS_CFLAGS="-D_XOPEN_SOURCE=500"
> > >          ;;
> > > +    openbsd*)
> > > +        # grantpt() support is broken on OpenBSD
> > > + ac_cv_func_grantpt=no
> > > + unset HAVE_GRANTPT
> > > + ;;
> > >      *)
> > >          AC_CHECK_HEADERS([poll.h])
> > >          AC_CHECK_FUNCS([poll])
> > > @@ -73,7 +78,7 @@
> > >  AC_SUBST(OS_CFLAGS)
> > >  
> > >  AC_CHECK_HEADERS([pty.h stropts.h sys/ioctl.h sys/param.h sys/poll.h sys/select.h sys/time.h termios.h])
> > > -AC_CHECK_FUNCS([grantpt putenv select strdup])
> > > +AC_CHECK_FUNCS([putenv select strdup])
> > >  
> > >  if test "x$ac_cv_func_grantpt" != "xyes" ; then
> > >          AC_CHECK_LIB(util, openpty, [cf_have_openpty=yes],[cf_have_openpty=no])
> > > Index: man/Makefile.in
> > > ===================================================================
> > > RCS file: /cvs/xenocara/app/luit/man/Makefile.in,v
> > > retrieving revision 1.1
> > > diff -u -r1.1 Makefile.in
> > > --- man/Makefile.in 10 Feb 2013 15:38:37 -0000 1.1
> > > +++ man/Makefile.in 11 Jul 2013 21:40:22 -0000
> > > @@ -197,6 +197,8 @@
> > >  PACKAGE_VERSION = @PACKAGE_VERSION@
> > >  PATH_SEPARATOR = @PATH_SEPARATOR@
> > >  PKG_CONFIG = @PKG_CONFIG@
> > > +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
> > > +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
> > >  SED = @SED@
> > >  SET_MAKE = @SET_MAKE@
> > >  SHELL = @SHELL@
> > >
> > >
> > > --
> > > Matthieu Herrb
> > >
> > >
> > > !DSPAM:51df270a234781275080295!
> > >
>
> --
> Matthieu Herrb

12