By resolving this problem, I have the following observations,
- GnuCash may still fail to retrieve price quotes even if GnuCash's
gnc-fq-check
program reports no problem. - GnuCash's
gnc-fq-update
program is designed to install theFinance::Quote
Perl module; however, it may not install all dependencies that the GnuCash's Price Editor functionality requires. - GnuCash's
gnc-fq-helper
program can provide additional diagnostic information, such as, missing dependent Perl modules.
-
To install the
Finance::Quote
Perl module, we run GnuCash'sgnc-fq-update
program as the System Administrator, e.g.,
C:\Program Files (x86)\gnucash\bin>perl gnc-fq-update
-
To verify that the
Finance:Quote
Perl module is successfully installed and we can retrieve price quotes online, we run GnuCash'sgnc-fq-check
, e.g.,
C:\Program Files (x86)\gnucash\bin>perl gnc-fq-check ("1.38" "tdefunds" "adig" "bet" "sixshares" "nz" "unionfunds" "romania" "cominvest" "dwsfunds" "asegr" "tiaacref" "seb_funds" "cse" "nasdaq" "goldmoney" "bamosz" "tsp" "yahoo_json" "hungary" "fidelityfixed" "bourso" "yahoo_nz" "usfedbonds" "yahoo_europe" "ftportfolios_direct" "platinum" "hustock" "bse" "bsero" "ukfunds" "aex" "vanguard" "dutch" "tdwaterhouse" "yahoo_brasil" "maninv" "trustnet" "uk_unit_trusts" "yahoo_australia" "morningstarjp" "brasil" "known_currencies" "canadamutual" "deka" "finanzpartner" "fool" "bmonesbittburns" "ftfunds" "yahoo_yql" "finland" "europe" "za_unittrusts" "nzx" "morningstar" "fidelity_direct" "asx" "za" "troweprice_direct" "greece" "lerevenu" "hu" "tsx" "sixfunds" "fetch_live_currencies" "troweprice" "indiamutual" "hufund" "yahoo" "australia" "asia" "usa" "aiahk" "stockhousecanada_fund" "fidelity" "ftportfolios" "vwd" "france" "mstaruk" "canada" "financecanada" "fundlibrary" "tnetuk" "nyse" "yahoo_asia" "citywire" "hex" "amfiindia")
Since
gnc-fq-check
does not complain that there might be a problem, we would assume that the GnuCash's Price Eiditor functionality should work. In particular, the GnuCash's Online Quotes wiki page does not appear to suggest anything else may have to be performed. However, I encountered the error that "There was a system error while retrieving the price quotes".Following the GnuCash's Tracefile wiki page, I initially attempted to observe what may have been wrong by examining GnuCash trace files. However, the trace files did not appear to reveal anything useful to me. Finally, a web search yielded a clue that we might be able to find out more using GnuCash's
gnc-fq-helper
program. Below is what I found out by attempting to retrieve the ticket CSCO's price quote from Yahoo,
C:\Program Files (x86)\gnucash\bin>echo (yahoo "CSCO") | perl gnc-fq-helper
Can't locate Date/Manip.pm in @INC (you may need to install the Date::Manip module) (@INC contains: C:/Strawberry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/lib .) at gnc-fq-helper line 33.
BEGIN failed--compilation aborted at gnc-fq-helper line 33.
that clearly indicated that the
Date::Manip
Perl module was missing. Then the fix is to install the Perl module, e.g., invoking Perl shell as the System Administrator as follows,
C:\Program Files (x86)\gnucash\bin>perl -MCPAN -e shell
cpan> install Date::Manip
Now let us run the
gnc-fq-helper
and attempt to retrieve the ticket CSCO's price quote from Yahoo again. The gnc-fq-helper
stopped complaining and successfully retrieved the price quote.
C:\Program Files (x86)\gnucash\bin>echo (yahoo "CSCO") | perl gnc-fq-helper
WARNING: the TZ Date::Manip config variable is deprecated
and will be removed in March 2016. Please use
the SetDate or ForceDate config variables instead.
(("CSCO" (symbol . "CSCO") (gnc:time-no-zone . "2015-09-09 16:00:00") (last . 25.94) (currency . "USD")))
This experience is actually another time that the
gnc-fq-helper
program saves the day. In the past, I encountered a similar problem, but with a different error message.
Thanks for the helpful post. I am having the same issue with Date::Manip not getting installed correctly. I tried following the steps above, but get an error towards the end of the "install Date:Manip" routine. The error reads:
ReplyDeletedmake.exe: Error: -- 'Manip::TZ::afalgi00=>{' not found, and can't be made.
In essence, I cannot install the package correctly. Any suggestions?
Thanks for the helpful post. I am having the same issue with Date::Manip not getting installed correctly. I tried following the steps above, but get an error towards the end of the "install Date:Manip" routine. The error reads:
ReplyDeletedmake.exe: Error: -- 'Manip::TZ::afalgi00=>{' not found, and can't be made.
In essence, I cannot install the package correctly. Any suggestions?
That is strange. What if you try the following from the command line?
Deleteperl -MCPAN -e "install 'SBECK/Date-Manip-6.54.tar.gz'"
Thanks Gary,
DeleteI googled around and found others with similar problems. In essence, I ended up installing version 6.44 and that worked. More info here:
http://stackoverflow.com/questions/24252166/datemanip-not-installing
Gray, you are my hero!
ReplyDelete