Skip to content
YACReader
Help and support for Linux users.

Unable to compile from sources

More
4 years 2 months ago #6911 by mcon
Unable to compile from sources was created by mcon
I feel a little dumb, but...

I am trying to compile from sources on Linux (Debian Sid, if it matters).

Problem is system seems to try compiling for Windows (and fails, of course).

I haven't found the right spell to compile; here's my latest attempt:

Code:
mcon@cinderella:/tmp/yacreader-9.8.2.2106204$ make cd YACReader/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /tmp/yacreader-9.8.2.2106204/YACReader/YACReader.pro CONFIG+=7zip PREFIX=/usr/local ) && make -f Makefile Project MESSAGE: Using system provided installation of poppler-qt5 found by pkg-config. Project MESSAGE: Found p7zip source code... can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |previous patch |--- libp7zip/CPP/include_windows/windows.h |+++ libp7zip/CPP/include_windows/windows.h -------------------------- File to patch: Skip this patch? [y] Skipping patch. 1 out of 1 hunk ignored can't find file to patch at input line 17 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- | |fix linux build |--- libp7zip/CPP/myWindows/StdAfx.h |+++ libp7zip/CPP/myWindows/StdAfx.h -------------------------- File to patch: Skip this patch? [y] Skipping patch. 1 out of 1 hunk ignored patching file libp7zip/CPP/7zip/Archive/7z/7zIn.cpp Hunk #1 FAILED at 1097 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file libp7zip/CPP/7zip/Archive/7z/7zIn.cpp.rej patching file libp7zip/CPP/7zip/Compress/ShrinkDecoder.cpp Hunk #1 FAILED at 121 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file libp7zip/CPP/7zip/Compress/ShrinkDecoder.cpp.rej patching file libp7zip/CPP/7zip/Compress/Rar1Decoder.cpp Hunk #1 FAILED at 29 (different line endings). Hunk #2 FAILED at 406 (different line endings). Hunk #3 FAILED at 477 (different line endings). 3 out of 3 hunks FAILED -- saving rejects to file libp7zip/CPP/7zip/Compress/Rar1Decoder.cpp.rej patching file libp7zip/CPP/7zip/Compress/Rar1Decoder.h Hunk #1 FAILED at 39 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file libp7zip/CPP/7zip/Compress/Rar1Decoder.h.rej patching file libp7zip/CPP/7zip/Compress/Rar2Decoder.cpp Hunk #1 FAILED at 80 (different line endings). Hunk #2 FAILED at 100 (different line endings). Hunk #3 FAILED at 170 (different line endings). Hunk #4 FAILED at 344 (different line endings). 4 out of 4 hunks FAILED -- saving rejects to file libp7zip/CPP/7zip/Compress/Rar2Decoder.cpp.rej patching file libp7zip/CPP/7zip/Compress/Rar2Decoder.h Hunk #1 FAILED at 139 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file libp7zip/CPP/7zip/Compress/Rar2Decoder.h.rej patching file libp7zip/CPP/7zip/Compress/Rar3Decoder.cpp Hunk #1 FAILED at 92 (different line endings). Hunk #2 FAILED at 545 (different line endings). Hunk #3 FAILED at 606 (different line endings). Hunk #4 FAILED at 623 (different line endings). Hunk #5 FAILED at 824 (different line endings). Hunk #6 FAILED at 838 (different line endings). 6 out of 6 hunks FAILED -- saving rejects to file libp7zip/CPP/7zip/Compress/Rar3Decoder.cpp.rej patching file libp7zip/CPP/7zip/Compress/Rar3Decoder.h Hunk #1 FAILED at 192 (different line endings). Hunk #2 FAILED at 200 (different line endings). 2 out of 2 hunks FAILED -- saving rejects to file libp7zip/CPP/7zip/Compress/Rar3Decoder.h.rej patching file libp7zip/CPP/7zip/Common/StreamObjects.cpp Hunk #1 FAILED at 157 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file libp7zip/CPP/7zip/Common/StreamObjects.cpp.rej patching file libp7zip/CPP/Windows/ErrorMsg.cpp Hunk #1 FAILED at 14 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file libp7zip/CPP/Windows/ErrorMsg.cpp.rej WARNING: Failure to find: /tmp/yacreader-9.8.2.2106204/compressed_archive/libp7zip/CPP/myWindows/wine_date_and_time.cpp make[1]: Entering directory '/tmp/yacreader-9.8.2.2106204/YACReader' compiling ../compressed_archive/7z_precompiled_header.h ../compressed_archive/7z_precompiled_header.h:6:10: fatal error: libp7zip/CPP/myWindows/StdAfx.h: No such file or directory 6 | #include "libp7zip/CPP/myWindows/StdAfx.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:796: YACReader.gch/c++] Error 1 make[1]: Leaving directory '/tmp/yacreader-9.8.2.2106204/YACReader' make: *** [Makefile:49: sub-YACReader-make_first] Error 2 mcon@cinderella:/tmp/yacreader-9.8.2.2106204$

