Closed nkoturovic closed 1 year ago
Thanks for raising this issue; I wasn't aware that Python 3.8 had changed the pkg-config flags for linking to libpython.
I pushed a new python3.8
branch; could you try this, using the stack-python3.8.yaml
file (stack install --stack-yaml=stack-python3.8.yaml
)?
The first issue you ran into is straightforward to fix by using the python3-embed pkg-config package instead of python3. This requires a cabal flag to support both Python 3.8 and earlier, though, thus the new stack.yaml file.
The second issue I have a hard time explaining except as a bug in Python 3.8.0. I check that we're running in the main thread before calling signal.signal, but then Python raises an exception saying "signal only works in main thread" anyway. I've raised an issue on the Python issue tracker; in the mean time, it seems that this issue goes away if I use a non-bound thread to run the Python interpreter. This solution makes me nervous though.
Again, thanks for reporting this issue. If you hadn't pointed out the new -embed pkgconfig package, I would have probably spent hours trying to figure out what had broken with Python 3.8!
Thank you for your quick response!
It works now, with python3.8 branch and new .yaml file. From user point, everything seems to work just fine.
I hope that bug in python3.8 will be tracked and fixed fast, so you could be able to apply more appropriate solution.
Glad I could help a little.
1) After update to Python 3.8 on ArchLinux - build failed:
Managed to bypass this error by replacing
python-3.8.pc
withpython-3.8-embed.pc
in/usr/lib/pkgconfig
, but2) After successful build and install there is another error: Error: When trying to run
ptghci
:Sorry for lack of understanding