[ https://issues.apache.org/jira/browse/CASSANDRA-18642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17739128#comment-17739128 ]
Stefan Miklosovic commented on CASSANDRA-18642: ----------------------------------------------- This fixes it (1) but it quite ugly. I do not know what is the best course of action. It would be nice if this in cassandra.spec {code} ( cd pylib && %{__python} setup.py install --no-compile --root %{buildroot}; ) {code} would be executed as part of "%post" - after it is installed, %post would use the right Python version, not the one used upon RPM package build. Then in "%preun" we would remove it. (1) [https://github.com/apache/cassandra/pull/2461/files] (2) [https://docs.python.org/3/distutils/setupscript.html] > cqlsh on Cassandra 4.1.2 fails on Amazon Linux > ----------------------------------------------- > > Key: CASSANDRA-18642 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18642 > Project: Cassandra > Issue Type: Bug > Components: CQL/Interpreter, Packaging > Reporter: Stefan Miklosovic > Assignee: Brandon Williams > Priority: Normal > Fix For: 4.0.x, 4.1.x, 5.x > > Time Spent: 10m > Remaining Estimate: 0h > > I am on the newest Amazon Linux Version 2023.1.20230629 > When I install cassandra-4.1.2 from Yum repository, it starts fine but cqlsh > prints this: > {code} > [ec2-user@ip-172-31-27-5 ~]$ cqlsh > Traceback (most recent call last): > File "/usr/bin/cqlsh.py", line 148, in <module> > from cqlshlib import cql3handling, pylexotron, sslhandling, > cqlshhandling, authproviderhandling > ModuleNotFoundError: No module named 'cqlshlib' > {code} > If I change in /usr/bin/cqlsh.py > {code} > cqlshlibdir = os.path.join(CASSANDRA_PATH, 'pylib') > {code} > to this > {code} > cqlshlibdir = os.path.join('/usr/lib/python3.6', 'site-packages') > {code} > it works. > I am not sure if this is the correct way to handle that as not everybody has > python3.6. There is also no symlink pointing to this. I guess we would need > to find where packages are for Python we are going to use in cassandra.spec > and then change cqlsh.py to reflect that? > {code} > [ec2-user@ip-172-31-27-5 /]$ sudo find -type d -name site-packages > ./usr/lib/python3.9/site-packages > ./usr/lib/python3.6/site-packages > ./usr/lib64/python3.9/site-packages > {code} > I think we need to pass whatever this (1) expands to here (2) > (1) https://github.com/apache/cassandra/blob/trunk/redhat/cassandra.spec#L167 > (2) https://github.com/apache/cassandra/blob/trunk/bin/cqlsh.py#L78 -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org