cocodelabs / znc-palaver

ZNC module for push notifications
MIT License
112 stars 14 forks source link

unable to compile the package #51

Closed danzmo closed 5 years ago

danzmo commented 6 years ago

When trying to "Make" the package I continue to get [test] Error

/znc-palaver/znc-palaver-master$ make
Your C++ compiler doesn't properly support regex. Please upgrade to GCC 4.9, Clang or newer.
make: *** [test] Error 1

I have looked at older postings saying to upgrade GCC I have upgraded to GCC 6 and still am not able to get past this step.

gcc --version
gcc-6 (Ubuntu/Linaro 6.3.0-18ubuntu2~14.04) 6.3.0 20170519
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Any help with moving on from here would be appreciated.

kylef commented 6 years ago

If you've upgraded the compiler, you may need to run make clean before running make again. Otherwise some caches built from previous GCC version may still be there. Does that allow you to build?

danzmo commented 6 years ago

Thanks, make clean did clear the

Your C++ compiler doesn't properly support regex. Please upgrade to GCC 4.9, Clang or newer.
make: *** [test] Error 1

However, a new error is now produced

/znc-palaver/znc-palaver-master$ make
make: c++: Command not found
make: *** [test-regex] Error 127
kylef commented 6 years ago

@danzmo This should be solved in https://github.com/cocodelabs/znc-palaver/commit/41ca67469b2beb3b7ad0bf0b77de9279fa921814, could you pull these changes and give it another go?

danzmo commented 6 years ago

I've updated the Makefile to what was in 41ca674. I again tried to make and got the following error:

make: g++: Command not found
make: *** [test-regex] Error 127

I've verified that I have g++ and the build-essential is updated and installed. I thought it may have been permission's and I gave the entire directory "znc-palaver-master" 755.

Any other suggestions

kylef commented 6 years ago

Could you please confirm what the following returns in the same shell you are using to build inc-palaver:

$ which g++
$ g++ --version
danzmo commented 6 years ago

The G++ was still using version 4, got it updated to version 6 gcc version 6.3.0 20170519 (Ubuntu/Linaro 6.3.0-18ubuntu2~14.04) I was able to make and compile the .so file and palaver.so is located in the modules directory:

~/.znc/modules$ ll
-rwxrwxr-x 1 danzmo danzmo 3044088 Jan 30 09:55 palaver.so*
-rwxrwxr-x 1 danzmo danzmo 2533824 Jan 16 13:42 push.so*

I tried to loadmod and have produced the following error:

loadmod palaver
<*status> Unable to find modinfo [palaver] [Unable to open module [palaver] [/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/danzmo/.znc/modules/palaver.so)]]

The Lib is available:

lrwxrwxrwx  1 root root       19 Aug 20 13:01 libstdc++.so.6 -> libstdc++.so.6.0.24
-rw-r--r--  1 root root  1114368 Aug 20 13:15 libstdc++.so.6.0.24
kylef commented 6 years ago

<*status> Unable to find modinfo [palaver] [Unable to open module [palaver] [/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/danzmo/.znc/modules/palaver.so)]]

This sounds like ZNC was built with a different libstdc++ than the one used for znc-palaver. Could this be the case? I think these will need to match.