1 |
On 05/06 02:16, Kai Krakow wrote: |
2 |
> Am Sat, 6 May 2017 12:55:24 +0200 |
3 |
> schrieb tuxic@××××××.de: |
4 |
> |
5 |
> > On 05/06 12:28, Kai Krakow wrote: |
6 |
> > > Am Sat, 6 May 2017 04:18:57 +0200 |
7 |
> > > schrieb tuxic@××××××.de: |
8 |
> > > |
9 |
> > > > On 05/05 09:17, Kai Krakow wrote: |
10 |
> > [...] |
11 |
> > [...] |
12 |
> > > > [...] |
13 |
> > > > [...] |
14 |
> > [...] |
15 |
> > > > [...] |
16 |
> > [...] |
17 |
> > > > [...] |
18 |
> > [...] |
19 |
> > > > [...] |
20 |
> > > > [...] |
21 |
> > > > [...] |
22 |
> > > > [...] |
23 |
> > [...] |
24 |
> > [...] |
25 |
> > > > |
26 |
> > > > Hi Kai, |
27 |
> > > > |
28 |
> > > > |
29 |
> > > > here the results: |
30 |
> > > > LD_PRELOAD=/usr/lib64/opengl/nvidia/lib/. FreeCAD |
31 |
> > > > ERROR: ld.so: object '/usr/lib64/opengl/nvidia/lib/.' from |
32 |
> > > > LD_PRELOAD cannot be preloaded (cannot read file data): ignored. |
33 |
> > > > FreeCAD 0.16, Libs: 0.16RUnknown © Juergen Riegel, Werner Mayer, |
34 |
> > > > Yorik van Havre 2001-2015 ##### #### ### #### |
35 |
> > > > # # # # # # |
36 |
> > > > # ## #### #### # # # # # |
37 |
> > > > #### # # # # # # # ##### # # |
38 |
> > > > # # #### #### # # # # # |
39 |
> > > > # # # # # # # # # ## ## ## |
40 |
> > > > # # #### #### ### # # #### ## ## ## |
41 |
> > > > |
42 |
> > > > libGL error: No matching fbConfigs or visuals found |
43 |
> > > > libGL error: failed to load driver: swrast |
44 |
> > > > using visual class 4, id 2b |
45 |
> > > > [1] 17990 segmentation fault |
46 |
> > > > LD_PRELOAD=/usr/lib64/opengl/nvidia/lib/. FreeCAD |
47 |
> > > |
48 |
> > > This makes no sense... You have to give an .so file. |
49 |
> > > |
50 |
> > > >LD_PRELOAD=/usr/lib64/opengl/nvidia/lib/libGL.so FreeCAD |
51 |
> > > > FreeCAD 0.16, Libs: 0.16RUnknown |
52 |
> > > > © Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2015 |
53 |
> > > > ##### #### ### #### |
54 |
> > > > # # # # # # |
55 |
> > > > # ## #### #### # # # # # |
56 |
> > > > #### # # # # # # # ##### # # |
57 |
> > > > # # #### #### # # # # # |
58 |
> > > > # # # # # # # # # ## ## ## |
59 |
> > > > # # #### #### ### # # #### ## ## ## |
60 |
> > > > |
61 |
> > > > using visual class 4, id 2b |
62 |
> > > > [1] 17552 segmentation fault |
63 |
> > > > LD_PRELOAD=/usr/lib64/opengl/nvidia/lib/libGL.so FreeCAD |
64 |
> > > |
65 |
> > > Okay, so this fixes the problem with the visual as I expected. But |
66 |
> > > now it's segfaulting. |
67 |
> > > |
68 |
> > > Are you using an NVIDIA card with proprietary driver? |
69 |
> > > |
70 |
> > > |
71 |
> > > -- |
72 |
> > > Regards, |
73 |
> > > Kai |
74 |
> > > |
75 |
> > > Replies to list-only preferred. |
76 |
> > > |
77 |
> > > |
78 |
> > > |
79 |
> > |
80 |
> > Hi, |
81 |
> > |
82 |
> > ...it runs now at least for root (called as user it crashes still). |
83 |
> > |
84 |
> > I did the following: |
85 |
> > |
86 |
> > |
87 |
> > mv /usr/lib64/libGL.so /usr/lib64/off.libGL.so |
88 |
> > |
89 |
> > for all libGL.so* in /usr/lib64/libGL.so* |
90 |
> |
91 |
> You shouldn't shuffle those files around. They are controlled by the |
92 |
> package manager. |
93 |
> |
94 |
> I think it's a bug of the software that it overwrites ld paths. With a |
95 |
> Gentoo standard configuration and eselect opengl switched to nvidia, |
96 |
> every software should find and load the nvidia opengl stuff first. |
97 |
> |
98 |
> Could you show the output of |
99 |
> |
100 |
> # lddtree $(which FreeCAD) |
101 |
> |
102 |
> E.g., lddtree $(which kwin_x11) shows a line for me: |
103 |
> |
104 |
> libGL.so.1 => /usr/lib64/opengl/nvidia/lib/libGL.so.1 |
105 |
> |
106 |
> which clearly says it's linking libGL.so.1 from nvidia first. |
107 |
> |
108 |
> If a libGL line is missing for FreeCAD, it is dynamically loaded by the |
109 |
> application itself. Then it's a FreeCAD bug that should be fixed. |
110 |
> |
111 |
> If it's loading from /usr/lib64/libGL* for you, then some paths and |
112 |
> configs are borked in your system. |
113 |
> |
114 |
> |
115 |
> > Addtionally I added 06nvidia to /etc/ld.so.config.d/. with this |
116 |
> > contents: |
117 |
> > /usr/lib64/opengl/nvidia/lib |
118 |
> > and did a ldconfig afterwards and reboot to release any filehandle. |
119 |
> |
120 |
> I wonder why these paths are missing for you... My ld.so.conf has nvidia |
121 |
> paths right in the beginning (first two lines). It's actually made |
122 |
> from /etc/env.d/000opengl. There's nothing nvidia specific in the .d |
123 |
> directory. |
124 |
> |
125 |
> |
126 |
> > One question remains: |
127 |
> > It works for root but not for any other user. |
128 |
> > I (as user) am in the video group. |
129 |
> > |
130 |
> > I checked the directory/file permissions of opencascade and they |
131 |
> > seem to be ok. |
132 |
> |
133 |
> I don't think that modern kernels and desktop managers still use the |
134 |
> video group. It should be handled by ACLs. Please have a look at the |
135 |
> ACLs of the device nodes. |
136 |
> |
137 |
> It all depends on your login manager and pam configuration. You should |
138 |
> check that if things don't work right. If you're using systemd, you are |
139 |
> using systemd-logind, otherwise you're probably using consolekit. |
140 |
> |
141 |
> If you're not using either of those, the system would fall back to |
142 |
> standard unix group permissions. But I'm not sure if this works |
143 |
> correctly if you didn't configure the whole chain to work that way. |
144 |
> |
145 |
> |
146 |
> > I straced FreeCAD...but...I fear not to see anything suspicious |
147 |
> > because the output contains a lot of noise (much more as normally |
148 |
> > seen in such traces)... |
149 |
> |
150 |
> You can use call filters to limit that to what you want to see. Also, |
151 |
> there's ltrace which could be interesting. |
152 |
> |
153 |
> |
154 |
> > The eselects show: |
155 |
> > >eselect opengl list |
156 |
> > Available OpenGL implementations: |
157 |
> > [1] nvidia * |
158 |
> > [2] xorg-x11 |
159 |
> > >eselect mesa list |
160 |
> > i915 (Intel 915, 945) |
161 |
> > i965 (Intel GMA 965, G/Q3x, G/Q4x, HD) |
162 |
> > r300 (Radeon R300-R500) |
163 |
> > r600 (Radeon R600-R700, Evergreen, Northern Islands) |
164 |
> > sw (Software renderer) |
165 |
> > [1] classic |
166 |
> > [2] gallium * |
167 |
> > |
168 |
> > Why is nvidia not listed with the second command? |
169 |
> |
170 |
> Afaik, it does not provide mesa drivers. That's probably why it cannot |
171 |
> find an "swrast" driver/visual then. Directly using nvidia OpenGL fixes |
172 |
> that, which is what you did now. |
173 |
> |
174 |
> I think the bug with FreeCAD is, that it cannot properly handle |
175 |
> multiple opengl implementations which it tries to do itself. It should |
176 |
> be left to the system to correctly load the correct opengl |
177 |
> implementation. |
178 |
> |
179 |
> I guess FreeCAD looks up visuals by loading libGL from /usr/lib, then it |
180 |
> loads libGL again using means provided by the system, which ends up |
181 |
> loading the nvidia implementation. But that does not provide swrast. I |
182 |
> can only guess why they did that. But I could also be totally wrong. |
183 |
> |
184 |
> |
185 |
> -- |
186 |
> Regards, |
187 |
> Kai |
188 |
> |
189 |
> Replies to list-only preferred. |
190 |
> |
191 |
|
192 |
|
193 |
|
194 |
|
195 |
Hi Kai, |
196 |
|
197 |
NO PANIC! :) the renaming of libGL and friends was for |
198 |
testing/experimenting purposes only! :) |
199 |
|
200 |
After renaming those back to normal and doing a ldconfig |
201 |
these were back for root and user: |
202 |
|
203 |
libGL error: No matching fbConfigs or visuals found |
204 |
libGL error: failed to load driver: swrast |
205 |
*** Abort *** an exception was raised, but no catch was found. |
206 |
... The exception is:SIGSEGV 'segmentation violation' detected. Address 0 |
207 |
|
208 |
I checked for the 000opengl file in /etc/env.d on my installation and |
209 |
it is there...so I removed my file under /etc/ld.config.d/. |
210 |
|
211 |
lddtree /usr/bin/FreeCAD gives me: |
212 |
|
213 |
FreeCAD => /usr/bin/FreeCAD (interpreter => /lib64/ld-linux-x86-64.so.2) |
214 |
libFreeCADGui.so => /usr/lib64/libFreeCADGui.so |
215 |
libCoin.so.60 => /usr/lib64/libCoin.so.60 |
216 |
libX11.so.6 => /usr/lib64/libX11.so.6 |
217 |
libxcb.so.1 => /usr/lib64/libxcb.so.1 |
218 |
libXau.so.6 => /usr/lib64/libXau.so.6 |
219 |
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 |
220 |
libbsd.so.0 => /usr/lib64/libbsd.so.0 |
221 |
librt.so.1 => /lib64/librt.so.1 |
222 |
libbz2.so.1 => /lib64/libbz2.so.1 |
223 |
libz.so.1 => /lib64/libz.so.1 |
224 |
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 |
225 |
libpng16.so.16 => /usr/lib64/libpng16.so.16 |
226 |
libdl.so.2 => /lib64/libdl.so.2 |
227 |
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 |
228 |
libpthread.so.0 => /lib64/libpthread.so.0 |
229 |
libQtOpenGL.so.4 => /usr/lib64/qt4/libQtOpenGL.so.4 |
230 |
libXrender.so.1 => /usr/lib64/libXrender.so.1 |
231 |
libQtSvg.so.4 => /usr/lib64/qt4/libQtSvg.so.4 |
232 |
libQtWebKit.so.4 => /usr/lib64/qt4/libQtWebKit.so.4 |
233 |
libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 |
234 |
libgstapp-0.10.so.0 => /usr/lib64/libgstapp-0.10.so.0 |
235 |
libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 |
236 |
libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 |
237 |
libxml2.so.2 => /usr/lib64/libxml2.so.2 |
238 |
libgstinterfaces-0.10.so.0 => /usr/lib64/libgstinterfaces-0.10.so.0 |
239 |
libgstpbutils-0.10.so.0 => /usr/lib64/libgstpbutils-0.10.so.0 |
240 |
libgstvideo-0.10.so.0 => /usr/lib64/libgstvideo-0.10.so.0 |
241 |
liborc-0.4.so.0 => /usr/lib64/liborc-0.4.so.0 |
242 |
libgstbase-0.10.so.0 => /usr/lib64/libgstbase-0.10.so.0 |
243 |
libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0 |
244 |
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 |
245 |
libffi.so.6 => /usr/lib64/libffi.so.6 |
246 |
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 |
247 |
libpcre.so.1 => /lib64/libpcre.so.1 |
248 |
libQtXml.so.4 => /usr/lib64/qt4/libQtXml.so.4 |
249 |
libQtNetwork.so.4 => /usr/lib64/qt4/libQtNetwork.so.4 |
250 |
libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 |
251 |
libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 |
252 |
libboost_regex.so.1.63.0 => /usr/lib64/libboost_regex.so.1.63.0 |
253 |
libboost_signals.so.1.63.0 => /usr/lib64/libboost_signals.so.1.63.0 |
254 |
libboost_system.so.1.63.0 => /usr/lib64/libboost_system.so.1.63.0 |
255 |
libGL.so.1 => /usr/lib64/libGL.so.1 |
256 |
libexpat.so.1 => /usr/lib64/libexpat.so.1 |
257 |
libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 |
258 |
libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 |
259 |
libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 |
260 |
libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 |
261 |
libglapi.so.0 => /usr/lib64/libglapi.so.0 |
262 |
libXext.so.6 => /usr/lib64/libXext.so.6 |
263 |
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 |
264 |
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 |
265 |
libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 |
266 |
libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 |
267 |
libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 |
268 |
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 |
269 |
libdrm.so.2 => /usr/lib64/libdrm.so.2 |
270 |
libshiboken-python2.7.so.1.2 => /usr/lib64/libshiboken-python2.7.so.1.2 |
271 |
libxerces-c-3.1.so => /usr/lib64/libxerces-c-3.1.so |
272 |
libicuuc.so.58 => /usr/lib64/libicuuc.so.58 |
273 |
libicudata.so.58 => /usr/lib64/libicudata.so.58 |
274 |
libm.so.6 => /lib64/libm.so.6 |
275 |
libFreeCADApp.so => /usr/lib64/libFreeCADApp.so |
276 |
libboost_program_options.so.1.63.0 => /usr/lib64/libboost_program_options.so.1.63.0 |
277 |
libFreeCADBase.so => /usr/lib64/libFreeCADBase.so |
278 |
libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 |
279 |
libutil.so.1 => /lib64/libutil.so.1 |
280 |
libQtGui.so.4 => /usr/lib64/qt4/libQtGui.so.4 |
281 |
libSM.so.6 => /usr/lib64/libSM.so.6 |
282 |
libuuid.so.1 => /lib64/libuuid.so.1 |
283 |
libICE.so.6 => /usr/lib64/libICE.so.6 |
284 |
libXi.so.6 => /usr/lib64/libXi.so.6 |
285 |
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 |
286 |
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 |
287 |
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 |
288 |
libQtCore.so.4 => /usr/lib64/qt4/libQtCore.so.4 |
289 |
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/libstdc++.so.6 |
290 |
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/libgcc_s.so.1 |
291 |
libc.so.6 => /lib64/libc.so.6 |
292 |
|
293 |
|
294 |
Next: ACL |
295 |
|
296 |
What? ;) |
297 |
|
298 |
Sorry Kai...you hit the blank spot of my knowledge of Linux here. |
299 |
Please give me some hints... |
300 |
|
301 |
To summarize: |
302 |
I am using good 'ole openrc. Consolekit is installed. |
303 |
My login manager is slim. |
304 |
|
305 |
ltrace: |
306 |
I will take a look, what I may find with that one. |
307 |
strace: It is difficult to filter unimportant things |
308 |
as long I dont know the reason (the important thing) |
309 |
for the problem... ;) :) |
310 |
But I will take a deeper look... |
311 |
|
312 |
|
313 |
Cheers |
314 |
Meino |