Closed giovariot closed 2 years ago
Please ensure libssh formula is linked first.
brew link libssh
If that won't work then you might have to specify the location of libssh by yourself, as we do in exiv2 formula.
Thanks for the very fast reply.
It had already been linked
Warning: Already linked: /usr/local/Cellar/libssh/0.9.6
I tried relinking it but it didn't solve the problem.
If that won't work then you might have to specify the location of libssh by yourself, as we do in exiv2 formula.
Can you explain where and how I could add the same option from the formula? Are you referring to this line from the exiv2.rb
file?
-DSSH_INCLUDE_DIR=#{Formula["libssh"].opt_include}
If so how should I replace the #{Formula["libssh"].opt_include}
with a proper path?
Where should I add the option?
Thanks in advance (and sorry, both for the bad English and for being a noob 😄)
If so how should I replace the
#{Formula["libssh"].opt_include}
with a proper path?
/usr/local/opt/libssh/include
If so how should I replace the
#{Formula["libssh"].opt_include}
with a proper path?
/usr/local/opt/libssh/include
Thanks a lot.
Sorry to bother again: where should I put this path? I tried running cmake -DSSH_INCLUDE_DIR=/usr/local/opt/libssh/include .
but this is what I get:
CMake Warning:
Manually-specified variables were not used by the project:
SSH_INCLUDE_DIR
A new update, and sorry if I keep asking here but currently this is the best place I can ask on. I ended up directly adding to the include files and libraries folders paths to gcc as make doesn't seem to be able to find them on its own.
export C_INCLUDE_PATH=/usr/local/opt/libssh/include:/usr/local/opt/libomp/include:/usr/local/include
export CPLUS_INCLUDE_PATH=/usr/local/opt/libssh/include:/usr/local/opt/libomp/include:/usr/local/include
export LIBRARY_PATH=/usr/local/opt/libtiff/lib
This way it now compiles all the way to 45% printing out an error with this output in the end:
Consolidate compiler generated dependencies of target rtengine
[ 44%] Built target rtengine
Consolidate compiler generated dependencies of target rth-cli
[ 45%] Linking CXX executable ART-cli
Undefined symbols for architecture x86_64:
"___kmpc_barrier", referenced from:
_.omp_outlined. in librtengine.a(imagefloat.cc.o)
_.omp_outlined..6 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..7 in librtengine.a(imagefloat.cc.o)
_.omp_outlined. in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..30 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..37 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..42 in librtengine.a(rawimagesource.cc.o)
...
"___kmpc_critical", referenced from:
_.omp_outlined..5 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..7 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..30 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..32 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..38 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..39 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..40 in librtengine.a(rawimagesource.cc.o)
...
"___kmpc_dispatch_init_4", referenced from:
_.omp_outlined..6 in librtengine.a(dcp.cc.o)
_.omp_outlined..4 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..6 in librtengine.a(imagefloat.cc.o)
_.omp_outlined. in librtengine.a(rtlensfun.cc.o)
_.omp_outlined..1 in librtengine.a(rtlensfun.cc.o)
_.omp_outlined. in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..31 in librtengine.a(rawimagesource.cc.o)
...
"___kmpc_dispatch_init_8", referenced from:
_.omp_outlined. in librtengine.a(cfa_linedn_RT.cc.o)
_.omp_outlined. in librtengine.a(ahd_demosaic_RT.cc.o)
_.omp_outlined. in librtengine.a(rcd_demosaic.cc.o)
_.omp_outlined..2 in librtengine.a(CA_correct_RT.cc.o)
_.omp_outlined. in librtengine.a(amaze_demosaic_RT.cc.o)
_.omp_outlined..3 in librtengine.a(xtrans_demosaic.cc.o)
_.omp_outlined..8 in librtengine.a(FTblockDN.cc.o)
...
"___kmpc_dispatch_init_8u", referenced from:
_.omp_outlined..10 in librtengine.a(tmo_fattal02.cc.o)
_.omp_outlined..13 in librtengine.a(tmo_fattal02.cc.o)
_.omp_outlined..1018 in librtengine.a(dcraw.cc.o)
"___kmpc_dispatch_next_4", referenced from:
_.omp_outlined..6 in librtengine.a(dcp.cc.o)
_.omp_outlined..4 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..6 in librtengine.a(imagefloat.cc.o)
_.omp_outlined. in librtengine.a(rtlensfun.cc.o)
_.omp_outlined..1 in librtengine.a(rtlensfun.cc.o)
_.omp_outlined. in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..31 in librtengine.a(rawimagesource.cc.o)
...
"___kmpc_dispatch_next_8", referenced from:
_.omp_outlined. in librtengine.a(cfa_linedn_RT.cc.o)
_.omp_outlined. in librtengine.a(ahd_demosaic_RT.cc.o)
_.omp_outlined. in librtengine.a(rcd_demosaic.cc.o)
_.omp_outlined..2 in librtengine.a(CA_correct_RT.cc.o)
_.omp_outlined. in librtengine.a(amaze_demosaic_RT.cc.o)
_.omp_outlined..3 in librtengine.a(xtrans_demosaic.cc.o)
_.omp_outlined..8 in librtengine.a(FTblockDN.cc.o)
...
"___kmpc_dispatch_next_8u", referenced from:
_.omp_outlined..10 in librtengine.a(tmo_fattal02.cc.o)
_.omp_outlined..13 in librtengine.a(tmo_fattal02.cc.o)
_.omp_outlined..1018 in librtengine.a(dcraw.cc.o)
"___kmpc_end_critical", referenced from:
_.omp_outlined..5 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..7 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..30 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..32 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..38 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..39 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..40 in librtengine.a(rawimagesource.cc.o)
...
"___kmpc_end_reduce", referenced from:
_.omp_outlined. in librtengine.a(PF_correct_RT.cc.o)
"___kmpc_end_reduce_nowait", referenced from:
_.omp_outlined..70 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined. in librtengine.a(rt_algo.cc.o)
_.omp_outlined. in librtengine.a(green_equil_RT.cc.o)
_.omp_outlined. in librtengine.a(hilite_recon.cc.o)
_.omp_outlined..4 in librtengine.a(hilite_recon.cc.o)
_.omp_outlined..7 in librtengine.a(hilite_recon.cc.o)
_.omp_outlined..16 in librtengine.a(filmnegativeproc.cc.o)
...
"___kmpc_end_serialized_parallel", referenced from:
rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) in librtengine.a(init.cc.o)
rtengine::Imagefloat::multiply(float, bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::setMode(rtengine::Imagefloat::Mode, bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::rgb_to_xyz(bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::rgb_to_yuv(bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::rgb_to_lab(bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::xyz_to_rgb(bool) in librtengine.a(imagefloat.cc.o)
...
"___kmpc_end_single", referenced from:
_.omp_outlined..37 in librtengine.a(rawimagesource.cc.o)
void (anonymous namespace)::gaussianBlurImpl<float>(float**, float**, int, int, double, float*, eGaussType, float**) in librtengine.a(gauss.cc.o)
void rtengine::boxblur<float, float>(float**, float**, float*, int, int, int, int) in librtengine.a(gauss.cc.o)
void (anonymous namespace)::gaussVertical3<float>(float**, float**, int, int, float, float) in librtengine.a(gauss.cc.o)
void (anonymous namespace)::gaussHorizontalSse<float>(float**, float**, int, int, float) in librtengine.a(gauss.cc.o)
void (anonymous namespace)::gaussVerticalSsemult<float>(float**, float**, int, int, float) in librtengine.a(gauss.cc.o)
void (anonymous namespace)::gaussVerticalSsediv<float>(float**, float**, float**, int, int, float) in librtengine.a(gauss.cc.o)
...
"___kmpc_for_static_fini", referenced from:
_.omp_outlined. in librtengine.a(simpleprocess.cc.o)
_.omp_outlined. in librtengine.a(init.cc.o)
_.omp_outlined. in librtengine.a(dcp.cc.o)
_.omp_outlined. in librtengine.a(imagefloat.cc.o)
_.omp_outlined..2 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..3 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..5 in librtengine.a(imagefloat.cc.o)
...
"___kmpc_for_static_init_4", referenced from:
_.omp_outlined. in librtengine.a(simpleprocess.cc.o)
_.omp_outlined. in librtengine.a(init.cc.o)
_.omp_outlined. in librtengine.a(dcp.cc.o)
_.omp_outlined. in librtengine.a(imagefloat.cc.o)
_.omp_outlined..2 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..3 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..5 in librtengine.a(imagefloat.cc.o)
...
"___kmpc_for_static_init_4u", referenced from:
_.omp_outlined..7 in librtengine.a(rawimagesource.cc.o)
void (anonymous namespace)::gaussVertical<float>(float**, float**, int, int, double) in librtengine.a(gauss.cc.o)
_.omp_outlined. in librtengine.a(gainmap.cc.o)
"___kmpc_for_static_init_8u", referenced from:
_.omp_outlined. in librtengine.a(rt_algo.cc.o)
_.omp_outlined..1 in librtengine.a(rt_algo.cc.o)
_.omp_outlined..11 in librtengine.a(tmo_fattal02.cc.o)
_.omp_outlined..12 in librtengine.a(tmo_fattal02.cc.o)
_.omp_outlined..9 in librtengine.a(perspectivecorrection.cc.o)
_.omp_outlined. in librtengine.a(rawimage.cc.o)
_.omp_outlined..1 in librtengine.a(rawimage.cc.o)
...
"___kmpc_fork_call", referenced from:
rtengine::(anonymous namespace)::ImageProcessor::stage_finish(bool) in librtengine.a(simpleprocess.cc.o)
rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) in librtengine.a(init.cc.o)
rtengine::DCPProfile::apply(rtengine::Imagefloat*, int, Glib::ustring const&, rtengine::ColorTemp const&, std::__1::array<double, 3ul> const&, std::__1::array<std::__1::array<double, 3ul>, 3ul> const&, bool, bool) const in librtengine.a(dcp.cc.o)
rtengine::Imagefloat::getStdImage(rtengine::ColorTemp const&, int, rtengine::Imagefloat*, PreviewProps) const in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::to8() const in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::to16() const in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::multiply(float, bool) in librtengine.a(imagefloat.cc.o)
...
"___kmpc_global_thread_num", referenced from:
_.omp_outlined. in librtengine.a(simpleprocess.cc.o)
rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) in librtengine.a(init.cc.o)
_.omp_outlined. in librtengine.a(dcp.cc.o)
_.omp_outlined..6 in librtengine.a(dcp.cc.o)
_.omp_outlined. in librtengine.a(imagefloat.cc.o)
_.omp_outlined..2 in librtengine.a(imagefloat.cc.o)
_.omp_outlined..3 in librtengine.a(imagefloat.cc.o)
...
"___kmpc_push_num_threads", referenced from:
rtengine::RawImageSource::getRAWHistogram(LUT<unsigned int>&, LUT<unsigned int>&, LUT<unsigned int>&) in librtengine.a(rawimagesource.cc.o)
rtengine::ImProcFunctions::firstAnalysis(rtengine::Imagefloat const*, rtengine::procparams::ProcParams const&, LUT<unsigned int>&) in librtengine.a(improcfun.cc.o)
void rtengine::wavelet_level<float>::decompose_level<float>(float*, float*, float*, float*, int, int) in librtengine.a(ipdenoise.cc.o)
rtengine::findMinMaxPercentile(float const*, unsigned long, float, float&, float, float&, bool) in librtengine.a(rt_algo.cc.o)
void rtengine::wavelet_level<float>::decompose_level<float>(float*, float*, float*, float*, int, int) in librtengine.a(iplocalcontrast.cc.o)
rtengine::wavelet_level<float>::SynthesisFilterSubsampHorizontal(float*, float*, float*, float*, float*, int, int, int, int, int) in librtengine.a(iplocalcontrast.cc.o)
rtengine::wavelet_level<float>::SynthesisFilterSubsampVertical(float*, float*, float*, float (*) [4], float (*) [4], int, int, int, int, int, float) in librtengine.a(iplocalcontrast.cc.o)
...
"___kmpc_reduce", referenced from:
_.omp_outlined. in librtengine.a(PF_correct_RT.cc.o)
"___kmpc_reduce_nowait", referenced from:
_.omp_outlined..70 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined. in librtengine.a(rt_algo.cc.o)
_.omp_outlined. in librtengine.a(green_equil_RT.cc.o)
_.omp_outlined. in librtengine.a(hilite_recon.cc.o)
_.omp_outlined..4 in librtengine.a(hilite_recon.cc.o)
_.omp_outlined..7 in librtengine.a(hilite_recon.cc.o)
_.omp_outlined..16 in librtengine.a(filmnegativeproc.cc.o)
...
"___kmpc_serialized_parallel", referenced from:
rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) in librtengine.a(init.cc.o)
rtengine::Imagefloat::multiply(float, bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::setMode(rtengine::Imagefloat::Mode, bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::rgb_to_xyz(bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::rgb_to_yuv(bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::rgb_to_lab(bool) in librtengine.a(imagefloat.cc.o)
rtengine::Imagefloat::xyz_to_rgb(bool) in librtengine.a(imagefloat.cc.o)
...
"___kmpc_single", referenced from:
_.omp_outlined..37 in librtengine.a(rawimagesource.cc.o)
void (anonymous namespace)::gaussianBlurImpl<float>(float**, float**, int, int, double, float*, eGaussType, float**) in librtengine.a(gauss.cc.o)
void rtengine::boxblur<float, float>(float**, float**, float*, int, int, int, int) in librtengine.a(gauss.cc.o)
void (anonymous namespace)::gaussVertical3<float>(float**, float**, int, int, float, float) in librtengine.a(gauss.cc.o)
void (anonymous namespace)::gaussHorizontalSse<float>(float**, float**, int, int, float) in librtengine.a(gauss.cc.o)
void (anonymous namespace)::gaussVerticalSsemult<float>(float**, float**, int, int, float) in librtengine.a(gauss.cc.o)
void (anonymous namespace)::gaussVerticalSsediv<float>(float**, float**, float**, int, int, float) in librtengine.a(gauss.cc.o)
...
"_omp_get_max_threads", referenced from:
rtengine::RawImageSource::getRAWHistogram(LUT<unsigned int>&, LUT<unsigned int>&, LUT<unsigned int>&) in librtengine.a(rawimagesource.cc.o)
rtengine::ImProcFunctions::firstAnalysis(rtengine::Imagefloat const*, rtengine::procparams::ProcParams const&, LUT<unsigned int>&) in librtengine.a(improcfun.cc.o)
rtengine::findMinMaxPercentile(float const*, unsigned long, float, float&, float, float&, bool) in librtengine.a(rt_algo.cc.o)
rtengine::ImProcFunctions::dynamicRangeCompression(rtengine::Imagefloat*) in librtengine.a(tmo_fattal02.cc.o)
rtengine::denoise::RGB_denoise(rtengine::ImProcData&, int, rtengine::Imagefloat*, rtengine::Imagefloat*, rtengine::Imagefloat*, float*, float*, float*, bool, rtengine::procparams::DenoiseParams const&, double, rtengine::NoiseCurve const&, rtengine::NoiseCurve const&, float&, float&) in librtengine.a(FTblockDN.cc.o)
DCraw::lossless_dnglj92_load_raw() in librtengine.a(dcraw.cc.o)
"_omp_get_nested", referenced from:
rtengine::denoise::RGB_denoise(rtengine::ImProcData&, int, rtengine::Imagefloat*, rtengine::Imagefloat*, rtengine::Imagefloat*, float*, float*, float*, bool, rtengine::procparams::DenoiseParams const&, double, rtengine::NoiseCurve const&, rtengine::NoiseCurve const&, float&, float&) in librtengine.a(FTblockDN.cc.o)
"_omp_get_num_procs", referenced from:
Options::setDefaults() in options.cc.o
"_omp_get_num_threads", referenced from:
_.omp_outlined..42 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined. in librtengine.a(hphd_demosaic_RT.cc.o)
_.omp_outlined..2 in librtengine.a(hphd_demosaic_RT.cc.o)
"_omp_get_thread_num", referenced from:
_.omp_outlined..42 in librtengine.a(rawimagesource.cc.o)
_.omp_outlined..6 in librtengine.a(demosaic_algos.cc.o)
_.omp_outlined. in librtengine.a(hphd_demosaic_RT.cc.o)
_.omp_outlined..2 in librtengine.a(hphd_demosaic_RT.cc.o)
rtengine::denoise::detail_recovery(int, int, rtengine::LabImage*, rtengine::array2D<float>*, int, int, int, float**, float**, unsigned long, float, int, rtengine::array2D<float>&, rtengine::array2D<float>&, fftwf_plan_s**, fftwf_plan_s**, int, double, bool) in librtengine.a(FTblockDN.cc.o)
_.omp_outlined..3 in librtengine.a(FTblockDN.cc.o)
"_omp_set_nested", referenced from:
rtengine::denoise::RGB_denoise(rtengine::ImProcData&, int, rtengine::Imagefloat*, rtengine::Imagefloat*, rtengine::Imagefloat*, float*, float*, float*, bool, rtengine::procparams::DenoiseParams const&, double, rtengine::NoiseCurve const&, rtengine::NoiseCurve const&, float&, float&) in librtengine.a(FTblockDN.cc.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [rtgui/ART-cli] Error 1
make[1]: *** [rtgui/CMakeFiles/rth-cli.dir/all] Error 2
make: *** [all] Error 2
I have already seen this kind of "symbol(s) not found for architecture x86_64
" error in macOS, but don't really know how to overcome them. Has anyone any suggestion? Thanks a lot and sorry again for bother here
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
brew config
outputbrew doctor
outputbrew update
and am still able to reproduce my issue.brew doctor
and that did not fix my problem.What were you trying to do (and why)?
I downloaded ART latest release (1.9.3) source code from its project repository.
I subsequently ran the
cmake
command which successfully generated a makefile checking all the project dependencies, one of which is exiv2, which has successfully been configured showing the full brew Cellar path.I then ran make to start compiling the project but it stops after just a few seconds telling me exiv2 sources are referring to one of brew's
exiv2
dependencies librarieslibssh
, currently installed, and the compiler cannot find libssh header files.What happened (include all command output)?
➜ ART-1.9.3 cmake .
➜ ART-1.9.3 make
What did you expect to happen?
I would have expected the compiler to be able to locate the libssh headers, which are currently installed.
Step-by-step reproduction instructions (by running
brew
commands)