Closed Strit closed 7 years ago
Which one is your distribution?
Arch based Manjaro.
Releasing the old static compilation as part of the release.
I hope the problems with the AppImage bundle are solved in the future, is supposed to cause less problems with dependencies.
Let me know if you have any other problem Strit.
Ok. Static version works, as expected.
Give me a ping if/when you get appimage working correctly and I'll update the AUR package for it.
I'm running gentoo (without SELinux) and the AppImage bundle does not start here either. Ldd on plugins/platforms/libqxcb.so shows, that it (obviously) can't find libselinux.so.1.
The static one runs fine, so thx for that!
Version 4.5 appimage still has this problem for me. Reopening issue, since 4.5 has no static.
Any idea what I can do to fix it?
I don't think we can do much, is a problem related to the AppImage + linuxdeployqt project. For people using Arch and maybe other distros it doesn't work.
To avoid this I release also the static linux version. But for v4.5 I have had to remove it because the new version has made the drafting process crash the app, I have just noticed it and inmediately remove it. I'm working on a fix that will come with a new release as soon as I can. You should skip this release for arch.
The crash only happens on the linux static and windows version, probably due to the qt version used to compile them.
Sure.
I have been messing around with different options to try to make the binary that works on all distros.
If you have time, try to run the 4 binaries you'll find here. You don't need to do anything, just run them and tell me which one works and which not?
Thanks!
Both files named *.AppImage started but reported an SSL error and got stuck on the "loading" screen. The 2 others complained about missing libjasper.so.1.
Ok, I'll have to keep working on the static one.
I found the problem, this one doesn't have any libjasper dependency and is already compiled with qt5.8
Let me know if it works, it should.
New error:
./ArenaTracker: error while loading shared libraries: libicui18n.so.55: cannot open shared object file: No such file or directory
My ICU version:
icu 58.2-2
Uff this qt5.8 is bringing some more dependencies.
Could you write in a console:
ldd ArenaTracker
and tell me all the missing dependencies?
Here without libicui18n dependency.
Now it's another icu thing. ./ArenaTracker: error while loading shared libraries: libicuuc.so.55: cannot open shared object file: No such file or directory
Maybe it's just not meant to be. :disappointed:
Do the ldd thing, it will be faster :)
ATlibicuuc.zip Lets hope I don't need to static link libicudata. That one is 30 MB
Good idea. Here is the one from the latest file:
./ArenaTracker: /usr/lib/libtiff.so.5: no version information available (required by ./ArenaTracker)
linux-vdso.so.1 (0x00007ffdd8dd6000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f97838ed000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007f9783638000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007f9782ff8000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007f9782dcf000)
libxcb-xinerama.so.0 => /usr/lib/libxcb-xinerama.so.0 (0x00007f9782bcc000)
libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f97829c5000)
libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f97827bd000)
libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007f97825ad000)
libxcb-image.so.0 => /usr/lib/libxcb-image.so.0 (0x00007f97823a8000)
libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f97821a4000)
libxcb-keysyms.so.1 => /usr/lib/libxcb-keysyms.so.1 (0x00007f9781fa1000)
libxcb-icccm.so.4 => /usr/lib/libxcb-icccm.so.4 (0x00007f9781d9c000)
libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007f9781b98000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f978197c000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f978163d000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f978143b000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f978122a000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f9781022000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f9780e05000)
libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x00007f9780c01000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f97809f3000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f97807ca000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f9780586000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f97802c5000)
libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007f978005b000)
libtiff.so.5 => /usr/lib/libtiff.so.5 (0x00007f977fdd6000)
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f977fb46000)
libicudata.so.55 => not found
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f977f942000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f977f73a000)
libpcre16.so.3 => not found
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f977f427000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f977f19c000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f977ef7e000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f977ec6b000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f977ea54000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f977e6b0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9783b3f000)
libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f977e4a7000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f977e29a000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f977e04e000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f977dcba000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f977daaf000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f977d8ac000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f977d6a1000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f977d496000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f977d293000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f977d090000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f977ce8a000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f977cc63000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f977c935000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f977c723000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f977c51f000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f977c2f9000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f977c0e4000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f977becd000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f977bcc9000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f977bac3000)
libxcb-util.so.1 => /usr/lib/libxcb-util.so.1 (0x00007f977b8bd000)
libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f977b6b8000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f977b48e000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f977b27e000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f977b048000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f977ae22000)
libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f977abf6000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f977a983000)
libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f977a751000)
libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f977a49b000)
libthai.so.0 => /usr/lib/libthai.so.0 (0x00007f977a291000)
libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f977a07b000)
libmount.so.1 => /usr/lib/libmount.so.1 (0x00007f9779e2d000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f9779b85000)
libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007f9779972000)
libdatrie.so.1 => /usr/lib/libdatrie.so.1 (0x00007f977976a000)
libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007f9779524000)
Ok, I'll try to recompile qt without icu because adding icudata is going to double the size of the binary.
Ok, got rid of ICU
No libicu* No libpcre16 Arena Tracker v4.51 Linux.zip
Hm, I get this: ./ArenaTracker: /usr/lib/libtiff.so.5: no version information available (required by ./ArenaTracker)
Even though ldd shows: libtiff.so.5 => /usr/lib/libtiff.so.5 (0x00007f03563b3000)
Any ideas?
That's weird, v4.44 had the same dependency and was working on your system. I'm creating a new one with libTiff.
Adding libtiff.a to the static compilation is not enough, it complain about missing references with other libraries.
Have you thought on building Arena Tracker from source on your PC?, this way it will perfectly linked with the up-to-date Arch libraries.
It's not trivial, because you need to download and compile an specific opencv version, but apart from that it's easy for a person who is used to work with compiling stuff. I can guide you if you decide to give it a try.
You could start here
That's actually what I started doing before you supplied the static Linux binary.
I might have an old PKGBUILD around, I can modify for it. I'll try it.
Alright. Downloaded source tar.gz, did a qmake and compiled the old opencv2 and installed it. I ran make and it went on for a while, but I got these errors: "kan ikke finde" means "could not find".
/usr/bin/ld: kan ikke finde -lopencv_aruco
/usr/bin/ld: kan ikke finde -lopencv_bgsegm
/usr/bin/ld: kan ikke finde -lopencv_bioinspired
/usr/bin/ld: kan ikke finde -lopencv_ccalib
/usr/bin/ld: kan ikke finde -lopencv_dpm
/usr/bin/ld: kan ikke finde -lopencv_freetype
/usr/bin/ld: kan ikke finde -lopencv_fuzzy
/usr/bin/ld: kan ikke finde -lopencv_hdf
/usr/bin/ld: kan ikke finde -lopencv_line_descriptor
/usr/bin/ld: kan ikke finde -lopencv_optflow
/usr/bin/ld: kan ikke finde -lopencv_reg
/usr/bin/ld: kan ikke finde -lopencv_saliency
/usr/bin/ld: kan ikke finde -lopencv_stereo
/usr/bin/ld: kan ikke finde -lopencv_structured_light
/usr/bin/ld: kan ikke finde -lopencv_phase_unwrapping
/usr/bin/ld: kan ikke finde -lopencv_rgbd
/usr/bin/ld: kan ikke finde -lopencv_surface_matching
/usr/bin/ld: kan ikke finde -lopencv_tracking
/usr/bin/ld: kan ikke finde -lopencv_datasets
/usr/bin/ld: kan ikke finde -lopencv_text
/usr/bin/ld: kan ikke finde -lopencv_face
/usr/bin/ld: kan ikke finde -lopencv_plot
/usr/bin/ld: kan ikke finde -lopencv_dnn
/usr/bin/ld: kan ikke finde -lopencv_xfeatures2d
/usr/bin/ld: kan ikke finde -lopencv_shape
/usr/bin/ld: kan ikke finde -lopencv_ximgproc
/usr/bin/ld: kan ikke finde -lopencv_xobjdetect
/usr/bin/ld: kan ikke finde -lopencv_xphoto
/usr/bin/ld: kan ikke finde -lopencv_videoio
/usr/bin/ld: kan ikke finde -lopencv_imgcodecs
collect2: fejl: ld returnerede afslutningskoden 1
make: *** [Makefile:552: ArenaTracker] Error 1
I don't know much about how you make the arch package but I guess you still need to make an static compilation of opencv or can you make a dependency of a specific version of opencv in the arch repository?
In either case, the errors are because it cannot find the libraries of opencv you just build.
Following this guide it set /usr/local as the destination of the libs, so when you do 'make install' they are copied there where qt will find them when compiling AT.
This is the command I used to statically compile opencv: 'cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_FFMPEG=OFF -D WITH_TIFF=OFF -D WITH_JPEG=OFF -D WITH_JASPER=OFF -D WITH_OPENGL=ON -D BUILD_SHARED_LIBS=OFF -D BUILD_OPENEXR=ON -D BUILD_PNG=OFF -D BUILD_ZLIB=ON ..'
I'm messing with it right now to compile as less stuff as I can, but that configuration worked for me.
Alright. I found an old 2.4.11 (the newest is 2.4.13) of opencv, trying to compile and install that now.
I'm using 2.4.11 but I don't think there would be any problem for using 2.4.13
As long as you dont jump to 3.x you should be ok. And even if you do you should be able to compile by changing some code on AT.
Wondering. I got this line in the makefile...
LIBS = $(SUBLIBS) -lz -L/home/triodo/Documentos/ArenaTracker/Libs -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dpm -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_rgbd -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_face -lopencv_plot -lopencv_dnn -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Core -lGL -lpthread Looks like it looks for libs in a folder that does not exist on other systems than yours.
Yep that's the dir where I have some .a libs for the static compilation, is added in ArenaTracker.pro
I think there's no problem if you let it as it is.
The libs I have there are something you shouldn't need because they can be taken from your system. They are libgcc.a libjasper.a libpcre16.a libstdc++.a
If I comment it out it fails with lots of undefined references.
You only can remove this portion of the line: -L/home/triodo/Documentos/ArenaTracker/Libs on the makefile, but you shouldn't touch the makefile.
If you really want to remove it from the makefile what you do is change from ArenaTracker.pro file the following line: linux: LIBS += -L/home/triodo/Documentos/ArenaTracker/Libs
Is at the end, but again I don't think is going to matter, is just a dir that doesn't exists on your system.
Yeah. Didn't help much. Current error after removing that line in .pro file:
[strit@HAL Arena-Tracker-4.51]$ make
g++ -Wl,-O1 -Wl,-O1,--sort-common,--as-needed,-z,relro -o ArenaTracker main.o mainwindow.o logloader.o logworker.o gamewatcher.o webuploader.o hscarddownloader.o deckhandler.o enemyhandhandler.o arenahandler.o secretshandler.o drafthandler.o heartharenamentor.o utility.o deckcard.o handcard.o secretcard.o draftcard.o drawcard.o resizebutton.o draftscorewindow.o scorebutton.o movelistwidget.o movetabwidget.o movetreewidget.o moveverticalscrollarea.o cardwindow.o versionchecker.o enemydeckhandler.o planhandler.o arrowgraphicsitem.o cardgraphicsitem.o herographicsitem.o heropowergraphicsitem.o miniongraphicsitem.o weapongraphicsitem.o plangraphicsview.o graphicsitemsender.o qcompressor.o bombwindow.o rngcard.o secretswindow.o qrc_arenatracker.o moc_mainwindow.o moc_logloader.o moc_logworker.o moc_gamewatcher.o moc_webuploader.o moc_hscarddownloader.o moc_deckhandler.o moc_enemyhandhandler.o moc_arenahandler.o moc_secretshandler.o moc_drafthandler.o moc_heartharenamentor.o moc_resizebutton.o moc_draftscorewindow.o moc_scorebutton.o moc_movelistwidget.o moc_movetreewidget.o moc_moveverticalscrollarea.o moc_cardwindow.o moc_versionchecker.o moc_enemydeckhandler.o moc_planhandler.o moc_plangraphicsview.o moc_graphicsitemsender.o moc_bombwindow.o moc_secretswindow.o -lz -L/lib64 -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab -ltbb -lGLU -lrt -lm -ldl -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Core -lGL -lpthread
main.o: I funktionen "cvflann::anyimpl::big_any_policy<cv::String>::static_delete(void**)":
main.cpp:(.text._ZN7cvflann7anyimpl14big_any_policyIN2cv6StringEE13static_deleteEPPv[_ZN7cvflann7anyimpl14big_any_policyIN2cv6StringEE13static_deleteEPPv]+0x15): undefined reference to `cv::String::deallocate()'
main.o: I funktionen "cvflann::anyimpl::big_any_policy<cv::String>::move(void* const*, void**)":
main.cpp:(.text._ZN7cvflann7anyimpl14big_any_policyIN2cv6StringEE4moveEPKPvPS5_[_ZN7cvflann7anyimpl14big_any_policyIN2cv6StringEE4moveEPKPvPS5_]+0x10): undefined reference to `cv::String::deallocate()'
main.cpp:(.text._ZN7cvflann7anyimpl14big_any_policyIN2cv6StringEE4moveEPKPvPS5_[_ZN7cvflann7anyimpl14big_any_policyIN2cv6StringEE4moveEPKPvPS5_]+0x24): undefined reference to `cv::String::deallocate()'
collect2: fejl: ld returnerede afslutningskoden 1
make: *** [Makefile:553: ArenaTracker] Error 1
Those undefined reference generally means is compiling taking headers of a version and bodies of a different one for the opencv library.
Try sudo ldconfig
No output of that.
man ldconfig to know what it does.
It shows no input but do checks.
Well I have to go for now.
I've found a libtiff without external dependencies. Let's try it. noicu systempng.zip
I've had no luck with compiling opencv and using the source of AT, but I did try your latest .zip here. gave this output:
QFontDatabase: Cannot find font directory /home/triodo/qt-static-5.8-noicu-systempng/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from http://dejavu-fonts.org for example) or switch to fontconfig.
16:07:42 - MainWindow: Path Arena Tracker Dir: /home/strit/.local/share/Arena Tracker
16:07:42 - MainWindow: Platform: Linux Static
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
16:07:42 - MainWindow: Extra: Json Cards --> Trying: https://api.hearthstonejson.com/v1/latest/all/cards.json
16:07:42 - MainWindow: Extra: Json LightForge --> Download from: http://thelightforge.com/api/TierList/Latest?locale=enUS
16:07:42 - DeckHandler: Clear Draw List.
16:07:42 - DeckHandler: Deck list cleared.
16:07:42 - DeckHandler: New deck.
16:07:42 - DeckHandler: Json decks file doesn't exists.
16:07:42 - LogLoader: Path Logs Dir: /home/strit/Games/Hearthstone/Logs - 34
So we don't have more dependency problems, at least the binary launch. We are almost there, I'll use a qt compilation without built-in extra stuff like fonts.
That one worked. It took some time before it prompted for log.config location, but it showed and UI appeared when I selected it.
Ok, that's a development version which have the open web button broken. I'll have to compile the latest release if you want to update your repo.
That would be awesome. Is it a static binary or appimage?
I'll compile a static binary of the latest release. The appImage give you the xcb error, right? I mean that's the title of this issue :P
Yep. I assume that's still the case, it was with 4.5.
I updated the linux static binary on the last release.
You can use it for the arch repo.
Hi.
Trying to get Arena Tracker to work in the AUR again, but since you are now distributing the linux binary as an appimage there's a problem.
When extracting the tar.gz file and trying to run the ArenaTracker.AppImage file I get this message:
Any ideas?