Summary: | compilation fails because sm4_defs.h is missing | ||
---|---|---|---|
Product: | Mesa | Reporter: | Martin Stolpe <martinstolpe> |
Component: | Mesa core | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | mesa configure options |
Description
Martin Stolpe
2010-09-23 14:33:22 UTC
Should be fixed by bccd4eb824d32256dd0f9234df9ddf9ab5ed90fd. Can you confirm whether current Git master compiles? No, it doesn't compile. The reason is that there is no "sm4_defs.h" file in "mesa/src/gallium/state_trackers/d3d1x/d3d1xshader/include/". Yes, but it should be automatically generated. Are you perhaps compiling without /usr/bin/makedepend installed? If so, installing the makedepend package should fix this. I'll see whether to make it work without it, or add an hard dependency on it in Mesa. makedepend was indeed missing. Learned something new today. ;-) On wikipedia I read, that makedepend isn't really used anymore: "makedepend... has since become superseded by the dependency generation facilities of various compilers, and is now used primarily as a worst-case fallback, e.g. by depcomp and GNU Automake." I don't know any of this stuff but it would it be possible to replace this dependency. makedepend for example is not even in the official repositories of my distro (Archlinux, it's in AUR though). Anyway the compiliation still fails: g++ -march=native -mtune=native -O2 -g -mfpmath=sse -pipe -Wall -fvisibility=hidden -fno-strict-aliasing -fPIC -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE_LIBUDEV -Wl,--hash-style=gnu -Wl,--as-needed tools/dxbc2tgsi.o -o tools/dxbc2tgsi -Wl,--start-group libgd3d1x.a ../d3d1xshader/libd3d1xshader.a ../../../auxiliary/libgallium.a -ldl -Wl,--end-group libgd3d1x.a(sm4_to_tgsi.o): In function `.L1072': /home/martin/abs/2_xorg/5_-_mesa-full/src/mesa-build/src/gallium/state_trackers/d3d1x/gd3d1x/sm4_to_tgsi.cpp:818: undefined reference to `d3d_to_pipe_prim_type' libgd3d1x.a(sm4_to_tgsi.o): In function `.L1071': /home/martin/abs/2_xorg/5_-_mesa-full/src/mesa-build/src/gallium/state_trackers/d3d1x/gd3d1x/sm4_to_tgsi.cpp:821: undefined reference to `d3d_to_pipe_prim' collect2: ld returned 1 exit status make[5]: *** [tools/dxbc2tgsi] Error 1 Unfortunately, the Mesa build system still uses makedepend. It would be a good idea to make it an hard dependency though, since it causes silent errors otherwise. The link error should now be fixed: let me know if there are any other issues. Created attachment 38928 [details]
mesa configure options
Now it compiles. Thank you!
The d3d1x state tracker is the only part of mesa which depends on makedepends with the configuration I currently use (see attachement). Perhaps it would be a good idea to make makedepends a hard dependency in case d3d1x state tracker is selected.
This bug is still open but I think it can be closed. Either a dev closes this bug or if there aren't any objections I'm going to close this bug. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.