Welcome to the forum, Guest

TOPIC: YACReaderLibraryServer freenas (freebsd 11.1) jail

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5252

Joe

Offline

Junior Boarder

Posts: 20

Thank you received: 1

Karma: 0

Indeed, i found it very strange.

I thought I was missing an option or something.

I may have a problem qt5-stuff (namely qt5-gui) build but if it is the case, I do not know where since the make procedure showed no error (contrary to the make install). Plus this is a non graphical freebsd server so I don't know how to test qt5 gui things.

I may retry in the near future but it is very long. Ironically, I do not things the qt5 stuff are usefull to run the Library Server only as I want to do.

Regards,

Joe
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5253

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

Yes, a problem with the Qt5 stuff is very likely. Maybe you can get in touch with the ports maintainer? __declspec is also used in unarr's header, but it should be removed by the preprocessor.
My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5264

Joe

Offline

Junior Boarder

Posts: 20

Thank you received: 1

Karma: 0

Hi there,

Just for the record, I rebuild my freebsd jail system, reinstalled qt5 stuffs, build from port... And there is still the same output with "__declspecé.

For some reason, i think it takes my freebsd 11.3 system for a window system. I tried to change from p7zip to unarr to see but no chance.

In case someone succeed to overcome this, would be glad to know how.

Regards,

Joe
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5267

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

Hi,

I didn't think of this before but there is a high chance that p7zip is the culprit. The upstream 7zip project heavily relies on the windows API and p7zip does all kind of define wrangling and shenanigans to make it work on Unix systems. I haven't looked at our p7zip inclusion code for years, but I wouldn't rule it out that there is a rogue define somewhere that triggers where it shouldn't.

My advice: Remove all p7zip stuff from your source tree and retry. If that doesn't help, I will see if I can reproduce the error on a virtual machine (if I can find a suitable image).
My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5268

Joe

Offline

Junior Boarder

Posts: 20

Thank you received: 1

Karma: 0

Hi selmf,

I try to remove p7zip but even configured to work without it (and with unarr to replace it), it make process seems to need it :
root@yacr:~/opt/sources/yacreader # qmake config+=unarr
root@yacr:~/opt/sources/yacreader # make
cd YACReader/ && ( test -e Makefile || /usr/local/lib/qt5/bin/qmake -o Makefile /root/opt/sources/yacreader/YACReader/YACReader.pro config+=unarr ) && make -f Makefile
/usr/local/lib/qt5/bin/qmake -o Makefile YACReader.pro CONFIG+=7zip
Project MESSAGE: Using system provided installation of poppler-qt5 found by pkg-config.
Project ERROR: You'll need 7zip source code to compile YACReader. Please check the compressed_archive folder for further instructions.
*** Error code 3

Stop.
make[1]: stopped in /root/opt/sources/yacreader/YACReader
*** Error code 1

Stop.
make: stopped in /root/opt/sources/yacreader

If you do not want to bother to build a system, you can still ssh into my jail where everything is set.

I made a user if you are interested (one time download) :
<url removed>

Feel free to install anything, it is a sandbox jail.

Regards,

Joe
Last Edit: 3 years 10 months ago by Joe.
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5269

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

There is an error in your qmake call. "CONFIG" is case sensitive. Run it like this:

qmake CONFIG+=unarr

But for the current code, it should default to unarr even if you do not explicitely set it. Strange.
My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5270

Joe

Offline

Junior Boarder

Posts: 20

Thank you received: 1

Karma: 0

Yes, I tried the capitalized config too, but with no more chance :
make
cd YACReader/ && ( test -e Makefile || /usr/local/lib/qt5/bin/qmake -o Makefile /root/opt/sources/yacreader/YACReader/YACReader.pro CONFIG+=unarr ) && make -f Makefile
/usr/local/lib/qt5/bin/qmake -o Makefile YACReader.pro CONFIG+=7zip
Project MESSAGE: Using system provided installation of poppler-qt5 found by pkg-config.
Project ERROR: You'll need 7zip source code to compile YACReader. Please check the compressed_archive folder for further instructions.
*** Error code 3

Stop.
make[1]: stopped in /root/opt/sources/yacreader/YACReader
*** Error code 1

Stop.
make: stopped in /root/opt/sources/yacreader
root@yacr:~/opt/sources/yacreader #

it seems to default to 7zip anyway.
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5272

Joe

Offline

Junior Boarder

Posts: 20

Thank you received: 1

Karma: 0

Ah, nevermind, I recloned the git and it did work.

Probably the first config file did not delete itself.

It is compiling now so I will make a review after.
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5274

selmf

Offline

Developer

Posts: 631

Thank you received: 135

Karma: 18

Great :) I'm still curious what caused this, but qmake is not exactly what I would call a reliable build system, so let's leave it at that :D
My answers are not necessarily official YACReader statements but mostly represent my own opinion in technical matters.
The administrator has disabled public write access.

YACReaderLibraryServer freenas (freebsd 11.1) jail 3 years 10 months ago #5275

Joe

Offline

Junior Boarder

Posts: 20

Thank you received: 1

Karma: 0

So, I can confirm it works.

I made a little .cshrc_history of what I did, for those who want to try on FreeNAS 11.3:

Beware

1./ that it will take some space to build :
Number of packages to be installed: 169
The process will require 724 MiB more space.
146 MiB to be downloaded.

Z./ that your pkg file configuration may be set to "latest" for better results :
#/etc/pkg/FreeBSD.conf

# $FreeBSD: releng/11.3/etc/pkg/FreeBSD.conf 347034 2019-05-02 23:59:44Z gjb $
#
# To disable this repository, instead of modifying or removing this file,
# create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
#
#   mkdir -p /usr/local/etc/pkg/repos
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
#

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

It can work with the "quarterly" setting but the port version and the pkg version can be different in this case and then, if you fuck up with the pkg, you will have trouble building port version.


When you are ready, you may go inside your building folder and proceed :
#Install all dependencies via pkg-config (except poppler)

pkg install git \
qt5-qmake \
# poppler-qt5 \
qt5-declarative \
qt5-concurrent \
qt5-sql \
qt5-script \
qt5-multimedia \
qt5-imageformats \
qt5-sqldrivers-sqlite3-5.14.2 \
qt5-sqldrivers-sqlite2-5.14.2 \
qt5-network \
qt5-buildtools \
unarr

#Install poppler via port (qmake do not find it otherwise, but why ?)

portsnap fetch
portsnap extract
portsnap fetch update
cd /usr/ports/graphics/poppler/ 
setenv BATCH yes
make
make install clean

#Install YAC itself

git clone https://github.com/YACReader/yacreader.git
cd yacreader/
qmake CONFIG+=unarr
make
make install clean


Remark that I had to install poppler-qt5 from port source, otherwise it was not recognized by qt5-make. If someone have an explanation, I would be glad to hear it.


Eventually, when it's installed, you may run
YACReaderLibraryServer start

And it should be available on port 8080.

Configuration of port and else is in
~/.local/share/YACReader/YACReaderLibrary/YACReaderLibrary.ini


Next step : build a jail plugin that would appear in ix system as an unofficial freenas plugin, like this, would be rather cool :

www.ixsystems.com/community/resources/cr...al-iocage-plugin.99/

EDIT : READABILITY (and stuffs)
Last Edit: 3 years 10 months ago by Joe.
The administrator has disabled public write access.
Powered by Kunena Forum