Opened 12 years ago

Closed 12 years ago

#32486 closed defect (fixed)

objectmarker fails to build

Reported by: mail@… Owned by: phw@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc:
Port: opencv objectmarker

Description

[11:49:26] [uwe@ganymed ~]$ sudo port -v install objectmarker
Password:
--->  Computing dependencies for objectmarker.
--->  Building objectmarker
In file included from ObjectMarker.cpp:1:
In file included from /opt/local/include/opencv/cv.h:69:
In file included from /opt/local/include/opencv2/flann/flann.hpp:50:
In file included from /opt/local/include/opencv2/flann/flann_base.hpp:44:
In file included from /opt/local/include/opencv2/flann/all_indices.h:42:
/opt/local/include/opencv2/flann/lsh_index.h:89:81: error: no matching constructor for initialization of 'cvflann::LshIndexParams'
    LshIndex(const Matrix<ElementType>& input_data, const IndexParams& params = LshIndexParams(),
                                                                                ^
/opt/local/include/opencv2/flann/lsh_index.h:59:5: note: candidate constructor not viable: requires 3 arguments, but 0 were provided
    LshIndexParams(unsigned int table_number, unsigned int key_size, unsigned int multi_probe_level)
    ^
/opt/local/include/opencv2/flann/lsh_index.h:57:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
struct LshIndexParams : public IndexParams
       ^
ObjectMarker.cpp:26:19: warning: conversion from string literal to 'char *' is deprecated [-Wdeprecated-writable-strings]
char* window_name="<SPACE>add <ENTER>save and load next <ESC>exit";
                  ^
In file included from ObjectMarker.cpp:1:
In file included from /opt/local/include/opencv/cv.h:69:
In file included from /opt/local/include/opencv2/flann/flann.hpp:50:
In file included from /opt/local/include/opencv2/flann/flann_base.hpp:41:
In file included from /opt/local/include/opencv2/flann/params.h:33:
/opt/local/include/opencv2/flann/any.h:88:67: error: call to function 'operator<<' that is neither visible in the template definition nor found by argument-dependent lookup
    virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast<T const*>(*src); }
                                                                  ^
/opt/local/include/opencv2/flann/any.h:136:44: note: in instantiation of member function 'cdiggins::anyimpl::big_any_policy<cdiggins::anyimpl::empty_any>::print' requested here
    static typename choose_policy<T>::type policy;
                                           ^
/opt/local/include/opencv2/flann/any.h:159:18: note: in instantiation of function template specialization 'cdiggins::anyimpl::get_policy<cdiggins::anyimpl::empty_any>' requested here
        : policy(anyimpl::get_policy<anyimpl::empty_any>()), object(NULL)
                 ^
/opt/local/include/opencv2/flann/any.h:276:22: note: 'operator<<' should be declared prior to the call site or in namespace 'cdiggins::anyimpl'
inline std::ostream& operator <<(std::ostream& out, const any& any_val)
                     ^
1 warning and 2 errors generated.
shell command "/Developer/usr/bin/clang++ -arch x86_64 ObjectMarker.cpp `pkg-config --cflags opencv` -o objectmarker `pkg-config --libs opencv`" returned error 1
Error: Target org.macports.build returned: shell command failed (see log for details)
Warning: the following items did not execute (for objectmarker): org.macports.activate org.macports.build org.macports.destroot org.macports.install
Log for objectmarker is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_objectmarker/objectmarker/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

Change History (3)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to phw@…

Please clean and try again, then attach the complete main.log.

Since I see you are using clang, you should also try using a different compiler, and let us know whether that works.

comment:2 Changed 12 years ago by mail@…

Done the following:

  1. Used the App Store Xcode instead of the Beta (iOS 5.1) Xcode -> same problem
  2. Used a different compiler (sudo port install objectmarker configure.compiler=llvm-gcc-4.2) -> works

shouldn't the llvm-gcc-4.2 the standard compiler for this port?

comment:3 Changed 12 years ago by jmroot (Joshua Root)

Port: opencv added
Resolution: fixed
Status: newclosed

Seems to build OK against current opencv. The error was actually in the opencv headers.

Note: See TracTickets for help on using tickets.