Any hint welcome.
TiA!

Please Log in or Create an account to join the conversation.

More
4 years 2 months ago #6912 by Luis Ángel
Replied by Luis Ángel on topic Unable to compile from sources
Until recently 7zip wasn't compatible with Linux/macos, that's why p7zip was born, it has some code that provides alternatives to Windows APIs. That's why you see all that windows stuff.

What version of p7zip are you using?

File to patch:
Skip this patch? [y]
Skipping patch.

That patch should work if you are using the right version -> github.com/YACReader/yacreader/blob/deve...hive/README_7zip.txt

Contribute to the project becoming a patron: www.patreon.com/yacreader
You can also donate via Pay-Pal: www.paypal.com/donate?business=5TAMNQCDD...e=Support+YACReader\

Please Log in or Create an account to join the conversation.

More
4 years 2 months ago #6915 by mcon
Replied by mcon on topic Unable to compile from sources
You are right.
THANKS!

I made a stupid mistake and downloaded 7z1602-src.7z instead of p7zip_16.02_src_all.tar.bz2
Now compilation got completely through.

Unfortunately it doesn't seem to work right:
Trying to open any .cbr results in "unable to load 7z lib from ./utils".

Starting YACReader from the command line I also see (I don't know if it's relevant):
WARN 2022-07-14T08:50:20.765 defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"

What am I still missing?
TiA!

Please Log in or Create an account to join the conversation.

More
4 years 2 months ago #6917 by Luis Ángel
Replied by Luis Ángel on topic Unable to compile from sources
YACReader loads 7zip (p7zip) dynamically, so you need to have it installed in your system. You can try to install it from a package or building it yourself from the sources. You need the full version that includes RAR support. Remember to install the right version 16.02

Contribute to the project becoming a patron: www.patreon.com/yacreader
You can also donate via Pay-Pal: www.paypal.com/donate?business=5TAMNQCDD...e=Support+YACReader\

Please Log in or Create an account to join the conversation.

More
4 years 2 months ago #6918 by mcon
Replied by mcon on topic Unable to compile from sources
Thaks.

I do have p7zip installed, but I strongly doubt it is version 16.02 as I installed normally via `apt`.
I'm not sure downgrading forced is a good idea.

Correction:
packages installed are:
p7zip 16.02+dfsg-8
p7zip-full 16.02+dfsg-8
p7zip-rar 16.02-3

... so it should work (I think).

Note that "from ./utils" seems to suggest YACCReader is trying to load from "the wrong place".

Note also using standard decompression tool (unarr) is not really an option because AFAIK it doesn't handle "modern" (v5) rar files.

What are my options (beside going back to McomiX, of course ;) )?

TiA!

Please Log in or Create an account to join the conversation.

More
4 years 2 months ago #6923 by Luis Ángel
Replied by Luis Ángel on topic Unable to compile from sources
I will take a look at the code, I don’t remember right now how p7zip is loaded in Linux.

Contribute to the project becoming a patron: www.patreon.com/yacreader
You can also donate via Pay-Pal: www.paypal.com/donate?business=5TAMNQCDD...e=Support+YACReader\

Please Log in or Create an account to join the conversation.

