Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failing on OSX #238

Closed
majulier opened this issue Oct 11, 2019 · 25 comments
Closed

failing on OSX #238

majulier opened this issue Oct 11, 2019 · 25 comments

Comments

@majulier
Copy link

I just installed 6.0.4_1 on a Mac/OSX. I get "Error starting ET process through ssh, please make sure your ssh works first" regardless of if I am trying to connect to localhost or a remote machine. If trying to connect to a remote machine I get "Connected to server but canonname is null somehow". If trying to connect to localhost I get "bash: line 1: etterminal: command not found" after entering my password.
The remote machine works fine. I can et to it from itself or another machine. This seems to be an issue on the Mac side or due to an interface incompatibility.

@ailzhang
Copy link
Collaborator

Hey @majulier what's the et version on remote machine?

@majulier
Copy link
Author

etterminal is present if I invoke it from the command line.

@majulier
Copy link
Author

version on linux box is 5.1.9

@majulier
Copy link
Author

version on Mac is 6.0.4

@ailzhang
Copy link
Collaborator

Oh binaries across major releases are not compatible. So try upgrading your et on remote machine as well?

@majulier
Copy link
Author

trying to update on the linux box... (presumably I have an issue with pthreads...)

cmake ../
CMake Warning at CMakeLists.txt:5 (FIND_PACKAGE):
By not providing "FindSanitizers.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Sanitizers", but CMake did not find one.

Could not find a package configuration file provided by "Sanitizers" with
any of the following names:

SanitizersConfig.cmake
sanitizers-config.cmake

Add the installation prefix of "Sanitizers" to CMAKE_PREFIX_PATH or set
"Sanitizers_DIR" to a directory containing one of the above files. If
"Sanitizers" provides a separate development package or SDK, be sure it has
been installed.

CMake Error at CMakeLists.txt:8 (INCLUDE):
include could not find load file:

cotire

-- Could NOT find UTempter (missing: UTEMPTER_INCLUDE_DIR UTEMPTER_LIBRARIES)
CMake Error at CMakeLists.txt:99 (add_sanitizers):
Unknown CMake command "add_sanitizers".
Call Stack (most recent call first):
CMakeLists.txt:181 (DECORATE_TARGET)

-- Configuring incomplete, errors occurred!
See also "/home/mjulier/EternalTerminal-master/build/CMakeFiles/CMakeOutput.log".
See also "/home/mjulier/EternalTerminal-master/build/CMakeFiles/CMakeError.log".

CMakeError.log has:

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/mjulier/EternalTerminal-master/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_848b0/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_848b0.dir/build.make CMakeFiles/cmTC_848b0.dir/build
gmake[1]: Entering directory /home/mjulier/EternalTerminal-master/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_848b0.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_848b0.dir/CheckFunctionExists.c.o -c /usr/local/share/cmake-3.6/Modules/CheckFunctionExists.c Linking C executable cmTC_848b0 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_848b0.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_848b0.dir/CheckFunctionExists.c.o -o cmTC_848b0 -rdynamic -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status gmake[1]: *** [cmTC_848b0] Error 1 gmake[1]: Leaving directory /home/mjulier/EternalTerminal-master/build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_848b0/fast] Error 2

@ailzhang
Copy link
Collaborator

Oh I think 6.0.4 binary are already rolled out to yum and apt-get, is that not working?
But to answer your question above, I think cloning recursively might fix your problem.
git clone --recurse-submodules https://github.com/MisterTea/EternalTerminal.git

@majulier
Copy link
Author

I'm on CentOS for the linux box. there isn't an "et" for "yum install et". Do you know the package name?

@ailzhang
Copy link
Collaborator

Oh sorry building from source is required on centos I think, did https://github.com/MisterTea/EternalTerminal#centos-7 help?

@majulier
Copy link
Author

majulier commented Oct 11, 2019

Interestingly, google kept taking me to:
https://eternalterminal.dev/download/

