Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

Difference between revisions of "Talk:OpenSceneGraph"

From FlightGear wiki
Jump to: navigation, search
Line 1: Line 1:
 
; Cause of the argument:
 
; Cause of the argument:
  
On 64bit operating systems OpenSceneGraph does have the strange behavior to install into lib64 instead of lib. To get rid of that edit the file CMakeLists.txt in the OSG source directory as shown:
+
On UNIX-like 64bit operating systems OpenSceneGraph does install into [code]$prefix/lib64[/code] by default. If you are using an operating system that sticks to the [http://www.pathname.com/fhs/ Filesystem Hierarchy Standard] and therefore doesn't have lib64 directories, you probably want to get rid of that behaviour.
  sed 's|SET(LIB_POSTFIX "64" CACHE|SET(LIB_POSTFIX "" CACHE|' -i CMakeLists.txt
+
 
 +
To do so run following command inside OSG's source directory or manually edit the file CMakeLists.txt accordingly:
 +
sed 's|SET(LIB_POSTFIX "64" CACHE|SET(LIB_POSTFIX "" CACHE|' -i CMakeLists.txt
 +
 
 +
Another, not so clean, way would be to create a link lib64 that points to lib before running OSG's [code]make install[/code]:
 +
ln -s lib $prefix/lib64
  
  
Line 26: Line 31:
 
I'm mainly using OpenSuSE, which never had lib32 folders. OpenSuSE has 64bit and 32bit RPMs and it's allowed to mix such rpms on a single system. All 32bit libraries go into /lib - the same as they did traditionally - this avoid compatibility issues with old 32bit software. When 64bit was introduced, a new folder was created - so all 64bit libraries definitely go into /lib64 on SuSE - and new 64bit software had to be adapted (when they accessed folders directly). It may be different for Debian of course. Not sure of other distributions - it would be good if s.o. would check that.
 
I'm mainly using OpenSuSE, which never had lib32 folders. OpenSuSE has 64bit and 32bit RPMs and it's allowed to mix such rpms on a single system. All 32bit libraries go into /lib - the same as they did traditionally - this avoid compatibility issues with old 32bit software. When 64bit was introduced, a new folder was created - so all 64bit libraries definitely go into /lib64 on SuSE - and new 64bit software had to be adapted (when they accessed folders directly). It may be different for Debian of course. Not sure of other distributions - it would be good if s.o. would check that.
 
--[[User:ThorstenB|ThorstenB]] 00:49, 18 November 2011 (EST)
 
--[[User:ThorstenB|ThorstenB]] 00:49, 18 November 2011 (EST)
 +
 +
 +
A quick look at some distros showed a muddled situation. I changed the text accordingly, is it ok that way?
 +
--[[User:Flughund|Flughund]] 03:08, 20 November 2011 (EST)

Revision as of 04:08, 20 November 2011

Cause of the argument

On UNIX-like 64bit operating systems OpenSceneGraph does install into [code]$prefix/lib64[/code] by default. If you are using an operating system that sticks to the Filesystem Hierarchy Standard and therefore doesn't have lib64 directories, you probably want to get rid of that behaviour.

To do so run following command inside OSG's source directory or manually edit the file CMakeLists.txt accordingly:

sed 's|SET(LIB_POSTFIX "64" CACHE|SET(LIB_POSTFIX "" CACHE|' -i CMakeLists.txt

Another, not so clean, way would be to create a link lib64 that points to lib before running OSG's [code]make install[/code]:

ln -s lib $prefix/lib64


Hi Thorsten,

to my knowledge the native libs should go into lib. Therefore, on a 64bit system, the self compiled 64bit libraries should be installed to lib and not lib64. Non-native libraries, like 32bit ones for compatibility reasons, should go into lib32. This impression of mine seems to be supported by the Filesystem Hierarchy Standard, if I understand it correctly:

   /lib : Essential shared libraries and kernel modules

       Purpose
       Requirements
       Specific Options

   /lib<qual> : Alternate format essential shared libraries (optional)

On Debian it is handled the same way, there is no lib64 anywhere on amd64.

Anyhow, this doesn't cover Windows systems, I have no idea how it is handled there. I will edit the text respectively.

--Flughund 21:46, 17 November 2011 (EST)

Hi Flughund, I'm mainly using OpenSuSE, which never had lib32 folders. OpenSuSE has 64bit and 32bit RPMs and it's allowed to mix such rpms on a single system. All 32bit libraries go into /lib - the same as they did traditionally - this avoid compatibility issues with old 32bit software. When 64bit was introduced, a new folder was created - so all 64bit libraries definitely go into /lib64 on SuSE - and new 64bit software had to be adapted (when they accessed folders directly). It may be different for Debian of course. Not sure of other distributions - it would be good if s.o. would check that. --ThorstenB 00:49, 18 November 2011 (EST)


A quick look at some distros showed a muddled situation. I changed the text accordingly, is it ok that way? --Flughund 03:08, 20 November 2011 (EST)