It looks like you're new here. If you want to get involved, click one of these buttons!
Hello Matthias,
In my environment below, I got a timeout (after 60 sec) while fetching http://sami.klayout.org/repository.xml
.
OS: Linux Mint 20.3 (5.4.0-166-generic)
g++: version (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
KLayout: 0.28.12 source code build
* Q5: 5.12.8
* Ruby: 3.1.3
* Python: 3.8.10
* built with:
./build.sh \
-release \
-qmake /opt/Qt5/bin/qmake \
-ruby /usr/local/bin/ruby31 \
-python /usr/bin/python3 \
-build ./qt5.build.linux-64-gcc-release \
-bin ./qt5.bin.linux-64-gcc-release/ \
-option -j8 \
-with-qtbinding \
-qt5 \
-rblib /usr/local/lib/libruby.so.3.1 \
-rbinc /usr/local/include/ruby-3.1.0 \
-rbinc2 /usr/local/include/ruby-3.1.0/x86_64-linux \
-pylib /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0 \
-pyinc /usr/include/python3.8 2>&1 \
| tee qt5.build.linux-64-gcc-release.log
Both curl http://sami.klayout.org/repository.xml (with proxy settings in $HOME/.curlrc)
and wget http://sami.klayout.org/repository.xml (with proxy settings in $HOME/.wgetrc)
work fine (took about one second) in a terminal.
I have libcurl.so.4.6.0
installed, but it does not seem to be used.
Instead, libQt5Network.so.5
seems to be linked.
What am I missing?
Thanks and best regards,
Kazzz-S
Comments
Hi @sekigawa,
I think QtNetwork does not recognize the proxy settings from
.curlrc
or.wgetrc
. I understand that Qt uses the "system proxy" by default and I do not configure anything else. Honestly, I never had to configure proxy settings myself. Even in a company network, QtNetwork worked without changes.I found a little documentation here: https://doc.qt.io/qt-5/qnetworkproxyfactory.html#systemProxyForQuery. I don't know if that helps.
If the solution is curl, you can try using libcurl by building with "-libcurl" in build.sh. That enables libcurl instead of QtNetwork. My understanding is that after this, KLayout should respect ".curlrc", but I have not tested that myself.
Best regards,
Matthias
Hi @Matthias,
Thanks for the URL, which was helpful.
It says:
In my launching service Bash script, I set
export http_proxy=http://111.222.333.444:5678
.Then, fetching was successful.
Warm regards,
Kazzz-S
Next, in relation to No.2399, using the same Linux environment:
Direct Internet connection from Mac
The unit test
tlGitTests
passed in the four environments.Very good ! Thanks for sharing this information!
Matthias
Connection from Linux via Proxy
I'm playing with
libgit2
I have found a way to solve the timeout problem in the Linux environment with the following changes.
I'm sure there must be a more sophisticated way to handle a proxy.
But just for information.
Hello @sekigawa,
thanks for sharing this code piece.
I'm sorry I missed that ... I am right now releasing 0.28.13 (for now without that patch). But I am sure there will be an update soon.
I just wonder whether it is not possible to configure a proxy in general through the system. I was somehow assuming libgit2 would be using curl and that curl would read "http_proxy" itself without need to configure it externally. But looks like I am wrong. I still feel it is a bit weird that proxies need to be configured in the code.
Thanks and best regards,
Matthias
Hello @Matthias,
I agree. Please take your time.
Warm regards,
Kazzz-S
Meanwhile, in the
mingw64
environment, I got an error when startingut_runner.exe
, as shown below.What could be the reasons?
All test modules seem to be there...
Thank you.
Kazzz-S
Hi Kazzz,
Is $LD_LIBRARY_PATH actually working? To be frank I have not tried myself - I though there is not such thing on MSYS ..
Let me share with you my complete configuration to run the test suite on my Jenkins instance. Maybe this helps. I assume the interesting part is the comment about Python >= 3.8:
Best regards,
Matthias
Hi @Matthias,
Regarding LD_LIBRARY_PATH, your point is correct.
Regards,
Kazzz-S
Hi @Matthias,
Thank you for sharing the code I could run
ut_runner.exe
using the attached script in my mingw64 environment.In my company's Windows environment, the proxy to be used is automatically assigned according to each PC's IP address, so setting the http_proxy environment variable is unnecessary. But the above changes in
tlGit.cc
are required.<== My misunderstandings. Both are required.
Best regards,
Kazzz-S
Hi @sekigawa,
I picked up your suggestion about the HTTP_PROXY variable, but I found it may interfere with curl's own mechanism when built against curl.
I decided to call the variable "KLAYOUT_GIT_HTTP_PROXY", so it is unique. I tested the implementation with squid and it seems to work. I will release that feature with the next minor release.
Best regards,
Matthias
Hi @Matthias,
Thank you for supporting the proxy. I like your idea.
I'll set the
KLAYOUT_GIT_HTTP_PROXY
environment variable in my launching service Bash script.Best regards,
Kazzz-S