icecc / icemon

Icecream GUI Monitor
http://kfunk.org/tag/icemon/
GNU General Public License v2.0
88 stars 34 forks source link

Does not build correctly on openSUSE Leap #43

Closed gonzoleeman closed 4 years ago

gonzoleeman commented 5 years ago

I am trying to get this to build correctly on openSUSE Leap 15.1, but I am having problems, as I'm no libtool guru.

It looks like much of the SUSE-specific code is trigtgered by libtool recognizing that this is a SUSE system, and setting host_vendor to suse in the Makefiles.

But I've spent a day looking into this, and it kind of looks like libtool is guessing the vendor differently, calling it "unknown" because /etc/SuSE-release is not longer present on openSUSE systems. And even when I create /etc/SuSE-release on my test system, it still does not guess I'm on a SUSE system.

Help? I'd figure it out myself, if I could. It looks like config.guess is created by libtool but is incorrect. Is the bug with libtool? Even so, is there a way I can tell configure or autogen.sh that I'm on a SUSE system? I'd really like to get icemon working so I can add it to our public package directory, but it depends on getting icecc working correctly.

Thanks in advance.

llunak commented 5 years ago

Is this still valid? Icemon does not even use libtool so this is confusing. Moreover I can build both icecream and icemon just fine on 15.1. Probably your libtool is broken (and then either you need to fix it or may something like "autoreconf -fiv" should do).

gonzoleeman commented 5 years ago

Is this still valid? Icemon does not even use libtool so this is confusing. Moreover I can build both icecream and icemon just fine on 15.1. Probably your libtool is broken (and then either you need to fix it or may something like "autoreconf -fiv" should do).

No, this is no longer an issue for me. First of all, this was actually on Leap 15.0, with some upgrades.

But, for Leap 15.0, I have to add the following change to get it to compile:

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ce6677648f67..480c4cd8f097 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -31,6 +31,8 @@ add_executable(icemon ${icemon_SRCS} ${resources_SRCS})
 target_link_libraries(icemon
     Icecream
     Qt5::Widgets
+    lzo2
+    cap-ng
 )

 install(TARGETS icemon ${INSTALL_TARGETS_DEFAULT_ARGS})

But, with that change, I can get it to compile and work correctly on my system.

Should I file a separate issue for that?

llunak commented 5 years ago

Those libs are mentioned in /usr/lib64/pkgconfig/icecc.pc , so I don't know why that wouldn't work for you. As said, it works fine here on 15.1, so maybe you should check that file.

gonzoleeman commented 5 years ago

My icecc.pc file is in /opt/icecream/lib64/pkgconfig. Perhaps my loader/linker doesn't know about it there?

llunak commented 5 years ago

Could be. Try setting PKG_CONFIG_PATH to that path when running cmake.

gonzoleeman commented 4 years ago

Yes, after a fresh install of icecream, which defaults to installing in /opt, and setting PKG_CONFIG_PATH to /opt/icecream/lib/pkgconfig, it builds without my changes. Thank you.

Would you like me to submit a pull request to update the icemon README.md file to mention this might be needed if icecream is install in /opt?

HenryMiller1 commented 4 years ago

Some sort of documentation so that the next person won't fight this would be a good thing.

-- Henry Miller hank@millerfarm.com

On Wed, Jul 10, 2019, at 1:44 PM, Lee Duncan wrote:

Yes, after a fresh install of icecream, which defaults to installing in /opt, and setting PKG_CONFIG_PATH to /opt/icecream/lib/pkgconfig, it builds without my changes. Thank you.

Would you like me to submit a pull request to update the icemon README.md file to mention this might be needed if icecream is install in /opt?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/icecc/icemon/issues/43?email_source=notifications&email_token=ACHSQEWDAMR5HQK4AAFTDFTP6YUYPA5CNFSM4GL3CSX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZUMCZI#issuecomment-510181733, or mute the thread https://github.com/notifications/unsubscribe-auth/ACHSQERJYOQYCG2YWY24LBTP6YUYPANCNFSM4GL3CSXQ.

krf commented 4 years ago

:+1:

llunak commented 4 years ago

Do you have any icecc.pc in your system paths? Assuming you don't, I think the actual problem is that cmake/modules/FindIcecream.cmake does not fail with an error if it can't find it (if it did, figuring out the need to set PKG_CONFIG_PATH would be sort of the usual response).

gonzoleeman commented 4 years ago

Do you have any icecc.pc in your system paths? Assuming you don't, I think the actual problem is that cmake/modules/FindIcecream.cmake does not fail with an error if it can't find it (if it did, figuring out the need to set PKG_CONFIG_PATH would be sort of the usual response).

No, I do not have any icecc.ps in my system paths. At one time I had a Build Service RPM installed which used regular system paths instead of /opt for icecream, but I removed it when I installed from source.

llunak commented 4 years ago

The check now should fail if it can't find the pkgconfig file.