>On February 19, 2008 12:22 PM, Jonathan Leffler <jonathan.leffler@gmail.com> wrote: >>On Feb 19, 2008 10:04 AM, Capacio, Paula J <PCAPACIO@amfam.com> wrote: >>I am getting the following error from make >>ld: Unrecognized argument: >>-Wl,+b/usr/oracle/client/10.2/lib:/usr/oracle/client/10.2/rdbms/lib >>Fatal error. >>*** Error exit code 1 >The '-Wl,+b...' notation is an instruction to the C compiler to pass the '+b...' >to the loader; the loader itself doesn't know how to deal with -Wl options. >We can debate whether this is a bug in DBD::Oracle or not - or a bug in the way >Perl was built on your machine. Since Perl mainly works OK and DBD::Oracle doesn't, >I'd be more inclined to say DBD::Oracle is at fault, but DBD::Informix (which I >know a lot better than DBD::Oracle) faces roughly similar issues and my >recommendation is to build Perl so it uses the C compiler to build shared objects >rather than using 'ld' (or /usr/bin/ld) directly. I'm reluctant to build Perl, primarily because there are already 20 other modules that I have already installed into this Perl. Secondly, if I can't build a Perl C module, what luck am I going to have building a whole language. >If you are in dire straights, you can hack Makefile to exclude the '-Wl,' >prefix from the arguments. That is not a satisfactory solution - you'd >need to repeat the process every time you need to rebuild the Makefile. I am and although I really don't understand the repeated rebuild of the Makefile, I was SUCCESSFUL! I received a reply from Rich Malafa (which incidentally included a cc to this list but has not shown up in the archives) that said to check Makefile.PL for: $m =~ s/LD_RUN_PATH=(\S+)\s+(\S+)/$2 -Wl,+b$1/; He said there should be no space between end of the +b and the $, that was the error in the original 1.19 version of DBD::Oracle for us HP folks. I found that line in the dynamic_lib subroutine in Makefile.PL and changed it to: $m =~ s/LD_RUN_PATH=(\S+)\s+(\S+)/$2 +b$1/; I then did a 'make realclean', followed by 'perl Makefile.PL', and ran 'make' and it worked. I proceeded to run 'make test' but it failed with the original error. That's when I realized that you were saying that the Makefile needed to be rebuilt between each make operation. So I did 'make realclean', 'perl Makefile.PL', then 'make test' and that worked, so I followed up with 'make realclean', 'perl Makefile.PL', 'make install'. I am now able to run perl scripts using DBD-Oracle connecting to remote databases. If you can point me to a resource or explain the need to rebuild the Makefile, that would be icing on the cake. Thanks Jonathan and Rich for providing the info needed. PaulaThread Previous | Thread Next