Closed B1GeasY closed 1 year ago
Sorry for the long long log. It seems that it got stucked in duplicating symbol '_gstr' and '_bswapflag'
I think I recall that Mac OS make
does not work. Try with e.g. homebrew make
instead, it might solve the issues.
Thanks a lot for your reply! However gmake is not helping. :( The error still shows:
duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitswrite.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitswrite.o) ld: 617 duplicate symbols for architecture x86_64 clang-12: error: linker command failed with exit code 1 (use -v to see invocation) gmake[3]: [Makefile:454: sex] Error 1 gmake[3]: Leaving directory '/Users/k/Documents/sextractor-2.19.5/src' gmake[2]: [Makefile:537: all-recursive] Error 1 gmake[2]: Leaving directory '/Users/k/Documents/sextractor-2.19.5/src' gmake[1]: [Makefile:442: all-recursive] Error 1 gmake[1]: Leaving directory '/Users/k/Documents/sextractor-2.19.5' gmake: [Makefile:350: all] Error 2
I have sextractor installed on my pc and it worked for now. But I don't think I solved this error. The clang error kept showing so I tried "make -t" and "make -e" for several times. Finally "sex" command worked in terminal but there is no "bin" and "src" folders in the prefix. So I copied these folders from others, put them into prefix and set the environment in .bash_profile. Now "sex" works on my pc though I don't know why.
Hi, I want to install sextractor on my Inter Mac(MacOS 10.15). The configure is perfect. But an error showed when I tried to make it and the installation crushed.
Below is the output:
(base) k:sextractor-2.19.5 k$ make /Library/Developer/CommandLineTools/usr/bin/make all-recursive Making all in man make[2]: Nothing to be done for
all'. Making all in src Making all in fits make[3]: Nothing to be done for
all'. Making all in levmar make[3]: Nothing to be done forall'. Making all in wcs make[3]: Nothing to be done for
all'. /bin/sh ../libtool --tag=CC --mode=link x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /Users/k/anaconda3/include -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,/Users/k/anaconda3/lib -L/Users/k/anaconda3/lib -o sex analyse.o assoc.o astrom.o back.o bpro.o catout.o check.o clean.o extract.o fft.o field.o filter.o fitswcs.o flag.o graph.o growth.o header.o image.o interpolate.o main.o makeit.o manobjlist.o misc.o neurro.o pattern.o pc.o photom.o plist.o prefs.o profit.o psf.o readimage.o refine.o retina.o scan.o som.o weight.o winpos.o xml.o ./fits/libfits.a ./wcs/libwcs_c.a ./levmar/liblevmar.a -L/usr/local/atlas/lib -llapack -lcblas -latlas -L/usr/local/fftw/lib -lfftw3f -lm libtool: link: x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /Users/k/anaconda3/include -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath -Wl,/Users/k/anaconda3/lib -o sex analyse.o assoc.o astrom.o back.o bpro.o catout.o check.o clean.o extract.o fft.o field.o filter.o fitswcs.o flag.o graph.o growth.o header.o image.o interpolate.o main.o makeit.o manobjlist.o misc.o neurro.o pattern.o pc.o photom.o plist.o prefs.o profit.o psf.o readimage.o refine.o retina.o scan.o som.o weight.o winpos.o xml.o -L/Users/k/anaconda3/lib ./fits/libfits.a ./wcs/libwcs_c.a ./levmar/liblevmar.a -L/usr/local/atlas/lib -llapack -lcblas -latlas -L/usr/local/fftw/lib /usr/local/fftw/lib/libfftw3f.a -lm duplicate symbol '_thecat' in: analyse.o assoc.o duplicate symbol '_prefs' in: analyse.o assoc.o duplicate symbol '_gstr' in: analyse.o assoc.o duplicate symbol '_flagobj' in: analyse.o assoc.o duplicate symbol '_stg' in: analyse.o assoc.o duplicate symbol '_ctg' in: analyse.o assoc.o duplicate symbol '_bswapflag' in: analyse.o assoc.o duplicate symbol '_flagobj2' in: analyse.o assoc.o duplicate symbol '_thewfield2' in: analyse.o assoc.o duplicate symbol '_thefield2' in: analyse.o assoc.o duplicate symbol '_thewfield1' in: analyse.o assoc.o duplicate symbol '_thefield1' in: analyse.o assoc.o duplicate symbol '_thecat' in: analyse.o astrom.o duplicate symbol '_prefs' in: analyse.o astrom.o duplicate symbol '_gstr' in: analyse.o astrom.o duplicate symbol '_flagobj' in: analyse.o astrom.o duplicate symbol '_stg' in: analyse.o astrom.o duplicate symbol '_ctg' in: analyse.o astrom.o duplicate symbol '_bswapflag' in: analyse.o astrom.o duplicate symbol '_flagobj2' in: analyse.o astrom.o duplicate symbol '_thewfield2' in: analyse.o astrom.o duplicate symbol '_thefield2' in: analyse.o astrom.o duplicate symbol '_thewfield1' in: analyse.o astrom.o duplicate symbol '_thefield1' in: analyse.o astrom.o duplicate symbol '_thecat' in: analyse.o back.o duplicate symbol '_prefs' in: analyse.o back.o duplicate symbol '_gstr' in: analyse.o back.o duplicate symbol '_flagobj' in: analyse.o back.o duplicate symbol '_stg' in: analyse.o back.o duplicate symbol '_ctg' in: analyse.o back.o duplicate symbol '_bswapflag' in: analyse.o back.o duplicate symbol '_flagobj2' in: analyse.o back.o duplicate symbol '_thewfield2' in: analyse.o back.o duplicate symbol '_thefield2' in: analyse.o back.o duplicate symbol '_thewfield1' in: analyse.o back.o duplicate symbol '_thefield1' in: analyse.o back.o duplicate symbol '_thecat' in: analyse.o bpro.o duplicate symbol '_gstr' in: analyse.o bpro.o duplicate symbol '_flagobj' in: analyse.o bpro.o duplicate symbol '_stg' in: analyse.o bpro.o duplicate symbol '_ctg' in: analyse.o bpro.o duplicate symbol '_bswapflag' in: analyse.o bpro.o duplicate symbol '_flagobj2' in: analyse.o bpro.o duplicate symbol '_thewfield2' in: analyse.o bpro.o duplicate symbol '_thefield2' in: analyse.o bpro.o duplicate symbol '_thewfield1' in: analyse.o bpro.o duplicate symbol '_thefield1' in: analyse.o bpro.o duplicate symbol '_thecat' in: analyse.o catout.o duplicate symbol '_prefs' in: analyse.o catout.o duplicate symbol '_gstr' in: analyse.o catout.o duplicate symbol '_flagobj' in: analyse.o catout.o duplicate symbol '_stg' in: analyse.o catout.o duplicate symbol '_ctg' in: analyse.o catout.o duplicate symbol '_bswapflag' in: analyse.o catout.o duplicate symbol '_flagobj2' in: analyse.o catout.o duplicate symbol '_thewfield2' in: analyse.o catout.o duplicate symbol '_thefield2' in: analyse.o catout.o duplicate symbol '_thewfield1' in: analyse.o catout.o duplicate symbol '_thefield1' in: analyse.o catout.o duplicate symbol '_thecat' in: analyse.o check.o duplicate symbol '_gstr' in: analyse.o check.o duplicate symbol '_flagobj' in: analyse.o check.o duplicate symbol '_stg' in: analyse.o check.o duplicate symbol '_ctg' in: analyse.o check.o duplicate symbol '_bswapflag' in: analyse.o check.o duplicate symbol '_flagobj2' in: analyse.o check.o duplicate symbol '_thewfield2' in: analyse.o check.o duplicate symbol '_thefield2' in: analyse.o check.o duplicate symbol '_thewfield1' in: analyse.o check.o duplicate symbol '_thefield1' in: analyse.o check.o duplicate symbol '_thecat' in: analyse.o clean.o duplicate symbol '_prefs' in: analyse.o clean.o duplicate symbol '_gstr' in: analyse.o clean.o duplicate symbol '_flagobj' in: analyse.o clean.o duplicate symbol '_stg' in: analyse.o clean.o duplicate symbol '_ctg' in: analyse.o clean.o duplicate symbol '_bswapflag' in: analyse.o clean.o duplicate symbol '_flagobj2' in: analyse.o clean.o duplicate symbol '_thewfield2' in: analyse.o clean.o duplicate symbol '_thefield2' in: analyse.o clean.o duplicate symbol '_thewfield1' in: analyse.o clean.o duplicate symbol '_thefield1' in: analyse.o clean.o duplicate symbol '_thecat' in: analyse.o extract.o duplicate symbol '_prefs' in: analyse.o extract.o duplicate symbol '_gstr' in: analyse.o extract.o duplicate symbol '_plistexist_var' in: analyse.o extract.o duplicate symbol '_plistoff_var' in: analyse.o extract.o duplicate symbol '_flagobj' in: analyse.o extract.o duplicate symbol '_plistexist_dthresh' in: analyse.o extract.o duplicate symbol '_plistoff_dthresh' in: analyse.o extract.o duplicate symbol '_stg' in: analyse.o extract.o duplicate symbol '_ctg' in: analyse.o extract.o duplicate symbol '_plistexist_wflag' in: analyse.o extract.o duplicate symbol '_plistoff_wflag' in: analyse.o extract.o duplicate symbol '_bswapflag' in: analyse.o extract.o duplicate symbol '_plistexist_flag' in: analyse.o extract.o duplicate symbol '_plistoff_flag' in: analyse.o extract.o duplicate symbol '_plistsize' in: analyse.o extract.o duplicate symbol '_plistexist_cdvalue' in: analyse.o extract.o duplicate symbol '_plistoff_cdvalue' in: analyse.o extract.o duplicate symbol '_plistexist_dvalue' in: analyse.o extract.o duplicate symbol '_plistoff_dvalue' in: analyse.o extract.o duplicate symbol '_plistexist_value' in: analyse.o extract.o duplicate symbol '_plistoff_value' in: analyse.o extract.o duplicate symbol '_flagobj2' in: analyse.o extract.o duplicate symbol '_thewfield2' in: analyse.o extract.o duplicate symbol '_thefield2' in: analyse.o extract.o duplicate symbol '_thewfield1' in: analyse.o extract.o duplicate symbol '_thefield1' in: analyse.o extract.o duplicate symbol '_thecat' in: analyse.o fft.o duplicate symbol '_prefs' in: analyse.o fft.o duplicate symbol '_gstr' in: analyse.o fft.o duplicate symbol '_flagobj' in: analyse.o fft.o duplicate symbol '_stg' in: analyse.o fft.o duplicate symbol '_ctg' in: analyse.o fft.o duplicate symbol '_bswapflag' in: analyse.o fft.o duplicate symbol '_flagobj2' in: analyse.o fft.o duplicate symbol '_thewfield2' in: analyse.o fft.o duplicate symbol '_thefield2' in: analyse.o fft.o duplicate symbol '_thewfield1' in: analyse.o fft.o duplicate symbol '_thefield1' in: analyse.o fft.o duplicate symbol '_thecat' in: analyse.o field.o duplicate symbol '_prefs' in: analyse.o field.o duplicate symbol '_gstr' in: analyse.o field.o duplicate symbol '_flagobj' in: analyse.o field.o duplicate symbol '_stg' in: analyse.o field.o duplicate symbol '_ctg' in: analyse.o field.o duplicate symbol '_bswapflag' in: analyse.o field.o duplicate symbol '_flagobj2' in: analyse.o field.o duplicate symbol '_thewfield2' in: analyse.o field.o duplicate symbol '_thefield2' in: analyse.o field.o duplicate symbol '_thewfield1' in: analyse.o field.o duplicate symbol '_thefield1' in: analyse.o field.o duplicate symbol '_gstr' in: analyse.o fitswcs.o duplicate symbol '_bswapflag' in: analyse.o fitswcs.o duplicate symbol '_thecat' in: analyse.o filter.o duplicate symbol '_prefs' in: analyse.o filter.o duplicate symbol '_gstr' in: analyse.o filter.o duplicate symbol '_thefilter' in: field.o filter.o duplicate symbol '_flagobj' in: analyse.o filter.o duplicate symbol '_stg' in: analyse.o filter.o duplicate symbol '_ctg' in: analyse.o filter.o duplicate symbol '_bswapflag' in: analyse.o filter.o duplicate symbol '_flagobj2' in: analyse.o filter.o duplicate symbol '_thewfield2' in: analyse.o filter.o duplicate symbol '_thefield2' in: analyse.o filter.o duplicate symbol '_thewfield1' in: analyse.o filter.o duplicate symbol '_thefield1' in: analyse.o filter.o duplicate symbol '_thecat' in: analyse.o flag.o duplicate symbol '_prefs' in: analyse.o flag.o duplicate symbol '_gstr' in: analyse.o flag.o duplicate symbol '_plistexist_var' in: analyse.o flag.o duplicate symbol '_plistoff_var' in: analyse.o flag.o duplicate symbol '_flagobj' in: analyse.o flag.o duplicate symbol '_plistexist_dthresh' in: analyse.o flag.o duplicate symbol '_plistoff_dthresh' in: analyse.o flag.o duplicate symbol '_stg' in: analyse.o flag.o duplicate symbol '_ctg' in: analyse.o flag.o duplicate symbol '_plistexist_wflag' in: analyse.o flag.o duplicate symbol '_plistoff_wflag' in: analyse.o flag.o duplicate symbol '_bswapflag' in: analyse.o flag.o duplicate symbol '_plistexist_flag' in: analyse.o flag.o duplicate symbol '_plistoff_flag' in: analyse.o flag.o duplicate symbol '_plistsize' in: analyse.o flag.o duplicate symbol '_plistexist_cdvalue' in: analyse.o flag.o duplicate symbol '_plistoff_cdvalue' in: analyse.o flag.o duplicate symbol '_plistexist_dvalue' in: analyse.o flag.o duplicate symbol '_plistoff_dvalue' in: analyse.o flag.o duplicate symbol '_plistexist_value' in: analyse.o flag.o duplicate symbol '_plistoff_value' in: analyse.o flag.o duplicate symbol '_flagobj2' in: analyse.o flag.o duplicate symbol '_thewfield2' in: analyse.o flag.o duplicate symbol '_thefield2' in: analyse.o flag.o duplicate symbol '_thewfield1' in: analyse.o flag.o duplicate symbol '_thefield1' in: analyse.o flag.o duplicate symbol '_thecat' in: analyse.o graph.o duplicate symbol '_gstr' in: analyse.o graph.o duplicate symbol '_flagobj' in: analyse.o graph.o duplicate symbol '_stg' in: analyse.o graph.o duplicate symbol '_ctg' in: analyse.o graph.o duplicate symbol '_bswapflag' in: analyse.o graph.o duplicate symbol '_flagobj2' in: analyse.o graph.o duplicate symbol '_thewfield2' in: analyse.o graph.o duplicate symbol '_thefield2' in: analyse.o graph.o duplicate symbol '_thewfield1' in: analyse.o graph.o duplicate symbol '_thefield1' in: analyse.o graph.o duplicate symbol '_thecat' in: analyse.o growth.o duplicate symbol '_prefs' in: analyse.o growth.o duplicate symbol '_gstr' in: analyse.o growth.o duplicate symbol '_flagobj' in: analyse.o growth.o duplicate symbol '_stg' in: analyse.o growth.o duplicate symbol '_ctg' in: analyse.o growth.o duplicate symbol '_bswapflag' in: analyse.o growth.o duplicate symbol '_flagobj2' in: analyse.o growth.o duplicate symbol '_thewfield2' in: analyse.o growth.o duplicate symbol '_thefield2' in: analyse.o growth.o duplicate symbol '_thewfield1' in: analyse.o growth.o duplicate symbol '_thefield1' in: analyse.o growth.o duplicate symbol '_thecat' in: analyse.o header.o duplicate symbol '_prefs' in: analyse.o header.o duplicate symbol '_gstr' in: analyse.o header.o duplicate symbol '_flagobj' in: analyse.o header.o duplicate symbol '_stg' in: analyse.o header.o duplicate symbol '_ctg' in: analyse.o header.o duplicate symbol '_bswapflag' in: analyse.o header.o duplicate symbol '_flagobj2' in: analyse.o header.o duplicate symbol '_thewfield2' in: analyse.o header.o duplicate symbol '_thefield2' in: analyse.o header.o duplicate symbol '_thewfield1' in: analyse.o header.o duplicate symbol '_thefield1' in: analyse.o header.o duplicate symbol '_thecat' in: analyse.o image.o duplicate symbol '_prefs' in: analyse.o image.o duplicate symbol '_gstr' in: analyse.o image.o duplicate symbol '_flagobj' in: analyse.o image.o duplicate symbol '_stg' in: analyse.o image.o duplicate symbol '_ctg' in: analyse.o image.o duplicate symbol '_bswapflag' in: analyse.o image.o duplicate symbol '_flagobj2' in: analyse.o image.o duplicate symbol '_thewfield2' in: analyse.o image.o duplicate symbol '_thefield2' in: analyse.o image.o duplicate symbol '_thewfield1' in: analyse.o image.o duplicate symbol '_thefield1' in: analyse.o image.o duplicate symbol '_thecat' in: analyse.o interpolate.o duplicate symbol '_gstr' in: analyse.o interpolate.o duplicate symbol '_flagobj' in: analyse.o interpolate.o duplicate symbol '_stg' in: analyse.o interpolate.o duplicate symbol '_ctg' in: analyse.o interpolate.o duplicate symbol '_bswapflag' in: analyse.o interpolate.o duplicate symbol '_flagobj2' in: analyse.o interpolate.o duplicate symbol '_thewfield2' in: analyse.o interpolate.o duplicate symbol '_thefield2' in: analyse.o interpolate.o duplicate symbol '_thewfield1' in: analyse.o interpolate.o duplicate symbol '_thefield1' in: analyse.o interpolate.o duplicate symbol '_thecat' in: analyse.o main.o duplicate symbol '_prefs' in: analyse.o main.o duplicate symbol '_gstr' in: analyse.o main.o duplicate symbol '_flagobj' in: analyse.o main.o duplicate symbol '_stg' in: analyse.o main.o duplicate symbol '_ctg' in: analyse.o main.o duplicate symbol '_bswapflag' in: analyse.o main.o duplicate symbol '_flagobj2' in: analyse.o main.o duplicate symbol '_thewfield2' in: analyse.o main.o duplicate symbol '_thefield2' in: analyse.o main.o duplicate symbol '_thewfield1' in: analyse.o main.o duplicate symbol '_thefield1' in: analyse.o main.o duplicate symbol '_thepsfit' in: analyse.o makeit.o duplicate symbol '_thedpsfit' in: analyse.o makeit.o duplicate symbol '_thecat' in: analyse.o makeit.o duplicate symbol '_prefs' in: analyse.o makeit.o duplicate symbol '_gstr' in: analyse.o makeit.o duplicate symbol '_thefilter' in: field.o makeit.o duplicate symbol '_thesom' in: analyse.o makeit.o duplicate symbol '_checkmask' in: analyse.o makeit.o duplicate symbol '_flagobj' in: analyse.o makeit.o duplicate symbol '_stg' in: analyse.o makeit.o duplicate symbol '_ctg' in: analyse.o makeit.o duplicate symbol '_bswapflag' in: analyse.o makeit.o duplicate symbol '_thepsf' in: analyse.o makeit.o duplicate symbol '_thedpsf' in: analyse.o makeit.o duplicate symbol '_psf' in: analyse.o makeit.o duplicate symbol '_flagobj2' in: analyse.o makeit.o duplicate symbol '_thewfield2' in: analyse.o makeit.o duplicate symbol '_thefield2' in: analyse.o makeit.o duplicate symbol '_thewfield1' in: analyse.o makeit.o duplicate symbol '_thefield1' in: analyse.o makeit.o duplicate symbol '_thecat' in: analyse.o manobjlist.o duplicate symbol '_gstr' in: analyse.o manobjlist.o duplicate symbol '_plistexist_var' in: analyse.o manobjlist.o duplicate symbol '_plistoff_var' in: analyse.o manobjlist.o duplicate symbol '_flagobj' in: analyse.o manobjlist.o duplicate symbol '_plistexist_dthresh' in: analyse.o manobjlist.o duplicate symbol '_plistoff_dthresh' in: analyse.o manobjlist.o duplicate symbol '_stg' in: analyse.o manobjlist.o duplicate symbol '_ctg' in: analyse.o manobjlist.o duplicate symbol '_plistexist_wflag' in: analyse.o manobjlist.o duplicate symbol '_plistoff_wflag' in: analyse.o manobjlist.o duplicate symbol '_bswapflag' in: analyse.o manobjlist.o duplicate symbol '_plistexist_flag' in: analyse.o manobjlist.o duplicate symbol '_plistoff_flag' in: analyse.o manobjlist.o duplicate symbol '_plistsize' in: analyse.o manobjlist.o duplicate symbol '_plistexist_cdvalue' in: analyse.o manobjlist.o duplicate symbol '_plistoff_cdvalue' in: analyse.o manobjlist.o duplicate symbol '_plistexist_dvalue' in: analyse.o manobjlist.o duplicate symbol '_plistoff_dvalue' in: analyse.o manobjlist.o duplicate symbol '_plistexist_value' in: analyse.o manobjlist.o duplicate symbol '_plistoff_value' in: analyse.o manobjlist.o duplicate symbol '_flagobj2' in: analyse.o manobjlist.o duplicate symbol '_thewfield2' in: analyse.o manobjlist.o duplicate symbol '_thefield2' in: analyse.o manobjlist.o duplicate symbol '_thewfield1' in: analyse.o manobjlist.o duplicate symbol '_thefield1' in: analyse.o manobjlist.o duplicate symbol '_thecat' in: analyse.o misc.o duplicate symbol '_gstr' in: analyse.o misc.o duplicate symbol '_flagobj' in: analyse.o misc.o duplicate symbol '_stg' in: analyse.o misc.o duplicate symbol '_ctg' in: analyse.o misc.o duplicate symbol '_bswapflag' in: analyse.o misc.o duplicate symbol '_flagobj2' in: analyse.o misc.o duplicate symbol '_thewfield2' in: analyse.o misc.o duplicate symbol '_thefield2' in: analyse.o misc.o duplicate symbol '_thewfield1' in: analyse.o misc.o duplicate symbol '_thefield1' in: analyse.o misc.o duplicate symbol '_thecat' in: analyse.o neurro.o duplicate symbol '_prefs' in: analyse.o neurro.o duplicate symbol '_gstr' in: analyse.o neurro.o duplicate symbol '_flagobj' in: analyse.o neurro.o duplicate symbol '_stg' in: analyse.o neurro.o duplicate symbol '_ctg' in: analyse.o neurro.o duplicate symbol '_bswapflag' in: analyse.o neurro.o duplicate symbol '_flagobj2' in: analyse.o neurro.o duplicate symbol '_thewfield2' in: analyse.o neurro.o duplicate symbol '_thefield2' in: analyse.o neurro.o duplicate symbol '_thewfield1' in: analyse.o neurro.o duplicate symbol '_thefield1' in: analyse.o neurro.o duplicate symbol '_thecat' in: analyse.o pattern.o duplicate symbol '_prefs' in: analyse.o pattern.o duplicate symbol '_gstr' in: analyse.o pattern.o duplicate symbol '_flagobj' in: analyse.o pattern.o duplicate symbol '_stg' in: analyse.o pattern.o duplicate symbol '_ctg' in: analyse.o pattern.o duplicate symbol '_bswapflag' in: analyse.o pattern.o duplicate symbol '_flagobj2' in: analyse.o pattern.o duplicate symbol '_thewfield2' in: analyse.o pattern.o duplicate symbol '_thefield2' in: analyse.o pattern.o duplicate symbol '_thewfield1' in: analyse.o pattern.o duplicate symbol '_thefield1' in: analyse.o pattern.o duplicate symbol '_thepsfit' in: analyse.o pc.o duplicate symbol '_thedpsfit' in: analyse.o pc.o duplicate symbol '_thecat' in: analyse.o pc.o duplicate symbol '_prefs' in: analyse.o pc.o duplicate symbol '_gstr' in: analyse.o pc.o duplicate symbol '_checkmask' in: analyse.o pc.o duplicate symbol '_flagobj' in: analyse.o pc.o duplicate symbol '_stg' in: analyse.o pc.o duplicate symbol '_ctg' in: analyse.o pc.o duplicate symbol '_bswapflag' in: analyse.o pc.o duplicate symbol '_thepsf' in: analyse.o pc.o duplicate symbol '_thedpsf' in: analyse.o pc.o duplicate symbol '_psf' in: analyse.o pc.o duplicate symbol '_flagobj2' in: analyse.o pc.o duplicate symbol '_thewfield2' in: analyse.o pc.o duplicate symbol '_thefield2' in: analyse.o pc.o duplicate symbol '_thewfield1' in: analyse.o pc.o duplicate symbol '_thefield1' in: analyse.o pc.o duplicate symbol '_thecat' in: analyse.o photom.o duplicate symbol '_prefs' in: analyse.o photom.o duplicate symbol '_gstr' in: analyse.o photom.o duplicate symbol '_plistexist_var' in: analyse.o photom.o duplicate symbol '_plistoff_var' in: analyse.o photom.o duplicate symbol '_flagobj' in: analyse.o photom.o duplicate symbol '_plistexist_dthresh' in: analyse.o photom.o duplicate symbol '_plistoff_dthresh' in: analyse.o photom.o duplicate symbol '_stg' in: analyse.o photom.o duplicate symbol '_ctg' in: analyse.o photom.o duplicate symbol '_plistexist_wflag' in: analyse.o photom.o duplicate symbol '_plistoff_wflag' in: analyse.o photom.o duplicate symbol '_bswapflag' in: analyse.o photom.o duplicate symbol '_plistexist_flag' in: analyse.o photom.o duplicate symbol '_plistoff_flag' in: analyse.o photom.o duplicate symbol '_plistsize' in: analyse.o photom.o duplicate symbol '_plistexist_cdvalue' in: analyse.o photom.o duplicate symbol '_plistoff_cdvalue' in: analyse.o photom.o duplicate symbol '_plistexist_dvalue' in: analyse.o photom.o duplicate symbol '_plistoff_dvalue' in: analyse.o photom.o duplicate symbol '_plistexist_value' in: analyse.o photom.o duplicate symbol '_plistoff_value' in: analyse.o photom.o duplicate symbol '_flagobj2' in: analyse.o photom.o duplicate symbol '_thewfield2' in: analyse.o photom.o duplicate symbol '_thefield2' in: analyse.o photom.o duplicate symbol '_thewfield1' in: analyse.o photom.o duplicate symbol '_thefield1' in: analyse.o photom.o duplicate symbol '_thecat' in: analyse.o plist.o duplicate symbol '_prefs' in: analyse.o plist.o duplicate symbol '_gstr' in: analyse.o plist.o duplicate symbol '_plistexist_var' in: analyse.o plist.o duplicate symbol '_plistoff_var' in: analyse.o plist.o duplicate symbol '_flagobj' in: analyse.o plist.o duplicate symbol '_plistexist_dthresh' in: analyse.o plist.o duplicate symbol '_plistoff_dthresh' in: analyse.o plist.o duplicate symbol '_stg' in: analyse.o plist.o duplicate symbol '_ctg' in: analyse.o plist.o duplicate symbol '_plistexist_wflag' in: analyse.o plist.o duplicate symbol '_plistoff_wflag' in: analyse.o plist.o duplicate symbol '_bswapflag' in: analyse.o plist.o duplicate symbol '_plistexist_flag' in: analyse.o plist.o duplicate symbol '_plistoff_flag' in: analyse.o plist.o duplicate symbol '_plistsize' in: analyse.o plist.o duplicate symbol '_plistexist_cdvalue' in: analyse.o plist.o duplicate symbol '_plistoff_cdvalue' in: analyse.o plist.o duplicate symbol '_plistexist_dvalue' in: analyse.o plist.o duplicate symbol '_plistoff_dvalue' in: analyse.o plist.o duplicate symbol '_plistexist_value' in: analyse.o plist.o duplicate symbol '_plistoff_value' in: analyse.o plist.o duplicate symbol '_flagobj2' in: analyse.o plist.o duplicate symbol '_thewfield2' in: analyse.o plist.o duplicate symbol '_thefield2' in: analyse.o plist.o duplicate symbol '_thewfield1' in: analyse.o plist.o duplicate symbol '_thefield1' in: analyse.o plist.o duplicate symbol '_idummy' in: catout.o prefs.o duplicate symbol '_thecat' in: analyse.o prefs.o duplicate symbol '_prefs' in: analyse.o prefs.o duplicate symbol '_gstr' in: analyse.o prefs.o duplicate symbol '_flagobj' in: analyse.o prefs.o duplicate symbol '_stg' in: analyse.o prefs.o duplicate symbol '_ctg' in: analyse.o prefs.o duplicate symbol '_bswapflag' in: analyse.o prefs.o duplicate symbol '_flagobj2' in: analyse.o prefs.o duplicate symbol '_thewfield2' in: analyse.o prefs.o duplicate symbol '_thefield2' in: analyse.o prefs.o duplicate symbol '_thewfield1' in: analyse.o prefs.o duplicate symbol '_thefield1' in: analyse.o prefs.o duplicate symbol '_thepsfit' in: analyse.o profit.o duplicate symbol '_thedpsfit' in: analyse.o profit.o duplicate symbol '_thecat' in: analyse.o profit.o duplicate symbol '_prefs' in: analyse.o profit.o duplicate symbol '_gstr' in: analyse.o profit.o duplicate symbol '_checkmask' in: analyse.o profit.o duplicate symbol '_flagobj' in: analyse.o profit.o duplicate symbol '_stg' in: analyse.o profit.o duplicate symbol '_ctg' in: analyse.o profit.o duplicate symbol '_bswapflag' in: analyse.o profit.o duplicate symbol '_thepsf' in: analyse.o profit.o duplicate symbol '_thedpsf' in: analyse.o profit.o duplicate symbol '_psf' in: analyse.o profit.o duplicate symbol '_flagobj2' in: analyse.o profit.o duplicate symbol '_thewfield2' in: analyse.o profit.o duplicate symbol '_thefield2' in: analyse.o profit.o duplicate symbol '_thewfield1' in: analyse.o profit.o duplicate symbol '_thefield1' in: analyse.o profit.o duplicate symbol '_thepsfit' in: analyse.o psf.o duplicate symbol '_thedpsfit' in: analyse.o psf.o duplicate symbol '_thecat' in: analyse.o psf.o duplicate symbol '_prefs' in: analyse.o psf.o duplicate symbol '_gstr' in: analyse.o psf.o duplicate symbol '_thefilter' in: field.o psf.o duplicate symbol '_checkmask' in: analyse.o psf.o duplicate symbol '_flagobj' in: analyse.o psf.o duplicate symbol '_stg' in: analyse.o psf.o duplicate symbol '_ctg' in: analyse.o psf.o duplicate symbol '_bswapflag' in: analyse.o psf.o duplicate symbol '_thepsf' in: analyse.o psf.o duplicate symbol '_thedpsf' in: analyse.o psf.o duplicate symbol '_psf' in: analyse.o psf.o duplicate symbol '_flagobj2' in: analyse.o psf.o duplicate symbol '_thewfield2' in: analyse.o psf.o duplicate symbol '_thefield2' in: analyse.o psf.o duplicate symbol '_thewfield1' in: analyse.o psf.o duplicate symbol '_thefield1' in: analyse.o psf.o duplicate symbol '_thecat' in: analyse.o readimage.o duplicate symbol '_prefs' in: analyse.o readimage.o duplicate symbol '_gstr' in: analyse.o readimage.o duplicate symbol '_flagobj' in: analyse.o readimage.o duplicate symbol '_stg' in: analyse.o readimage.o duplicate symbol '_ctg' in: analyse.o readimage.o duplicate symbol '_bswapflag' in: analyse.o readimage.o duplicate symbol '_flagobj2' in: analyse.o readimage.o duplicate symbol '_thewfield2' in: analyse.o readimage.o duplicate symbol '_thefield2' in: analyse.o readimage.o duplicate symbol '_thewfield1' in: analyse.o readimage.o duplicate symbol '_thefield1' in: analyse.o readimage.o duplicate symbol '_thecat' in: analyse.o refine.o duplicate symbol '_prefs' in: analyse.o refine.o duplicate symbol '_gstr' in: analyse.o refine.o duplicate symbol '_plistexist_var' in: analyse.o refine.o duplicate symbol '_plistoff_var' in: analyse.o refine.o duplicate symbol '_dumscan' in: extract.o refine.o duplicate symbol '_flagobj' in: analyse.o refine.o duplicate symbol '_plistexist_dthresh' in: analyse.o refine.o duplicate symbol '_plistoff_dthresh' in: analyse.o refine.o duplicate symbol '_stg' in: analyse.o refine.o duplicate symbol '_ctg' in: analyse.o refine.o duplicate symbol '_plistexist_wflag' in: analyse.o refine.o duplicate symbol '_plistoff_wflag' in: analyse.o refine.o duplicate symbol '_bswapflag' in: analyse.o refine.o duplicate symbol '_plistexist_flag' in: analyse.o refine.o duplicate symbol '_plistoff_flag' in: analyse.o refine.o duplicate symbol '_plistsize' in: analyse.o refine.o duplicate symbol '_plistexist_cdvalue' in: analyse.o refine.o duplicate symbol '_plistoff_cdvalue' in: analyse.o refine.o duplicate symbol '_plistexist_dvalue' in: analyse.o refine.o duplicate symbol '_plistoff_dvalue' in: analyse.o refine.o duplicate symbol '_plistexist_value' in: analyse.o refine.o duplicate symbol '_plistoff_value' in: analyse.o refine.o duplicate symbol '_flagobj2' in: analyse.o refine.o duplicate symbol '_thewfield2' in: analyse.o refine.o duplicate symbol '_thefield2' in: analyse.o refine.o duplicate symbol '_thewfield1' in: analyse.o refine.o duplicate symbol '_thefield1' in: analyse.o refine.o duplicate symbol '_thecat' in: analyse.o retina.o duplicate symbol '_gstr' in: analyse.o retina.o duplicate symbol '_flagobj' in: analyse.o retina.o duplicate symbol '_stg' in: analyse.o retina.o duplicate symbol '_ctg' in: analyse.o retina.o duplicate symbol '_bswapflag' in: analyse.o retina.o duplicate symbol '_theretina' in: analyse.o retina.o duplicate symbol '_flagobj2' in: analyse.o retina.o duplicate symbol '_thewfield2' in: analyse.o retina.o duplicate symbol '_thefield2' in: analyse.o retina.o duplicate symbol '_thewfield1' in: analyse.o retina.o duplicate symbol '_thefield1' in: analyse.o retina.o duplicate symbol '_cleanobjlist' in: clean.o scan.o duplicate symbol '_thecat' in: analyse.o scan.o duplicate symbol '_prefs' in: analyse.o scan.o duplicate symbol '_gstr' in: analyse.o scan.o duplicate symbol '_thefilter' in: field.o scan.o duplicate symbol '_plistexist_var' in: analyse.o scan.o duplicate symbol '_plistoff_var' in: analyse.o scan.o duplicate symbol '_dumscan' in: extract.o scan.o duplicate symbol '_flagobj' in: analyse.o scan.o duplicate symbol '_plistexist_dthresh' in: analyse.o scan.o duplicate symbol '_plistoff_dthresh' in: analyse.o scan.o duplicate symbol '_stg' in: analyse.o scan.o duplicate symbol '_ctg' in: analyse.o scan.o duplicate symbol '_plistexist_wflag' in: analyse.o scan.o duplicate symbol '_plistoff_wflag' in: analyse.o scan.o duplicate symbol '_bswapflag' in: analyse.o scan.o duplicate symbol '_plistexist_flag' in: analyse.o scan.o duplicate symbol '_plistoff_flag' in: analyse.o scan.o duplicate symbol '_plistsize' in: analyse.o scan.o duplicate symbol '_plistexist_cdvalue' in: analyse.o scan.o duplicate symbol '_plistoff_cdvalue' in: analyse.o scan.o duplicate symbol '_plistexist_dvalue' in: analyse.o scan.o duplicate symbol '_plistoff_dvalue' in: analyse.o scan.o duplicate symbol '_plistexist_value' in: analyse.o scan.o duplicate symbol '_plistoff_value' in: analyse.o scan.o duplicate symbol '_flagobj2' in: analyse.o scan.o duplicate symbol '_thewfield2' in: analyse.o scan.o duplicate symbol '_thefield2' in: analyse.o scan.o duplicate symbol '_thewfield1' in: analyse.o scan.o duplicate symbol '_thefield1' in: analyse.o scan.o duplicate symbol '_thecat' in: analyse.o som.o duplicate symbol '_prefs' in: analyse.o som.o duplicate symbol '_gstr' in: analyse.o som.o duplicate symbol '_thesom' in: analyse.o som.o duplicate symbol '_flagobj' in: analyse.o som.o duplicate symbol '_stg' in: analyse.o som.o duplicate symbol '_ctg' in: analyse.o som.o duplicate symbol '_bswapflag' in: analyse.o som.o duplicate symbol '_flagobj2' in: analyse.o som.o duplicate symbol '_thewfield2' in: analyse.o som.o duplicate symbol '_thefield2' in: analyse.o som.o duplicate symbol '_thewfield1' in: analyse.o som.o duplicate symbol '_thefield1' in: analyse.o som.o duplicate symbol '_thecat' in: analyse.o weight.o duplicate symbol '_gstr' in: analyse.o weight.o duplicate symbol '_plistexist_var' in: analyse.o weight.o duplicate symbol '_plistoff_var' in: analyse.o weight.o duplicate symbol '_flagobj' in: analyse.o weight.o duplicate symbol '_plistexist_dthresh' in: analyse.o weight.o duplicate symbol '_plistoff_dthresh' in: analyse.o weight.o duplicate symbol '_stg' in: analyse.o weight.o duplicate symbol '_ctg' in: analyse.o weight.o duplicate symbol '_plistexist_wflag' in: analyse.o weight.o duplicate symbol '_plistoff_wflag' in: analyse.o weight.o duplicate symbol '_bswapflag' in: analyse.o weight.o duplicate symbol '_plistexist_flag' in: analyse.o weight.o duplicate symbol '_plistoff_flag' in: analyse.o weight.o duplicate symbol '_plistsize' in: analyse.o weight.o duplicate symbol '_plistexist_cdvalue' in: analyse.o weight.o duplicate symbol '_plistoff_cdvalue' in: analyse.o weight.o duplicate symbol '_plistexist_dvalue' in: analyse.o weight.o duplicate symbol '_plistoff_dvalue' in: analyse.o weight.o duplicate symbol '_plistexist_value' in: analyse.o weight.o duplicate symbol '_plistoff_value' in: analyse.o weight.o duplicate symbol '_flagobj2' in: analyse.o weight.o duplicate symbol '_thewfield2' in: analyse.o weight.o duplicate symbol '_thefield2' in: analyse.o weight.o duplicate symbol '_thewfield1' in: analyse.o weight.o duplicate symbol '_thefield1' in: analyse.o weight.o duplicate symbol '_thecat' in: analyse.o winpos.o duplicate symbol '_prefs' in: analyse.o winpos.o duplicate symbol '_gstr' in: analyse.o winpos.o duplicate symbol '_flagobj' in: analyse.o winpos.o duplicate symbol '_stg' in: analyse.o winpos.o duplicate symbol '_ctg' in: analyse.o winpos.o duplicate symbol '_bswapflag' in: analyse.o winpos.o duplicate symbol '_flagobj2' in: analyse.o winpos.o duplicate symbol '_thewfield2' in: analyse.o winpos.o duplicate symbol '_thefield2' in: analyse.o winpos.o duplicate symbol '_thewfield1' in: analyse.o winpos.o duplicate symbol '_thefield1' in: analyse.o winpos.o duplicate symbol '_thecat' in: analyse.o xml.o duplicate symbol '_prefs' in: analyse.o xml.o duplicate symbol '_gstr' in: analyse.o xml.o duplicate symbol '_flagobj' in: analyse.o xml.o duplicate symbol '_stg' in: analyse.o xml.o duplicate symbol '_ctg' in: analyse.o xml.o duplicate symbol '_bswapflag' in: analyse.o xml.o duplicate symbol '_flagobj2' in: analyse.o xml.o duplicate symbol '_thewfield2' in: analyse.o xml.o duplicate symbol '_thefield2' in: analyse.o xml.o duplicate symbol '_thewfield1' in: analyse.o xml.o duplicate symbol '_thefield1' in: analyse.o xml.o duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitsbody.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitsbody.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitscat.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitscat.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitscheck.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitscheck.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitscleanup.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitscleanup.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitsconv.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitsconv.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitshead.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitshead.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitskey.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitskey.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitsmisc.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitsmisc.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitsread.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitsread.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitstab.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitstab.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitsutil.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitsutil.o) duplicate symbol '_gstr' in: analyse.o ./fits/libfits.a(fitswrite.o) duplicate symbol '_bswapflag' in: analyse.o ./fits/libfits.a(fitswrite.o) ld: 617 duplicate symbols for architecture x86_64 clang-12: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: [sex] Error 1 make[2]: [all-recursive] Error 1 make[1]: [all-recursive] Error 1 make: [all] Error 2I want to know how to fix it. Thanks in advance!