pbowmar Posted August 28, 2005 Share Posted August 28, 2005 Hello, So, my custom command compiles fine but will not load into Houdini. In fact, none of the HDK examples will load, here I tried the CHOP_Stair example and I get this error on startup: /home/pbowmar/houdini8.0/dso/CHOP_Stair.so: failed to map segment from shared object: Operation not permitted I'm on SuSE 9.3, using the RH 9 build of 8.0.343 The exact same code works fine on RH 7.3 using the 7.3 build of 8.0.343 Help? Cheers, Peter B Quote Link to comment Share on other sites More sharing options...
Jason Posted August 28, 2005 Share Posted August 28, 2005 Not quite sure, but just to let you know that I've compiled all our dso's for 8.0.343 on RH9 just fine the other day. Maybe its a SUSE thing? Quote Link to comment Share on other sites More sharing options...
pbowmar Posted August 28, 2005 Author Share Posted August 28, 2005 Well, I just tried 7.0.363 and it worked just fine on SuSE so there's something amiss somewhere Not quite sure, but just to let you know that I've compiled all our dso's for 8.0.343 on RH9 just fine the other day. Maybe its a SUSE thing? 20894[/snapback] Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted August 29, 2005 Share Posted August 29, 2005 /home/pbowmar/houdini8.0/dso/CHOP_Stair.so: failed to map segment from shared object: Operation not permitted 20892[/snapback] Hi Peter, That is odd. Did the linking stage produce any unusual error messages? It's sounds like the run time loader can't resolve names/addresses, I wouldn't think it's a permissions unless for some reason it's trying to load into protected memory. Very strange. Have you tried starting with a debugger and follow the loading of the DSOs? --Mark Quote Link to comment Share on other sites More sharing options...
pbowmar Posted August 29, 2005 Author Share Posted August 29, 2005 Whoa! Slow down there Brainiac! I understood the second sentence, and no, it compiled just fine, no errors/messages. The rest, I have no idea (well, a limited idea) what you're talking about I used to know about the debugger, but have forgotten. How do I run under the debugger again? Cheers, peter B Hi Peter,That is odd. Did the linking stage produce any unusual error messages? It's sounds like the run time loader can't resolve names/addresses, I wouldn't think it's a permissions unless for some reason it's trying to load into protected memory. Very strange. Have you tried starting with a debugger and follow the loading of the DSOs? --Mark 20905[/snapback] Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted August 29, 2005 Share Posted August 29, 2005 Whoa! Slow down there Brainiac! I understood the second sentence, and no, it compiled just fine, no errors/messages.The rest, I have no idea (well, a limited idea) what you're talking about I used to know about the debugger, but have forgotten. How do I run under the debugger again? Cheers, peter B 20908[/snapback] Sorry Peter, stream of thought in my reply. As far as linking messages, it sounds like nothing happened that was critical enough for the linker (the utility that "bundles" the various object files into a .so or executable file) to fail. However, sometimes the linker will happily finish it's work and just warn you that there may be name collisions, unresolved stuff that can only show up at run time. Thus the mention of the run time loader which is the guy that will load a DSO (while the applicatin is running) when it's either just launching the application or there's an explicit request to do so as the app is running. What sometimes happens is that the run time loader (RLD) can't resolve the names of the functions, variables, etc. to properly "fit it" into memory (it' hard to describe without a white board handy). The other issue I mentioned, protected memory, it that memory is split up into areas that are "owned" by processes related to users, and supervisors (root, et al.) and sometimes the RLD will try to perform an operation in memory that it's memory space doesn't have "permission" to do. Most of the time you get a seg fault from this but it depends on what was being attempted and other circumstances. I assume that SUSE uses the gcc suite of tools right? I would think gdb would be a good starting point for a debugger but it sounds like this might be new to you and it probably take more time for you to learn it than desired, it can be tedious at times especially with an applcation like Houdini, which is not trivial in it's structure. It sounds like this might be a better question posed to those who are more familiar with SUSE, which I'm not. Maybe it's a library issue, not sure. My brain's not working to well today, got a bad cold, trying to make sense of this through a cough syrup induced fog. Hope I didn't confuse you further. --Mark Quote Link to comment Share on other sites More sharing options...
FrankFirsching Posted August 29, 2005 Share Posted August 29, 2005 Hi! The problem with SuSE is, that they deliver a prerelease version of the compiler, which is buggy. It's sad. It is even worse (Warning, field report of a programmer ;-): Compiling your own compiler doesn't solve the problem. I'm using the 4.0 version of gcc, which I always compile on my own, when I'm in front of a new system (for those who are familiar with this, I'm not using bootstrapping). Now I'm using this compiler to compile Qt4 (The gui library from the trolltech guys). I was doing this on several SuSE boxes (8.3, 9.2 and 9,3) and on my ubuntu box. So on all systems I had the same compiler and the same sources of the library. The problem on the newer SuSE boxes was, that compilation of Qt4 aborted with an internal compiler error, The older SuSE (8.3) and ubuntu went ok. The only conclusion, that could be drawn was, that the buggy SuSE 9 system compiler introduced a bug in my 4.0 version of gcc, that would then cause the internal compiler error :-( I could go on and tell you other stories about the SuSE compilers, but this would go beyond the scope of this thread. I don't want to tell you, that your problems are due to the prerelease compiler shipping with SuSE, but you should take this possibility into account. Quote Link to comment Share on other sites More sharing options...
pbowmar Posted August 30, 2005 Author Share Posted August 30, 2005 Hi Frank, Thanks for the thoughts, that's entirely possible. However, here at work, we also use SuSE 9.3 and everything compiles just fine (as far as I know, anyways). I might move to Centos4.1 on my laptop too, I've been running it on my desktop and it's working fine and it's free Cheers, Peter B Hi!The problem with SuSE is, that they deliver a prerelease version of the compiler, which is buggy. It's sad. It is even worse (Warning, field report of a programmer ;-): Compiling your own compiler doesn't solve the problem. I'm using the 4.0 version of gcc, which I always compile on my own, when I'm in front of a new system (for those who are familiar with this, I'm not using bootstrapping). Now I'm using this compiler to compile Qt4 (The gui library from the trolltech guys). I was doing this on several SuSE boxes (8.3, 9.2 and 9,3) and on my ubuntu box. So on all systems I had the same compiler and the same sources of the library. The problem on the newer SuSE boxes was, that compilation of Qt4 aborted with an internal compiler error, The older SuSE (8.3) and ubuntu went ok. The only conclusion, that could be drawn was, that the buggy SuSE 9 system compiler introduced a bug in my 4.0 version of gcc, that would then cause the internal compiler error :-( I could go on and tell you other stories about the SuSE compilers, but this would go beyond the scope of this thread. I don't want to tell you, that your problems are due to the prerelease compiler shipping with SuSE, but you should take this possibility into account. 20913[/snapback] Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.