Beefy Boxes and Bandwidth Generously Provided by pair Networks Cowboy Neal with Hat
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^4: EU::MM again.

by BrowserUk (Pope)
on Mar 25, 2009 at 23:05 UTC ( #753283=note: print w/ replies, xml ) Need Help??


in reply to Re^3: EU::MM again.
in thread EU::MM again.

Ah, that is handled ExtUtils::Liblist which is invoked by WriteMakefile() itself. It should Just Work.

No. It doesn't. I can't. There is no 64-bit version of Pg available, only the 32-bit version. Which means that the lib files distributed with it are all 32-bit.

I wish to use the 32-bit Pg from 64-bit Perl, so I had to build 64-bit versions of libpq.lib and libpq.dll. But I cannot just replace the 32-bit versions with the 64-bit versions, because if I build any 32-bit apps that need those libraries, I will need the 32-bit versions available. So, I've chosen to use the names libpq64.lib & libpq64.dll, so that both can coexist on my system.

So, please explain to me how (or rather, why you wrongly think that) "It should Just Work."? How could it possibly know to use files, that I've chosen the names for?

Right, so libpq is hardcoded into the LIBS key's value.

Look again. No it isn't. If it was, I wouldn't have had to post my question.

See: ["-L$POSTGRES_LIB -lpq -lm"]--libpq is NOT MENTIONED! -lpq is there (along with -lm, whatever that is?), but not libpq.

So, how can I conditionally interpolate something in its place instead, when it doesn't currently have a place for me to change?

But Dave "DrHyde" Cantrell would surely be happy to take on board any code you figure out, and place it in Devel::CheckOS for others to use.

I wouldn't use that steaming pile of O'Woe if you paid me to. Even if it was applicable, which it isn't. The problem of determining which of libpq.lib or libpq64.lib to use, has exactly nothing to do with OS you are running under.

The problem is determining which environment this compilation is targeting--x86, or x64. You can target either when running under Win32 or Win64. How you determine which is being targeted, at runtime from within the Makefile.pl is the (other) problem I was hoping to get help with.

I know for instance, that when syphilis was testing my version of Devel::Size on Win64, he had problems finding a suitable test for the target environment--and he has far more experience building for win64 than I do. I only just got my new system--hence the reason for asking here.

I was hoping that someone who has been through the problem would point me in the right direction, rather than just random guesses.

At this point, your replies have done exactly zero to assist me, but given their plausible and somewhat dismissive tone, have probably prevented others from actively considering the problems.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re^4: EU::MM again.
Select or Download Code
Reaped: Re^5: EU::MM again.
by NodeReaper (Curate) on Mar 26, 2009 at 10:22 UTC
Re^5: EU::MM again.
by grinder (Bishop) on Mar 26, 2009 at 22:25 UTC
    So, please explain to me how (or rather, why you wrongly think that) "It should Just Work."? How could it possibly know to use files, that I've chosen the names for?

    Because WriteMakefile() does the remapping internally, to cope with the vagaries of compiler and linker idiosyncracies. Had you read the documentation to which I linked, you wouldn't be asking this question.

    Right, so libpq is hardcoded into the LIBS key's value.
    Look again. No it isn't. If it was, I wouldn't have had to post my question.

    Okay, so I wrote libpq when I meant to say -lpq is, jeez, cut me some slack. Are you being deliberately obtuse? I thought it was obvious that you had to change that part with an interpolation of either -lpq or -lpq64 depending on the result of some platform test (of which I incorrectly assumed you were a past master).

    See: ["-L$POSTGRES_LIB -lpq -lm"]--libpq is NOT MENTIONED! -lpq is there (along with -lm, whatever that is?), but not libpq.

    And to think you were almost there.

    I was hoping that someone who has been through the problem would point me in the right direction, rather than just random guesses.

    There was nothing random, nor were they guesses, and I pointed you in precisely the correct direction. I know this stuff. I admit to being a bit light on specific details; I thought you would have been smart enough to fill in the blanks. You're not exactly a newbie, otherwise I would have filled in more blanks for you.

    At this point, your replies have done exactly zero to assist me, but given their plausible and somewhat dismissive tone, have probably prevented others from actively considering the problems.

    I'll keep that in mind next time.

    • another intruder with the mooring in the heart of the Perl

      so I wrote libpq when I meant to say -lpq is, jeez, cut me some slack. ... I know this stuff. I admit to being a bit light on specific details;

      The exact information I needed can be conveyed in two short sentences.

      Is my failure to derive that same insight from your two long posts, due to my inability to see through your mis-speaks; or the fact that you never actually answered the question?

      I'll keep that in mind next time.

      Sorry that you seem to be taking my purely factual statement as some personal slight.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://753283]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (18)
As of 2014-04-16 14:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (427 votes), past polls