Bill-Gray / find_orb

Orbit determination from observations
https://www.projectpluto.com/find_orb.htm
GNU General Public License v2.0
98 stars 45 forks source link

Unable to compile on Debian 10 (Buster) #25

Closed decadenza closed 1 year ago

decadenza commented 4 years ago

I've followed all the procedure here. Although I had some uncertainties in finding the equivalent package on Debian for "ncurses-devel" and "libcurl-devel".

All compiled fine and I am able to launch: ~/find_orb/lunar/jd.

But when compiling 'find_orb' and 'fo' as:

cd ~/find_orb/find_orb
make

I always end up with:

g++ -c -O3 -Wall -pedantic -Wextra -I ~/include orb_func.cpp
orb_func.cpp: In function ‘void light_bending(const double*, double*)’:
orb_func.cpp:724:18: error: ‘dot_product’ was not declared in this scope
    phi1 = acose( dot_product( result, observer) / (rlen * olen));
                  ^~~~~~~~~~~
orb_func.cpp: In function ‘int get_sr_orbits(double*, observe*, unsigned int, unsigned int, unsigned int, double, double)’:
orb_func.cpp:1672:4: error: ‘INTENTIONALLY_UNUSED_PARAMETER’ was not declared in this scope
    INTENTIONALLY_UNUSED_PARAMETER( noise_in_sigmas);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
orb_func.cpp: In function ‘double dotted_dist(observe*)’:
orb_func.cpp:2374:12: error: ‘dot_product’ was not declared in this scope
    return( dot_product( obs->vect, obs->obj_posn) - dot_product( obs->vect, obs->obs_posn));
            ^~~~~~~~~~~
orb_func.cpp: In function ‘double score_orbit_arc(const observe*, unsigned int)’:
orb_func.cpp:3428:26: error: ‘dot_product’ was not declared in this scope
       const double dot = dot_product( xprod, obs[i].vect);
                          ^~~~~~~~~~~
orb_func.cpp: In function ‘void look_for_best_subarc(const observe*, int, double, int*, int*)’:
orb_func.cpp:3471:22: error: ‘dot_product’ was not declared in this scope
                   && dot_product( obs[i].vect, obs[j + 1].vect) > cos_45_deg)
                      ^~~~~~~~~~~
make: *** [makefile:197: orb_func.o] Error 1

Any advice?

Bill-Gray commented 4 years ago

(Groan) Thanks for mentioning this. I messed up here. If you go to the 'lunar' directory, and do a 'git pull', you'll see that a few files have changed. One of them provides the missing dot_product() function. (Which I'd written recently, made use of in Find_Orb, but hadn't pushed the change to the lunar repository until just now.) So if you then do make and make install, that function will be compiled and the lunar library updated to contain it. You should then be able to go back to the find_orb directory, run make, and have everything compile correctly... please let me know if you're still seeing trouble.