techoe / ceres-solver

Automatically exported from code.google.com/p/ceres-solver
Other
0 stars 0 forks source link

Library install targets do not respect LIB_SUFFIX cmake convention #75

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. cmake -DLIB_SUFFIX=64 path/to/ceres-solver-1.4.0
2. make
3. sudo make install

What is the expected output? What do you see instead?
I see:    Libraries installed to ${PREFIX}/lib
I expect: Libraries installed to ${PREFIX}/lib64

What version of the product are you using? On what operating system?
1.4.0rc5

Please provide any additional information below.
It might seem a bit hokey, but this is the established convention in the CMake 
community for dealing with systems like my 64-bit box (a RHEL6 derivative) 
where libraries installed to /usr/lib64.

Attaching a patch and the .spec I use to build an RPM package in case it's 
useful.

Original issue reported on code.google.com by taylor.j...@gmail.com on 14 Oct 2012 at 8:49

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by sameerag...@google.com on 14 Oct 2012 at 8:58

GoogleCodeExporter commented 9 years ago
Keir? what do you think about this?

Original comment by sameerag...@google.com on 1 Dec 2012 at 1:21

GoogleCodeExporter commented 9 years ago
Hi Taylor,

Both of these sound good. Would you be willing to submit a patch using our 
normal patch workflow? There are two separate contributions here-- one is the 
cmake fix, and the other is the redhat package spec. We'd like both. Please 
prepare 2 patches, submit them to Gerrit (see the wiki for instructions) and 
we'll get them upstreamed.

Thanks!
Keir

Original comment by k...@locu.com on 11 Feb 2013 at 10:08

GoogleCodeExporter commented 9 years ago
Okay I have these two changes committed in two separate local branches but when 
I try to push either one using

  git push origin HEAD:refs/for/master

The command just hangs. The commit hooks seems to be working as I have 
Change-Id tags in the log messages:

commit 1e742b8cdafe534c54e09b1edbdd35b61187364f
Author: Taylor Braun-Jones <taylor@braun-jones.org>
Date:   Fri Feb 15 18:28:11 2013 -0500

    Add support for the CMake "LIB_SUFFIX" convention

    Allows `make install` to work correctly on e.g. 64-bit systems where the
    native libraries are installed to /usr/lib64

    Change-Id: I71b4fae7b459c003cb5fac981278c668f2e29779

Any ideas?

Original comment by taylor.j...@gmail.com on 16 Feb 2013 at 12:16

GoogleCodeExporter commented 9 years ago
That's weird. I guess you are able clone from the Gerrit repo? There are some 
verbosity flags you can pass to git iirc that might help track down the issue. 
What is your setup (e.g. mac/win/lin/etc)?

Original comment by mie...@gmail.com on 16 Feb 2013 at 12:23

GoogleCodeExporter commented 9 years ago
I'm on a RHEL6.1 box (Scientific Linux to be exact). I'm behind a HTTP
proxy, but the git clone worked without a problem. I did have to add the
commit hook manually though with curl - building cmake didn't seem to setup
it up for me. Adding --verbose to `git push ...` gives just one line of
output before hanging:

Pushing to https://ceres-solver.googlesource.com/ceres-solver

Original comment by taylor.j...@gmail.com on 16 Feb 2013 at 12:50

GoogleCodeExporter commented 9 years ago
Hi Taylor,
Any success with this? We are getting ready for 1.5.0, it would be nice to get 
this in. 
Sameer

Original comment by sameerag...@google.com on 22 Feb 2013 at 2:49

GoogleCodeExporter commented 9 years ago
I'll give it a shot tonight from outside my company's HTTP proxy.

Original comment by taylor.j...@gmail.com on 22 Feb 2013 at 9:44

GoogleCodeExporter commented 9 years ago
Thank you.
Sameer

Original comment by sameerag...@google.com on 22 Feb 2013 at 9:56

GoogleCodeExporter commented 9 years ago
Done. Gerrit change review:
https://ceres-solver-review.googlesource.com/#/c/2530/

Original comment by taylor.j...@gmail.com on 23 Feb 2013 at 4:55

GoogleCodeExporter commented 9 years ago

Original comment by sameerag...@google.com on 25 Feb 2013 at 9:53

GoogleCodeExporter commented 9 years ago
Hi guys, on my Mac machine this now installs to /usr/local/lib64. I modified 
the CMakeLists.txt slightly to make sure this change is only applicable on 
linux.

IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux"
    AND NOT DEFINED LIB_SUFFIX AND
    NOT CMAKE_CROSSCOMPILING AND
    ${CMAKE_SIZEOF_VOID_P} EQUAL "8" AND
    NOT EXISTS "/etc/debian_version" AND
    NOT EXISTS "/etc/arch-release")
  SET(LIB_SUFFIX "64")
ENDIF()

Original comment by syx...@gmail.com on 5 Mar 2013 at 11:08

GoogleCodeExporter commented 9 years ago
Yuliy,
Would you mind submitting a patch on gerrit please?
Thanks,
Sameer

Original comment by sameerag...@google.com on 5 Mar 2013 at 7:32

GoogleCodeExporter commented 9 years ago
Closing in light of your patch.

Original comment by sameerag...@google.com on 12 Mar 2013 at 2:51