instead. That doesn't have the same info as your link above.

following the (better) instructions I got:
mjulier@localhost EternalTerminal]$ cd build
[mjulier@localhost build]$ cmake3 ../
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- cotire 1.8.0 loaded.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Protobuf: /usr/lib64/libprotobuf.so;-lpthread (found version "2.5.0")
-- Found sodium: /usr/lib64/libsodium.so
-- Could NOT find UTempter (missing: UTEMPTER_INCLUDE_DIR UTEMPTER_LIBRARIES)
-- CXX target et-lib cotired.
-- CXX target TerminalCommon cotired.
-- CXX target etserver cotired without precompiled header. Too few applicable sources.
-- CXX target etterminal cotired without precompiled header. Too few applicable sources.
-- CXX target et cotired without precompiled header. Too few applicable sources.
-- CXX target HtmCommon cotired.
-- CXX target htm cotired without precompiled header. Too few applicable sources.
-- CXX target htmd cotired without precompiled header. Too few applicable sources.
-- CXX target et-test cotired.
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Protobuf_LITE_LIBRARY
linked by target "et-test" in directory /home/mjulier/EternalTerminal
linked by target "htmd" in directory /home/mjulier/EternalTerminal
linked by target "et" in directory /home/mjulier/EternalTerminal
linked by target "etserver" in directory /home/mjulier/EternalTerminal
linked by target "htm" in directory /home/mjulier/EternalTerminal
linked by target "etterminal" in directory /home/mjulier/EternalTerminal

-- Configuring incomplete, errors occurred!
See also "/home/mjulier/EternalTerminal/build/CMakeFiles/CMakeOutput.log".
See also "/home/mjulier/EternalTerminal/build/CMakeFiles/CMakeError.log".
[mjulier@localhost build]$

CMakeError.log contains
[mjulier@localhost build]$ cat CMakeFiles/CMakeError.log
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_ec94b/fast
/usr/bin/gmake -f CMakeFiles/cmTC_ec94b.dir/build.make CMakeFiles/cmTC_ec94b.dir/build
gmake[1]: Entering directory /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ec94b.dir/CheckSymbolExists.c.o /usr/bin/cc -o CMakeFiles/cmTC_ec94b.dir/CheckSymbolExists.c.o -c /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_ec94b /usr/bin/cmake3 -E cmake_link_script CMakeFiles/cmTC_ec94b.dir/link.txt --verbose=1 /usr/bin/cc -rdynamic CMakeFiles/cmTC_ec94b.dir/CheckSymbolExists.c.o -o cmTC_ec94b CMakeFiles/cmTC_ec94b.dir/CheckSymbolExists.c.o: In function main':
CheckSymbolExists.c:(.text+0x14): undefined reference to pthread_create' CheckSymbolExists.c:(.text+0x18): undefined reference to pthread_create'
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTC_ec94b] Error 1
gmake[1]: Leaving directory `/home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_ec94b/fast] Error 2

File /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_8bb8d/fast
/usr/bin/gmake -f CMakeFiles/cmTC_8bb8d.dir/build.make CMakeFiles/cmTC_8bb8d.dir/build
gmake[1]: Entering directory /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8bb8d.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_8bb8d.dir/CheckFunctionExists.c.o -c /usr/share/cmake3/Modules/CheckFunctionExists.c Linking C executable cmTC_8bb8d /usr/bin/cmake3 -E cmake_link_script CMakeFiles/cmTC_8bb8d.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_8bb8d.dir/CheckFunctionExists.c.o -o cmTC_8bb8d -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status gmake[1]: *** [cmTC_8bb8d] Error 1 gmake[1]: Leaving directory /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_8bb8d/fast] Error 2

@majulier
Copy link
Author

I happen to be on gcc 8.2.0, on an Aarch64 (ARM) system. When I installed ET originally everything was flawless. Since then, I've updated to gcc and had to reinstall on the Mac, which created the version incompatibility.

@majulier
Copy link
Author

yum install libutempter-devel got one error out of the way. Now I'm seeing:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Protobuf_LITE_LIBRARY
linked by target "et-test" in directory /home/mjulier/EternalTerminal
linked by target "htmd" in directory /home/mjulier/EternalTerminal
linked by target "et" in directory /home/mjulier/EternalTerminal
linked by target "etserver" in directory /home/mjulier/EternalTerminal
linked by target "htm" in directory /home/mjulier/EternalTerminal
linked by target "etterminal" in directory /home/mjulier/EternalTerminal

-- Configuring incomplete, errors occurred!
See also "/home/mjulier/EternalTerminal/build/CMakeFiles/CMakeOutput.log".
See also "/home/mjulier/EternalTerminal/build/CMakeFiles/CMakeError.log".

@majulier
Copy link
Author

CMakeError.log contains: (how do I not have pthread_create?!)

[mjulier@localhost build]$ cat CMakeFiles/CMakeError.log
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_ec94b/fast
/usr/bin/gmake -f CMakeFiles/cmTC_ec94b.dir/build.make CMakeFiles/cmTC_ec94b.dir/build
gmake[1]: Entering directory /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ec94b.dir/CheckSymbolExists.c.o /usr/bin/cc -o CMakeFiles/cmTC_ec94b.dir/CheckSymbolExists.c.o -c /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_ec94b /usr/bin/cmake3 -E cmake_link_script CMakeFiles/cmTC_ec94b.dir/link.txt --verbose=1 /usr/bin/cc -rdynamic CMakeFiles/cmTC_ec94b.dir/CheckSymbolExists.c.o -o cmTC_ec94b CMakeFiles/cmTC_ec94b.dir/CheckSymbolExists.c.o: In function main':
CheckSymbolExists.c:(.text+0x14): undefined reference to pthread_create' CheckSymbolExists.c:(.text+0x18): undefined reference to pthread_create'
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTC_ec94b] Error 1
gmake[1]: Leaving directory `/home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_ec94b/fast] Error 2

