I've tracked down a problem and a dilemma.

There are two things going on:

  1. C compiler flags are being ignored when compiling libcpgplot.a
  2. The static libcpgplot.a library is explicitly being built without
the -fPIC option


Problem #1 arises because of the Perl "hack to get around a strange
makefile problem".  I'm not sure what that problem is - I've never had a
problem with the generated makefile.  In any case the debian hack
doesn't pass the compiler flags to the compiler.  To fix that,
change debian/compc so it looks like this:

        #!/usr/bin/perl
        
        print "This is a hack to get around a strange makefile problem\n";
        
        while (<>) {
          $com = "$ENV{CCOMPL} -c $ENV{CFLAGC} $_";
          print "$com";
          system $com;
        }
        
        
        1; #OK

Note the use of the CCOMPL and CFLAGC variables.  Then, fix the
invocation of compc in makemake so that it looks like this:

        ls *.c  | env CCOMPL="$(CCOMPL)" CFLAGC="$(CFLAGC)" perl ../compc 


The next problem has to do with how the library is built.  If the -fPIC
flag is used to build libcpgplot.a (as is suggested by the linker error
message), then the Perl PGPLOT interface links against it without error
and all tests pass.  However, the changelog says: 

        pgplot5 (5.2.2-6) unstable; urgency=low
        
          * Removed PIC compilation for static library. Closes: #146077
        
Bug #146077 refers to a problem on ia64 platforms where mixing of PIC
and non-PIC is not allowed.  However, removal of the flag breaks x86_64
platforms (I haven't tried this on an i686 system yet).  Hence the
dilemma.  I don't enough about the debian system to provide a patch
which reinstates the flag for x86_64 systems.

Diab




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to