More
4 years 2 months ago #6930 by selmf
Replied by selmf on topic Unable to compile from sources

mcon wrote: Thaks.
Note that "from ./utils" seems to suggest YACCReader is trying to load from "the wrong place".


Yes and no. The message is incorrect on Linux, but only half. By default, YACReader will look in /usr/lib/p7zip. If it does not find the files it needs under this path, the message will appear. The problem is most likely that Debian uses a different path, i.e. /usr/lib64/p7zip or something along these lines.

mcon wrote: What are my options (beside going back to McomiX, of course ;) )?


You've got two options. You can either run qmake with LIBDIR=/usr/lib64 (or whatever is correct) to set the correct path in the build system or you can fix things by creating symlinks, either to the path your build expects or if you want something a little more stable in case Debian Sid updates to the latest 7z you can place a copy of p7zip/7z.so and /p7zip/Codecs/Rar.so into /usr/lib/yacreader.

If you go for the copy, I strongly recommend taking a look at the source. This is an old workaround for constantly breaking Linux packages and while it is still in the source, we do not really support this any more (i.e. you're on your own!).

My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.

Please Log in or Create an account to join the conversation.

More
4 years 2 months ago #6935 by mcon
Replied by mcon on topic Unable to compile from sources
Thanks selmf.

I will try rebuilding using workarounds you suggested,but I strongly doubt that's the problem:

Code:
mcon@cinderella:/usr$ ls -la /usr/lib/p7zip/ total 5368 drwxr-xr-x 3 root root 4096 Jul 13 22:01 . drwxr-xr-x 140 root root 4096 Jul 14 09:38 .. -rwxr-xr-x 1 root root 597680 Aug 15 2020 7z -rwxr-xr-x 1 root root 1462016 Aug 15 2020 7za -rwxr-xr-x 1 root root 473576 Aug 15 2020 7zCon.sfx -rwxr-xr-x 1 root root 962096 Aug 15 2020 7zr -rw-r--r-- 1 root root 1986216 Aug 15 2020 7z.so drwxr-xr-x 2 root root 4096 Jul 13 22:01 Codecs mcon@cinderella:/usr$ file /usr/lib/p7zip/* /usr/lib/p7zip/7z: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=89e7c9a94ccbe7fdf82be42400b40384331d87a0, for GNU/Linux 3.2.0, stripped /usr/lib/p7zip/7za: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4a9528b6042eabd07b0956c4bb1c197fc5202c45, for GNU/Linux 3.2.0, stripped /usr/lib/p7zip/7zCon.sfx: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8e560e56d7a2f51f749b1eae13f127bb5805cfc2, for GNU/Linux 3.2.0, stripped /usr/lib/p7zip/7zr: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=dec92a0f6064f5d48d6f6710e3b1ceb7d879e97d, for GNU/Linux 3.2.0, stripped /usr/lib/p7zip/7z.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7bc04754b99cc9e0f174751b085bf773be6a29b6, stripped /usr/lib/p7zip/Codecs: directory mcon@cinderella:/usr$

I also tied copying
Code:
sudo cp ../p7zip/7z.so ../p7zip/Codecs/Rar.so /usr/lib/yacreader
and aloso to
Code:
/usr/local/lib/yacreader
as I installed YACRader in
Code:
/usr/local/bin
.
Nothing changed.

I will try to debug as soon as I get a bit of time.

Please Log in or Create an account to join the conversation.

Moderators: Luis Ángel
Powered by Kunena Forum

Thanks for downloading YACReader!

Your download is starting.

YACReader for iOS and Android

Connect to YACReaderLibrary to browse, read remotely and import comics. Your reading progress is synchronized across devices.

Download on the App Store Get it on Google Play Available at Amazon Appstore

Discover all the features on the iOS and Android pages, and learn how to use them in the iOS and Android user guides.

Support YACReader

YACReader for desktop and server is free to use, but it is not free to develop: maintaining this website, developer programs, code signing certificates, test devices and, of course, all the time it takes. Less than 0.01% of downloads end in a donation, so any amount counts.

By supporting the project you help keep it regularly updated and, most importantly, alive. Thanks!