File /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_8bb8d/fast
/usr/bin/gmake -f CMakeFiles/cmTC_8bb8d.dir/build.make CMakeFiles/cmTC_8bb8d.dir/build
gmake[1]: Entering directory /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8bb8d.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_8bb8d.dir/CheckFunctionExists.c.o -c /usr/share/cmake3/Modules/CheckFunctionExists.c Linking C executable cmTC_8bb8d /usr/bin/cmake3 -E cmake_link_script CMakeFiles/cmTC_8bb8d.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_8bb8d.dir/CheckFunctionExists.c.o -o cmTC_8bb8d -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status gmake[1]: *** [cmTC_8bb8d] Error 1 gmake[1]: Leaving directory /home/mjulier/EternalTerminal/build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_8bb8d/fast] Error 2

@majulier
Copy link
Author

@ailzhang
Copy link
Collaborator

@majulier Try yum install protobuf-lite-devel protobuf-lite?

@majulier
Copy link
Author

@ailzhang - thank you for your help. I really appreciate you being out there to bounce stuff off of. It's always nice to not be alone when dealing with issues.

protobuf-lite(-devel) got build and install to work. Yeah!

now the "sudo systemctl start et.service" is failing. journalctl -xe shows:-- Subject: Unit et.service has begun start-up
-- Defined-By: systemd
-- Support: http:https://lists.freedesktop.org/mailman/listinfo/systemd-devel

-- Unit et.service has begun starting up.
Oct 11 20:13:55 localhost.localdomain etserver[26362]: terminate called after throwing an instance of 'std::regex_error'
Oct 11 20:13:55 localhost.localdomain systemd[1]: et.service: control process exited, code=killed status=6
Oct 11 20:13:55 localhost.localdomain etserver[26362]: what(): regex_error
Oct 11 20:13:55 localhost.localdomain systemd[1]: Failed to start Eternal Terminal.
-- Subject: Unit et.service has failed
-- Defined-By: systemd
-- Support: http:https://lists.freedesktop.org/mailman/listinfo/systemd-devel

