Solved Update graphics/dri failure

As awaited - no update with graphics/dri without problems: (FreeBSD-10.2-p3) Same error with clang37 and gcc48.
Code:
copying selected object files to avoid basename conflicts...
gmake[5]: Leaving directory '/usr/ports/graphics/dri/work/mesa-10.6.6/src/gallium/state_trackers/clover'
Making all in targets/opencl
gmake[5]: Entering directory '/usr/ports/graphics/dri/work/mesa-10.6.6/src/gallium/targets/opencl'
  CXXLD  libMesaOpenCL.la
/usr/local/llvm36/lib/libclangFrontendTool.a(ExecuteCompilerInvocation.o): In function `clang::ExecuteCompilerInvocation(clang::CompilerInstance*)':
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x3f1): undefined reference to `clang::ento::printCheckerHelp(llvm::raw_ostream&, llvm::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >)'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x610): undefined reference to `vtable for clang::HTMLPrintAction'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x6a9): undefined reference to `clang::FixItAction::FixItAction()'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x9ef): undefined reference to `vtable for clang::RewriteIncludesAction'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xa29): undefined reference to `vtable for clang::RewriteMacrosAction'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xa63): undefined reference to `vtable for clang::RewriteObjCAction'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xa9d): undefined reference to `vtable for clang::RewriteTestAction'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xad7): undefined reference to `vtable for clang::ento::AnalysisAction'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNübernimmt caravan herstellerS_16CompilerInstanceE+0xb28): undefined reference to `vtable for clang::arcmt::MigrateSourceAction'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xb38): undefined reference to `clang::arcmt::FileRemapper::FileRemapper()'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xbeb): undefined reference to `vtable for clang::FixItRecompile'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xc47): undefined reference to `clang::arcmt::ModifyAction::ModifyAction(clang::FrontendAction*)'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xc96): undefined reference to `clang::arcmt::CheckAction::CheckAction(clang::FrontendAction*)'übernimmt caravan hersteller
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xcf4): undefined reference to `clang::arcmt::MigrateAction::MigrateAction(clang::FrontendAction*, llvm::StringRef, llvm::StringRef, bool)'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0xd50): undefined reference to `clang::arcmt::ObjCMigrateAction::ObjCMigrateAction(clang::FrontendAction*, llvm::StringRef, unsigned int)'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:675: recipe for target 'libMesaOpenCL.la' failed
gmake[5]: *** [libMesaOpenCL.la] Error 1
gmake[5]: Leaving directory '/usr/ports/graphics/dri/work/mesa-10.6.6/src/gallium/targets/opencl'
Makefile:575: recipe for target 'all-recursive' failed
gmake[4]: *** [all-recursive] Error 1
gmake[4]: Leaving directory '/usr/ports/graphics/dri/work/mesa-10.6.6/src/gallium'
Makefile:678: recipe for target 'all-recursive' failed
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory '/usr/ports/graphics/dri/work/mesa-10.6.6/src'
Makefile:613: recipe for target 'all-recursive' failed
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory '/usr/ports/graphics/dri/work/mesa-10.6.6'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/graphics/dri
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/dri

It is a linker error, how to handle ?
(Test it in the moment with poudriere: "Building 77 packages using 4 builders will be approx. two hours")
 
dri-10.6.6,2 and related ports built and work here. But I'm not trying to force them to use a specific compiler. It brought in llvm36-3.6.2_2 as a build dependency.
 
Need something to disable or exclude GALLIUM. WITH_GALLIUM=NO does not help and there is no such configure argument.
Is there a way to stop this dri and GALLIUM nonsense - it only makes problems.
 
It was a really bad idea to include GALLIUM without disable option. FreeBSD graphics stack is so outdated, that, probably everyone who needs it on nvidia, so Gallium is useless. I always compiled without GALLIUM and LLVM.
 
On freshport (http://www.freshports.org/graphics/dri/)
Code:
# pkg_delete -f libGL-\* dri-\*
or
# pkg delete -f libGL dri
followed by
# portmaster graphics/dri graphics/libGL
or
# portupgrade graphics/dri graphics/libGL
and then
# portmaster -a
or
# portupgrade -a
What should that be?
I can't delete libGL , I need it for nvidia. I can't prevent dri - it is pulled in by Xorg, and you can do nothing against it. No such option there.
Where is the solution?
 
Last edited:
Poudriere compiles. But that is no solution, to spent two hours for a port which compiles normally in fewer than ten minutes.
GALLIUM is required now, I think.
But GALLIUM causes problems, and it has ever done. No update of GL or dri without problems. It is the wrong way: Not I have to set WITHOUT_GALLIUM, someone who needs it have to set WITH_GALLIUM. An you can not set something as default, that conflicts.
 
Oh, it happens, what I never thought would work: I removed dri complete and got no error messages. Ok, I say nothing anymore, thanks - solved. Sorry.
 
No problems with GALLIUM for me, at least that I can recall. But I do not force the use of unsupported compilers.
 
I works with none of the compilers: It compiles not with clang35, clang36, gcc48, gcc5.
Either it is GALLIUM or llvm.
(last error message: undefined reference to `llvm::EngineBuilder ...).
I can try to find out what poudriere do other .. I think I will need a week.
 
I had no issues to update, too. /etc/make.conf is almost empty as
Code:
#WITH_GALLIUM=YES
OPTIONS_UNSET=DOCS
NO_CLEAN=yes
Unfortunalely I have seen some mail in a list too late to record the process, but there has been some some output during the compile related to GALLIUM. Usually I do other stuff in parallel to updating.
 
Does anybody know something (or a hint) about the error message?

Code:
usr/local/llvm36/lib/libclangFrontendTool.a(ExecuteCompilerInvocation.o): In function `clang::ExecuteCompilerInvocation(clang::CompilerInstance*)':
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x3f1): undefined reference to `clang::ento::printCheckerHelp(llvm::raw_ostream&, llvm::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >)'
ExecuteCompilerInvocation.cpp:(.text._ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x610): undefined reference to `vtable for clang::HTMLPrintAction'
.....

see my first post.
 
Show the contents of /etc/make.conf

Code:
.include "/usr/local/etc/ports_sites.conf"
.if ${.CURDIR:M*/ports/multimedia/mkvtoolnix}
CFLAGS+=-Wno-unused-parameter
CFLAGS+=-Wno-deprecated-register
.endif

not more

mkvtoolnix for silence the warnings, looks like there are more warnings than code.
Changed nothing if I comment it out (It is the first thing I try, if I got such error messages and I don't think this causes anything).
 
If you mean this ?:
make CC=gcc48 CXX=g++48 CPP=cpp48 or CC=clang37 CXX=clang++37 CPP=clang-cpp37

(and with and without WITH_GALLIUM=NO,look into ./configure --help tried to disable some CONFIGURE_ARGS - nearly nothing changed - gcc has slightly different error message(s))
 
Last edited:
Back
Top