Opened 13 years ago

Closed 12 years ago

#31666 closed defect (fixed)

Sphinx compilation fails with clang

Reported by: ndebarnot (Nero) Owned by: brett@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc:
Port: sphinx

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Hi all,

I'm trying to install sphinx search on Mac OS X Lion.

> sudo port install sphinx

Compilation fails and I get the following error messages found in the log:

:info:build sphinxexpr.cpp:1013:11: error: use of undeclared identifier 'ExprEval'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^
:info:build                         this->
:info:build sphinxexpr.cpp:1318:38: note: in instantiation of member function 'Expr_IntervalConst_c<int>::IntEval' requested here
:info:build                         case SPH_ATTR_INTEGER:  return new Expr_IntervalConst_c<int> ( dArgs ); break;
:info:build                                                            ^
:info:build sphinxexpr.cpp:954:38: note: must qualify identifier to find this declaration in dependent base class
:info:build template<> int Expr_ArgVsSet_c<int>::ExprEval ( ISphExpr * pArg, const CSphMatch & tMatch ) const                       { return pArg->IntEval ( tMatch ); }
:info:build                                      ^
:info:build sphinxexpr.cpp:1013:11: error: /Developer/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I../config  -DSYSCONFDIR="\"/opt/local/etc/sphinx\"" -I/opt/local/include -I/usr/local/include -I/opt/local/include/mysql5/mysql -I/opt/local/include   -pipe -O2 -arch x86_64 -D_FILE_OFFSET_BITS=64 -DNDEBUG -MT search.o -MD -MP -MF .deps/search.Tpo -c -o search.o search.cpp
:info:build no member named 'ExprEval' in 'Expr_IntervalConst_c<long long>'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^~~~~~~~
:info:build sphinxexpr.cpp:1319:37: note: in instantiation of member function 'Expr_IntervalConst_c<long long>::IntEval' requested here
:info:build                         case SPH_ATTR_BIGINT:   return new Expr_IntervalConst_c<int64_t> ( dArgs ); break;
:info:build                                                            ^
:info:build sphinxexpr.cpp:1013:11: error: no member named 'ExprEval' in 'Expr_IntervalConst_c<float>'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^~~~~~~~
:info:build sphinxexpr.cpp:1320:27: note: in instantiation of member function 'Expr_IntervalConst_c<float>::IntEval' requested here
:info:build                         default:                                return new Expr_IntervalConst_c<float> ( dArgs ); break;
:info:build                                                                            ^
:info:build sphinxexpr.cpp:1047:11: error: use of undeclared identifier 'ExprEval'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^
:info:build                         this->
:info:build sphinxexpr.cpp:1326:38: note: in instantiation of member function 'Expr_Interval_c<int>::IntEval' requested here
:info:build                         case SPH_ATTR_INTEGER:  return new Expr_Interval_c<int> ( dArgs ); break;
:info:build                                                            ^
:info:build sphinxexpr.cpp:954:38: note: must qualify identifier to find this declaration in dependent base class
:info:build template<> int Expr_ArgVsSet_c<int>::ExprEval ( ISphExpr * pArg, const CSphMatch & tMatch ) const                       { return pArg->IntEval ( tMatch ); }
:info:build                                      ^
:info:build sphinxexpr.cpp:1047:11: error: no member named 'ExprEval' in 'Expr_Interval_c<long long>'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^~~~~~~~
:info:build sphinxexpr.cpp:1327:37: note: in instantiation of member function 'Expr_Interval_c<long long>::IntEval' requested here
:info:build                         case SPH_ATTR_BIGINT:   return new Expr_Interval_c<int64_t> ( dArgs ); break;
:info:build                                                            ^
:info:build sphinxexpr.cpp:1047:11: error: no member named 'ExprEval' in 'Expr_Interval_c<float>'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^~~~~~~~
:info:build sphinxexpr.cpp:1328:27: note: in instantiation of member function 'Expr_Interval_c<float>::IntEval' requested here
:info:build                         default:                                return new Expr_Interval_c<float> ( dArgs ); break;
:info:build                                                                            ^
:info:build sphinxexpr.cpp:1080:11: error: use of undeclared identifier 'ExprEval'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^
:info:build                         this->
:info:build sphinxexpr.cpp:1357:38: note: in instantiation of member function 'Expr_In_c<int>::IntEval' requested here
:info:build                         case SPH_ATTR_INTEGER:  return new Expr_In_c<int> ( pArg, pConst ); break;
:info:build                                                            ^
:info:build sphinxexpr.cpp:954:38: note: must qualify identifier to find this declaration in dependent base class
:info:build template<> int Expr_ArgVsSet_c<int>::ExprEval ( ISphExpr * pArg, const CSphMatch & tMatch ) const                       { return pArg->IntEval ( tMatch ); }
:info:build                                      ^
:info:build sphinxexpr.cpp:1080:11: error: no member named 'ExprEval' in 'Expr_In_c<long long>'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^~~~~~~~
:info:build sphinxexpr.cpp:1358:37: note: in instantiation of member function 'Expr_In_c<long long>::IntEval' requested here
:info:build                         case SPH_ATTR_BIGINT:   return new Expr_In_c<int64_t> ( pArg, pConst ); break;
:info:build                                                            ^
:info:build sphinxexpr.cpp:1080:11: error: no member named 'ExprEval' in 'Expr_In_c<float>'
:info:build                 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
:info:build                         ^~~~~~~~
:info:build sphinxexpr.cpp:1359:27: note: in instantiation of member function 'Expr_In_c<float>::IntEval' requested here
:info:build                         default:                                return new Expr_In_c<float> ( pArg, pConst ); break;
:info:build                                                                            ^
:info:build 9 errors generated.
:info:build make[2]: *** [sphinxexpr.o] Error 1
:info:build make[2]: *** Waiting for unfinished jobs....
:info:build indexer.cpp:613:2: warning: initialization of pointer of type 'CSphSource *' to NULL from a constant boolean expression [-Wbool-conversions]
:info:build         LOC_CHECK ( hSource, "xmlpipe_command", "in source '%s'.", sSourceName );
:info:build         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build indexer.cpp:380:10: note: instantiated from:
:info:build                 return false; \
:info:build                        ^~~~~
:info:build mv -f .deps/sphinxfilter.Tpo .deps/sphinxfilter.Po
:info:build mv -f .deps/sphinxutils.Tpo .deps/sphinxutils.Po
:info:build mv -f .deps/search.Tpo .deps/search.Po
:info:build 1 warning generated.
:info:build mv -f .deps/indexer.Tpo .deps/indexer.Po
:info:build mv -f .deps/searchd.Tpo .deps/searchd.Po
:info:build mv -f .deps/sphinxsort.Tpo .deps/sphinxsort.Po
:info:build 1 warning generated.
:info:build mv -f .deps/sphinx.Tpo .deps/sphinx.Po
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_sphinx/sphinx/work/sphinx-0.9.9/src'
:info:build make[1]: *** [all] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_sphinx/sphinx/work/sphinx-0.9.9/src'
:info:build make: *** [all-recursive] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_sphinx/sphinx/work/sphinx-0.9.9'
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_sphinx/sphinx/work/sphinx-0.9.9" && /usr/bin/make -j8 -w all " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for sphinx): org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Log for sphinx is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_sphinx/sphinx/main.log

Change History (4)

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

Description: modified (diff)
Owner: changed from macports-tickets@… to brett@…
Port: sphinx added

You could try building sphinx with llvm-gcc-4.2 instead of clang:

sudo port clean sphinx
sudo port install sphinx configure.compiler=llvm-gcc-4.2

comment:2 Changed 13 years ago by ndebarnot (Nero)

That worked! Thanks a lot :)

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

Summary: Sphinx installation fails on LionSphinx compilation fails with clang

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

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.