-- Unit et.service has failed.

-- The result is failed.
Oct 11 20:13:55 localhost.localdomain systemd[1]: Unit et.service entered failed state.
Oct 11 20:13:55 localhost.localdomain systemd[1]: et.service failed.
Oct 11 20:13:55 localhost.localdomain polkitd[7225]: Unregistered Authentication Agent for unix-process:26356:1393986 (system bus
Oct 11 20:13:55 localhost.localdomain sudo[26354]: pam_unix(sudo:session): session closed for user root
lines 3231-3265/3265 (END)

@majulier
Copy link
Author

Just in case it points to an issue...

[mjulier@localhost build]$ etserver
terminate called after throwing an instance of 'std::regex_error'
what(): regex_error
Aborted
[mjulier@localhost build]$ et --version
terminate called after throwing an instance of 'std::regex_error'
what(): regex_error
Aborted

@ailzhang
Copy link
Collaborator

Oh so that might caused by an old devtool. If you yum install devtoolset-8, and then build the binary with scl enable devtoolset-8 'cmake ..' it might work. Maybe give it a try? We can update the Readme if that works for you.

@majulier
Copy link
Author

I got "Cannot find a valid baseurl for repo: centos-sclo-sclo/aarch64" when trying to install devtoolset-8 (and 7). I'll go dig on that a bit.

@majulier
Copy link
Author

n.m. figured out to disable the solo-sclo repo

@majulier
Copy link
Author

did a make clean then the scleras command you suggest above then completed install instructions. It failed. journalctl -xe shows:

-- Subject: Unit et.service has begun start-up
-- Defined-By: systemd
-- Support: http:https://lists.freedesktop.org/mailman/listinfo/systemd-devel

-- Unit et.service has begun starting up.
Oct 11 22:22:00 localhost.localdomain etserver[27880]: terminate called after throwing an instance of 'std::regex_error'
Oct 11 22:22:00 localhost.localdomain etserver[27880]: what(): regex_error
Oct 11 22:22:00 localhost.localdomain systemd[1]: et.service: control process exited, code=killed status=6
Oct 11 22:22:00 localhost.localdomain systemd[1]: Failed to start Eternal Terminal.
-- Subject: Unit et.service has failed
-- Defined-By: systemd
-- Support: http:https://lists.freedesktop.org/mailman/listinfo/systemd-devel

-- Unit et.service has failed.

-- The result is failed.
Oct 11 22:22:00 localhost.localdomain systemd[1]: Unit et.service entered failed state.
Oct 11 22:22:00 localhost.localdomain systemd[1]: et.service failed.
Oct 11 22:22:00 localhost.localdomain sudo[27872]: pam_unix(sudo:session): session closed for user root
Oct 11 22:22:00 localhost.localdomain polkitd[7225]: Unregistered Authentication Agent for unix-process:27874:2162531 (system bus name :1.237, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.U
lines 2956-2996/2996 (END)

@majulier
Copy link
Author

getting the:
[mjulier@localhost build]$ et --version
terminate called after throwing an instance of 'std::regex_error'
what(): regex_error
Aborted

error still.

@MisterTea
Copy link
Owner

It's because your cmake results are cached. Blow away the build directory and run cmake using the command Ailing posted.

@majulier
Copy link
Author

Thank you!
In case anyone ever reads this far, "the command Ailing posted" is (likely):
scl enable devtoolset-8 'cmake3 ../'
scl enable devtoolset-8 'make && sudo make install'
within the instructions pointed to earlier in the thread.

Thank you so much both of you. It is great to have ET back in my life. Missing it for a couple of weeks has been the worst part of my previous MacBook Pro dying.

@caruccio
Copy link
Contributor

In case someone doesn't known what scl is or how to install devtools-8: https://www.softwarecollections.org/en/scls/rhscl/devtoolset-8/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants