Bug 27828

Summary: /usr/ports/lang/eperl fails to build
Product: Ports & Packages Reporter: Erich Zigler <erich>
Component: Individual Port(s)Assignee: Anton Berezin <tobez>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Erich Zigler 2001-06-02 05:40:02 UTC
	Eperl fails to build

===>  Building for eperl-2.2.14
cc  -pthread -I/usr/libdata/perl/5.00503/mach/CORE -I. -c eperl_main.c
/usr/bin/perl5.00503 eperl_perl5_sm.pl >eperl_perl5_sm.h
cc  -pthread -I/usr/libdata/perl/5.00503/mach/CORE -I. -c eperl_perl5.c
eperl_perl5.c: In function `Perl5_ForceUnbufferedStdout':
eperl_perl5.c:74: `thr' undeclared (first use in this function)
eperl_perl5.c:74: (Each undeclared identifier is reported only once
eperl_perl5.c:74: for each function it appears in.)
eperl_perl5.c: In function `Perl5_SetScalar':
eperl_perl5.c:103: `thr' undeclared (first use in this function)
*** Error code 1

Fix: 

No idea.
How-To-Repeat: 	cd /usr/ports/lang/eperl
	make
Comment 1 Anton Berezin 2001-06-11 12:19:48 UTC
On Sat, Jun 02, 2001 at 04:35:18AM -0000, Erich Zigler wrote:

> 	Eperl fails to build
> 
> ===>  Building for eperl-2.2.14
> cc  -pthread -I/usr/libdata/perl/5.00503/mach/CORE -I. -c eperl_main.c
> /usr/bin/perl5.00503 eperl_perl5_sm.pl >eperl_perl5_sm.h
> cc  -pthread -I/usr/libdata/perl/5.00503/mach/CORE -I. -c eperl_perl5.c
> eperl_perl5.c: In function `Perl5_ForceUnbufferedStdout':
> eperl_perl5.c:74: `thr' undeclared (first use in this function)
> eperl_perl5.c:74: (Each undeclared identifier is reported only once
> eperl_perl5.c:74: for each function it appears in.)
> eperl_perl5.c: In function `Perl5_SetScalar':
> eperl_perl5.c:103: `thr' undeclared (first use in this function)
> *** Error code 1

Eperl is apparently not compatible with threaded perl.  The error above
is produced because of

   #define PL_defoutgv          (thr->Tdefoutgv)

in the threaded Perl headers, and the fact that the
Perl5_ForceUnbufferedStdout() function in eperl_perl5.c does not use
dARGS macro properly.

Though it is likely possible to fix the port (or eperl itself), the best
solution is to not use threaded perl at all - it is evil.  Most recent
versions of FreeBSD do not have the possibility to build threaded Perl
in the base system any longer (of course, one can always build such
manually).

So, to solve your problem, either upgrade to the most recent -STABLE, or
comment out PERL_THREADED=true in your /etc/make.conf and rebuild the
system (or just perl).

Cheers,
+Anton.
-- 
May the tuna salad be with you.
Comment 2 Anton Berezin freebsd_committer freebsd_triage 2001-06-11 21:04:26 UTC
State Changed
From-To: open->feedback

Please let us know whether using non-threaded Perl fixes the problem. 


Comment 3 Anton Berezin freebsd_committer freebsd_triage 2001-06-11 21:04:26 UTC
Responsible Changed
From-To: freebsd-ports->tobez

I'll take care of this.
Comment 4 Anton Berezin freebsd_committer freebsd_triage 2001-06-27 00:32:21 UTC
State Changed
From-To: feedback->closed

No response from the originator. 

Anyway, it is most likely the threaded Perl issue.