LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 04-04-2011, 10:22 AM   #1
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
Why does cmake have to be so 64-bit unfriendly ?


How come I can run './configure --prefix=/usr --libdir=/usr/lib64' and it will work 99% of the time, while for cmake the following often do not work, or sometimes work and sometimes don't:

Code:
cmake -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=64 .
cmake -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 .
cmake -DOGRE_LIB_DIRECTORY=/usr/lib64 .
Please, if there is any way to be 100% sure that libraries will be installed to /usr/lib64, post it so we can all benefit. I would be very grateful. Otherwise, it seems I will have to steer clear of cmake, because it just doesn't want to listen to anything I tell it. It's just not worth the time and headache.

A concrete example:
http://mygui.info/
 
Old 04-04-2011, 11:24 AM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,288

Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
I feel your pain.

Your question, however seems to have been answered by your homework in the negative. So this post is more of a safety valve for hot steam :-P.
There _is_ no way to make cmake 64bit friendly. You have proved that. Sadly, guys who write good C and C++ can't necessarily script :-/.

Have you tried setting & exporting $LIBDIR?

There is also the following non-FHS non-kosher bodge: Close all 32 bit stuff
mv /usr/lib /usr/lib32
ln -s /usr/lib64 /usr/lib
./configure etc :-D.
fix lib paths.

Or you can let it scatter files to whatever lib directories it likes, and then cobble a little script to run file -b on them, grep for 32/64 and move them accordingly.
 
Old 04-04-2011, 01:14 PM   #3
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928

Original Poster
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
Yes, I was thinking of symlinking it like that. But, this should not be necessary. What if I will need multilib some day, it'll screw everything up. It's really a bad thing to symlink like that, I've done it before and I know.

This problem is most troublesome with OGRE, so I'll just stay away from anything that links to it. I tried those solutions and they don't work.
 
Old 04-05-2011, 02:56 AM   #4
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,288

Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
I wasn't intending the symlink to be a permanent thing. Just for the duration of the make.
FYI, I have a laxer attitude here. On my 64-bit multilib box, my /usr/lib is _predominantly_ 32 bit, but not exclusively so. All the automagic stuff sorts it out just fine, and I get no errors. The only hassle is if I install a 32 bit version of a 64 bit lib that I already have in /usr/lib, and something gets koshed.

You can also simply make packages as you're in slackware. Then you only have a few libs. Mind you, I avoid cmake when I can.
 
Old 04-05-2011, 10:27 AM   #5
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928

Original Poster
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
I just noticed that OGRE is installed wrong on my computer. I used the 'DOGRE_LIB_DIRECTORY=/usr/lib64' from the site documentation, and that did install the libs there, but the includes were written to /usr/local. What an absolute mess. I'll just never have anything to do with this OGRE, I guess I know now why it's called that.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Problems Installing cmake - No native data type can represent a 16-bit integer. golmschenk Linux - Software 5 11-07-2010 11:23 PM
cmake: Using find_package(Boost) when FindBoost.cmake is not in the default location damien_d Programming 3 10-27-2010 03:40 PM
Need surefire way to build 64-bit libs with cmake -> /usr/lib64 H_TeXMeX_H Linux - Software 1 03-21-2010 01:01 AM
What has just happened!!!!!!!!!!! SUSE 9.3 PRO unfriendly!!!!! Jongi SUSE / openSUSE 11 09-22-2005 12:22 PM
Unfriendly Red Hat Site. rvijay Linux - Newbie 8 08-24-2003 01:41 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 05:00 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration