From owner-freebsd-questions@FreeBSD.ORG Tue Sep 23 17:57:04 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46A06106567A for ; Tue, 23 Sep 2008 17:57:04 +0000 (UTC) (envelope-from fbsd.questions@rachie.is-a-geek.net) Received: from mail.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id 141A48FC12 for ; Tue, 23 Sep 2008 17:57:03 +0000 (UTC) (envelope-from fbsd.questions@rachie.is-a-geek.net) Received: from localhost (mail.rachie.is-a-geek.net [192.168.2.101]) by mail.rachie.is-a-geek.net (Postfix) with ESMTP id 0E4B6AFBC01; Tue, 23 Sep 2008 09:57:03 -0800 (AKDT) From: Mel To: freebsd-questions@freebsd.org, unga888@yahoo.com Date: Tue, 23 Sep 2008 19:57:01 +0200 User-Agent: KMail/1.9.7 References: <458434.63007.qm@web57006.mail.re3.yahoo.com> In-Reply-To: <458434.63007.qm@web57006.mail.re3.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200809231957.01976.fbsd.questions@rachie.is-a-geek.net> Cc: Subject: Re: A strange compiling issue X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 17:57:04 -0000 On Tuesday 23 September 2008 11:45:40 Unga wrote: > Hi > > I'm trying to compile Perl on FreeBSD. It get cleanly compiled on FreeBSD > 7.0. > > But on another test system running RELENG_7 where I do weired things, it > develops errors. There must be something wrong with my test system, I wou= ld > like to understand what cause this error. > > cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H > -fno-strict-aliasing -pipe -std=3Dc89 -O -Wall -ansi -W -Wextra > -Wdeclaration-after-statement -Wendif-labels -Wc++-compat toke.c > > toke.c: In function 'Perl_yylex': > toke.c:6633: error: lvalue required as unary '&' operand > toke.c:6633: error: lvalue required as unary '&' operand > Line 6633: > if (memchr(tmpbuf, ':', len)) > sv_setpvn(PL_subname, tmpbuf, len); > else { > sv_setsv(PL_subname,PL_curstname); > sv_catpvs(PL_subname,"::"); > sv_catpvn(PL_subname,tmpbuf,len); These line numbers are off. There's no '&' anywhere here. Any chance this f= ile=20 wasn't passed through yacc/lex? Does an '&' show up in raw cpp output (mayb= e=20 memchr was defined as some macro)? Try: cpp -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing = =2Dpipe =A0\ -std=3Dc89 -O -Wall -ansi =A0 -W -Wextra -Wdeclaration-after-statement \ -Wendif-labels -Wc++-compat -o toke.out Then inspect toke.out. =2D-=20 Mel Problem with today's modular software: they start with the modules and never get to the software part.