To support my theory here is an experiment:

CASE 1/ (Prima is already installed)
c:\anydir> cpanm PDL::Drawing::Prima -v --force
...
lib/PDL/Drawing/Prima.pm.PL:285:21: fatal error: apricot.h: No such file or directory

CASE 2/
c:\anydir> cpanm Prima PDL::Drawing::Prima -v --force
...
2 distributions installed

In the first case the build directory from the time when Prima-1.43 was installed is removed (by cpanm cleanup) so incdirs like -I"D:\STRAWB~2\data\.cpanm\work\1433509677.21616\Prima-1.43\include" are invalid and apricot.h is not found.

However in the second case we rebuild Prima first and when trying to build PDL::Drawing::Prima the build directory from the time when Prima-1.43 was built still exists thus apricot.h is found.

But again %PDL::Config::Config should probably contain incdirs like:
d:\strawberry32\perl\site\lib\Prima\CORE\apricot.h
not
d:\strawberry32\data\.cpanm\work\1433509677.21616\Prima-1.43\include

--
kmx

On 8.6.2015 19:39, kmx wrote:
Maybe I was too fast in my explanation:

1/ Let's have PDL installed

2/ I have managed somehow to install Prima-1.43 (there were some failing tests but nothing critical)

3/ Then I have tried to install PDL-Drawing-Prima-0.10 which fails:
gcc -c -I"D:\strawberry32\perl\site\lib\PDL\Core" -I"D:\STRAWB~2\data\.cpanm\work\1433509677.21616\Prima-1.43\include" -I"D:\STRAWB~2\data\.cpanm\work\14335096 7.21616\Prima-1.43\include\generic" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfi lds -s -O2 "-DVERSION=\"0.10\"" "-DXS_VERSION=\"0.10\"" -I"D:\strawberry32\perl\lib\CORE" -I"D:\strawberry32\c\include" -o "lib\PDL\Drawing\Prima.o" "lib\PDL\D
awing\Prima.c"
lib/PDL/Drawing/Prima.pm.PL:285:21: fatal error: apricot.h: No such file or directory

4/ The file apricot.h comes with Prima-1.43 and is located at:
d:\strawberry32\perl\site\lib\Prima\CORE\apricot.h

5/ The trouble is that directory "d:\strawberry32\perl\site\lib\Prima\CORE" is not part of any -I... args passed to gcc so it is obvious that apricot.h is not found

6/ PDL-Drawing-Prima-0.10's Makefile.PL takes include paths from %Prima::Config::Config and puts them into -I... gcc args

7/ As you can see from
perl -MPrima::Config -MData::Dumper -E "print Dumper \%Prima::Config::Config"
there is no "-Id:\strawberry32\perl\site\lib\Prima\CORE\apricot.h"
instead there are
-ID:/STRAWB~2/data/.cpanm/work/1433509677.21616/Prima-1.43\\include
-ID:/STRAWB~2/data/.cpanm/work/1433509677.21616/Prima-1.43\\include\\generic
which are directories used during Prima-1.43 build time and available during PDL-Drawing-Prima-0.10 build time

8/ So that is why I think there is something wrong with Prima::Config (it might be some interference with portable strawberry)

Of course it is my theory that might be wrong.

--
kmx

On 8.6.2015 17:29, sisyph...@optusnet.com.au wrote:

From: kmx
Sent: Monday, June 08, 2015 11:40 PM
To: pdl-devel@lists.sourceforge.net
Cc: Sisyphus
Subject: Re: [Pdl-devel] Unable to build PDL::Drawing::Prima on Windows

I see the same failure on strawberry perl portable. It is IMO something wrong with Prima::Config.

Then how did you get it to build ?

Try:
C:\anydir> perl -MPrima::Config -MData::Dumper -E "print Dumper \%Prima::Config::Config"

Sorry, I don't understand the relevance of that.

On my laptop there are directories that existed only during Prima build time e.g. 'inc' => '-ID:/STRAWB~2/data/.cpanm/work/1433509677.21616/Prima-1.43\\include -ID:/STRAWB~2/data/.cpanm/work/1433509677.21616/Prima-1.43\\include\\generic',

In my build directory, which gets cleaned up ('dmake realclean') after Prima is built for each perl, those directories persist though include/generic (where config.h is apparently being sought) is empty.

And it still beats me that there was no such issue last time I tried to build PDL-Drawing-Prima-0.10 against Prima-1.40. Maybe I made a mistake when I tried to reproduce that build tonight. I'll double-check tomorrow.

Cheers,
Rob








------------------------------------------------------------------------------


_______________________________________________
pdl-devel mailing list
pdl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-devel

------------------------------------------------------------------------------
_______________________________________________
pdl-devel mailing list
pdl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-devel

Reply via email to