Perl compile error - not yet resolved

Adam Trilling agt10 at columbia.edu
Tue Oct 1 19:43:37 PDT 2002


On Tue, 1 Oct 2002, Gerard Beekmans wrote:

> Now, I understand where the complaints come from because it resolves to the
> same directory which happens to be a system directory, etc. I didn't quite
> understand how it could cause the incompatible struct errors since it's not
> that it's finding alternative header files that cause the problems.

In my experience as a programmer (both under Linux and Solaris), 99% of
errors with system headers have nothing to do with the system headers
themselves.  On top of that, Perl has a tendency to ignore rules which
aren't explicitly written down somewhere.

My guess is that because of some Perl build weirdness and the symlinks,
the compiler got more than one definition of struct sockaddr, got
confused, and bailed out.  Such is life in programming languages which are
only strongly-typed when it's convenient for them and inconvenient for the
programmer :-p

> However you were right on the ball. Removing the /opt symlink resulted in Perl
> to build properly. I still find it strange since I used to use this /opt
> symlink before without problems. Well that was with other software versions
> so that explains a few things. I'll go back and try to figure out why it
> caused the problems. Right now it looks as though it's GCC who's ignoring
> certain directories because maybe it thinks those files are supposed to be
> there.

As I said, Perl doesn't always follow the "rules".  I'd be willing to bet
you can fix the problem by using the manual Configure and specifying
"none" when it asks you what additional include directories you want to
use.  I've always felt like using the automatic configure script for Perl
was a detriment to the "know exactly what's on your system" advantage of
LFS, but maybe I'm just paranoid :)

(disclaimer: it's exactly that paranoia that drove me to LFS in the first
place)


Adam Trilling
agt10 at columbia.edu


char m[9999],*n[99],*r=m,*p=m+5000,**s=n,d,c;main(){for(read(0,r,4000);c=*r;
r++)c-']'||(d>1||(r=*p?*s:(--s,r)),!d||d--),c-'['||d++||(*++s=r),d||(*p+=c==
'+',*p-=c=='-',p+=c=='>',p-=c=='<',c-'.'||write(2,p,1),c-','||read(2,p,1));}

-- 
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-dev' in the subject header of the message



More information about the lfs-dev mailing list