matiasdelellis / facerecognition

Nextcloud app that implement a basic facial recognition system.
GNU Affero General Public License v3.0
519 stars 46 forks source link

Please provide packages of php-pdlib for Ubuntu 20.04 Focal Fossa and Debian 10 Buster #275

Closed e-alfred closed 4 years ago

e-alfred commented 4 years ago

Please provide packages of php-pdlib for Ubuntu 20.04 Focal Fossa and Debian 10 Buster to support the most recent Debian/Ubuntu-based distributions. Both currently support PHP 7.3, maybe 7.4 in the future (at least Ubuntu 20.04).

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/91760747-please-provide-packages-of-php-pdlib-for-ubuntu-20-04-focal-fossa-and-debian-10-buster?utm_campaign=plugin&utm_content=tracker%2F74944432&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F74944432&utm_medium=issues&utm_source=github).
Thovi98 commented 4 years ago

Oh yes please ! And also for Debian Stretch (my Nextcloud server is on Yunohost, and I cannot compile pdlib on it :’( ). I’m a sooo excited to test this app, it’s a huge improvement for Nextcloud and open source in general :D

matiasdelellis commented 4 years ago

Hi both, Probably make a couple of packages these days..

And also for Debian Stretch (my Nextcloud server is on Yunohost, and I cannot compile pdlib on it :’( ).

Stretch there are packages, but Nextcloud increase the requirements (In NC18 to php => 7.1), and the compiled version (php = 7.0) is incompatible with Nexcloud.. :disappointed:

Thovi98 commented 4 years ago

Ah yes, I heard about that... Thanks, I will wait till Yunohost Buster than ! The first thing that I will do is install your app :D

e-alfred commented 4 years ago

@matiasdelellis Maybe a service to build the packages for many different distributions like openSUSE OBS would be useful: https://build.opensuse.org/

supermamie commented 4 years ago

Hi both, Probably make a couple of packages these days..

And also for Debian Stretch (my Nextcloud server is on Yunohost, and I cannot compile pdlib on it :’( ).

Stretch there are packages, but Nextcloud increase the requirements (In NC18 to php => 7.1), and the compiled version (php = 7.0) is incompatible with Nexcloud.. disappointed

Just for info in this specific case : YunoHost use the sury php repo and NextCloud (18) uses PHP7.3 But the default php version in tho system is still 7.0

In my case, I'll wait for the Buster migration, it should happen in a few weeks.

This app seems awesome !

Thovi98 commented 4 years ago

Now that Yunohost is on Buster, I would love to see a php-pdlib package for Buster 😃 Thanks in advance !

matiasdelellis commented 4 years ago

Hi everyone,

I'm waiting for @goodspb to merge on PR https://github.com/goodspb/pdlib/pull/32 and I will make more packages again. :wink:

goodspb commented 4 years ago

Hi everyone,

I'm waiting for @goodspb to merge on PR goodspb/pdlib#32 and I will make more packages again. 😉

Thanks for your contribution. I already merged PR#32 into master.

matiasdelellis commented 4 years ago

Thank you very much @goodspb

matiasdelellis commented 4 years ago

Packages for Debian buster done.. :grimacing:

echo "deb https://repo.delellis.com.ar buster buster" > /etc/apt/sources.list.d/20-pdlib.list
wget -qO - https://repo.delellis.com.ar/repo.gpg.key | sudo apt-key add -
apt update
apt install php7.3-pdlib

someone please try it .. :pray:

matiasdelellis commented 4 years ago

Packages for Debian bullseye done.. :grimacing:

echo "deb https://repo.delellis.com.ar bullseye bullseye" > /etc/apt/sources.list.d/20-pdlib.list
wget -qO - https://repo.delellis.com.ar/repo.gpg.key | sudo apt-key add -
apt update
apt install php7.4-pdlib

someone please try it .. :pray:

matiasdelellis commented 4 years ago

Packages for fedora updated:

sudo dnf copr enable matias/dlib
sudo dnf install pdlib

someone please try it .. :pray: :sweat_smile:

Thovi98 commented 4 years ago

Packages for Debian bullseye done.. 😬

echo "deb https://repo.delellis.com.ar bullseye bullseye" > /etc/apt/sources.list.d/20-pdlib.list
wget -qO - https://repo.delellis.com.ar/repo.gpg.key | sudo apt-key add -
apt update
apt install php7.4-pdlib

someone please try it .. 🙏

First of all, thank you !

I’ve tried to install it, but I have unsatistfied depedencies :

php7.4-pdlib : Dépend: libc6 (>= 2.29) mais 2.28-10 devra être installé
                Dépend: libdlib19 mais ne sera pas installé
                Dépend: libgcc-s1 (>= 3.0) mais il n'est pas installable
                Dépend: libstdc++6 (>= 9) mais 8.3.0-6 devra être installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état »

I don’t know if it’s a problem with my configuration of with the package.
Thovi98 commented 4 years ago

Oh sorry, I used the wrong post, I will try again with Buster of course !

Thovi98 commented 4 years ago

Okay thank you, installation works great on Buster (Yunohost) 😄

I’ll wait the next Facerecognition update to test the app, because it’s soon if I understood correctly  !

Thank you so much !!!

matiasdelellis commented 4 years ago

Okay thank you, installation works great on Buster (Yunohost) smile

Please.. At lest test it: https://github.com/matiasdelellis/pdlib-min-test-suite

I’ll wait the next Facerecognition update to test the app, because it’s soon if I understood correctly  !

Well, there will certainly be changes, but we hope to make them progressively, and now (Except for model 2 :disappointed: ) we are quite satisfied with the application. :smile: Maybe I wouldn't recommend it for a production server with clients, but for an personal server, it would be good to try. :wink:

matiasdelellis commented 4 years ago

Finally, ubuntu Focal packages..

echo "deb https://repo.delellis.com.ar focal focal" > /etc/apt/sources.list.d/20-pdlib.list
wget -qO - https://repo.delellis.com.ar/repo.gpg.key | sudo apt-key add -
apt update
apt install php7.4-pdlib
matiasdelellis commented 4 years ago

Well, I don't have any of these distributions for real testing .. :sweat_smile: So please, when you can try them, and in any case we will fix it. :wink:

Use: https://github.com/matiasdelellis/pdlib-min-test-suite

Thovi98 commented 4 years ago

Okay I tried on Buster, but it appears that the test was unsuccessfull :’(

Here is what is said, maybe something related to python ?

admin@next:~$ git clone https://github.com/matiasdelellis/pdlib-min-test-suite.git
Clonage dans 'pdlib-min-test-suite'...
remote: Enumerating objects: 39, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (31/31), done.
remote: Total 39 (delta 13), reused 31 (delta 7), pack-reused 0
Dépaquetage des objets: 100% (39/39), fait.

admin@next:~$ cd pdlib-min-test-suite/

admin@next:~/pdlib-min-test-suite$ make php-test
mkdir -p vendor/models/1
wget https://github.com/davisking/dlib-models/raw/94cdb1e40b1c29c0bfcaf7355614bfe6da19460e/mmod_human_face_detector.dat.bz2 -O vendor/models/1/mmod_human_face_detector.dat.bz2
--2020-08-05 15:37:42--  https://github.com/davisking/dlib-models/raw/94cdb1e40b1c29c0bfcaf7355614bfe6da19460e/mmod_human_face_detector.dat.bz2
Résolution de github.com (github.com)… 140.82.118.4
Connexion à github.com (github.com)|140.82.118.4|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://raw.githubusercontent.com/davisking/dlib-models/94cdb1e40b1c29c0bfcaf7355614bfe6da19460e/mmod_human_face_detector.dat.bz2 [suivant]
--2020-08-05 15:37:43--  https://raw.githubusercontent.com/davisking/dlib-models/94cdb1e40b1c29c0bfcaf7355614bfe6da19460e/mmod_human_face_detector.dat.bz2
Résolution de raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.12.133
Connexion à raw.githubusercontent.com (raw.githubusercontent.com)|151.101.12.133|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 694687 (678K) [application/octet-stream]
Sauvegarde en : « vendor/models/1/mmod_human_face_detector.dat.bz2 »

vendor/models/1/mmod_human_fa 100%[==============================================>] 678,41K  3,50MB/s    ds 0,2s

2020-08-05 15:37:43 (3,50 MB/s) — « vendor/models/1/mmod_human_face_detector.dat.bz2 » sauvegardé [694687/694687]

bzip2 -d vendor/models/1/mmod_human_face_detector.dat.bz2
mkdir -p vendor/models/1
wget https://github.com/davisking/dlib-models/raw/2a61575dd45d818271c085ff8cd747613a48f20d/dlib_face_recognition_resnet_model_v1.dat.bz2 -O vendor/models/1/dlib_face_recognition_resnet_model_v1.dat.bz2
--2020-08-05 15:37:43--  https://github.com/davisking/dlib-models/raw/2a61575dd45d818271c085ff8cd747613a48f20d/dlib_face_recognition_resnet_model_v1.dat.bz2
Résolution de github.com (github.com)… 140.82.118.4
Connexion à github.com (github.com)|140.82.118.4|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://raw.githubusercontent.com/davisking/dlib-models/2a61575dd45d818271c085ff8cd747613a48f20d/dlib_face_recognition_resnet_model_v1.dat.bz2 [suivant]
--2020-08-05 15:37:44--  https://raw.githubusercontent.com/davisking/dlib-models/2a61575dd45d818271c085ff8cd747613a48f20d/dlib_face_recognition_resnet_model_v1.dat.bz2
Résolution de raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.12.133
Connexion à raw.githubusercontent.com (raw.githubusercontent.com)|151.101.12.133|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 21428389 (20M) [application/octet-stream]
Sauvegarde en : « vendor/models/1/dlib_face_recognition_resnet_model_v1.dat.bz2 »

vendor/models/1/dlib_face_rec 100%[==============================================>]  20,44M  9,83MB/s    ds 2,1s

2020-08-05 15:37:47 (9,83 MB/s) — « vendor/models/1/dlib_face_recognition_resnet_model_v1.dat.bz2 » sauvegardé [21428389/21428389]

bzip2 -d vendor/models/1/dlib_face_recognition_resnet_model_v1.dat.bz2
mkdir -p vendor/models/1
wget https://github.com/davisking/dlib-models/raw/4af9b776281dd7d6e2e30d4a2d40458b1e254e40/shape_predictor_5_face_landmarks.dat.bz2 -O vendor/models/1/shape_predictor_5_face_landmarks.dat.bz2
--2020-08-05 15:37:52--  https://github.com/davisking/dlib-models/raw/4af9b776281dd7d6e2e30d4a2d40458b1e254e40/shape_predictor_5_face_landmarks.dat.bz2
Résolution de github.com (github.com)… 140.82.118.4
Connexion à github.com (github.com)|140.82.118.4|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://raw.githubusercontent.com/davisking/dlib-models/4af9b776281dd7d6e2e30d4a2d40458b1e254e40/shape_predictor_5_face_landmarks.dat.bz2 [suivant]
--2020-08-05 15:37:52--  https://raw.githubusercontent.com/davisking/dlib-models/4af9b776281dd7d6e2e30d4a2d40458b1e254e40/shape_predictor_5_face_landmarks.dat.bz2
Résolution de raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.12.133
Connexion à raw.githubusercontent.com (raw.githubusercontent.com)|151.101.12.133|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 5706710 (5,4M) [application/octet-stream]
Sauvegarde en : « vendor/models/1/shape_predictor_5_face_landmarks.dat.bz2 »

vendor/models/1/shape_predict 100%[==============================================>]   5,44M  7,20MB/s    ds 0,8s

2020-08-05 15:37:54 (7,20 MB/s) — « vendor/models/1/shape_predictor_5_face_landmarks.dat.bz2 » sauvegardé [5706710/5706710]

bzip2 -d vendor/models/1/shape_predictor_5_face_landmarks.dat.bz2

php scripts/face_detect.php
Welcome to pdlib min test suite for Facerecognition app...

The PHP extension PDlib is not loaded. Please configure this.

Please read our documentation:
 - https://github.com/matiasdelellis/facerecognition/wiki/Installation#install-pdlib
 - https://github.com/matiasdelellis/pdlib-min-test-suite/wiki/Troubleshooting

But if you need help open an issue here:
 - https://github.com/matiasdelellis/pdlib-min-test-suite/issues/new
admin@next:~/pdlib-min-test-suite$ php scripts/face_detect.php
Welcome to pdlib min test suite for Facerecognition app...

The PHP extension PDlib is not loaded. Please configure this.

Please read our documentation:
 - https://github.com/matiasdelellis/facerecognition/wiki/Installation#install-pdlib
 - https://github.com/matiasdelellis/pdlib-min-test-suite/wiki/Troubleshooting

But if you need help open an issue here:
 - https://github.com/matiasdelellis/pdlib-min-test-suite/issues/new

admin@next:~/pdlib-min-test-suite$ make python-test
python3 scripts/face_detect.py
it seems you don't have python binding installed

admin@next:~/pdlib-min-test-suite$ python3 scripts/face_detect.py
it seems you don't have python binding installed

admin@next:~/pdlib-min-test-suite$ apt search php7.3-pdlib
En train de trier... Fait
Recherche en texte intégral... Fait
php7.3-pdlib/inconnu,now 1.0.2-1 amd64  [installé]
  Detect faces with PHP

php7.3-pdlib-dbgsym/inconnu 1.0.2-1 amd64
  debug symbols for php7.3-pdlib

admin@next:~/pdlib-min-test-suite$
matiasdelellis commented 4 years ago

Hi @Thovi98 Thank you very much!.

make php-test
php scripts/face_detect.php
Welcome to pdlib min test suite for Facerecognition app...

The PHP extension PDlib is not loaded. Please configure this.

The important thing here is the php test, the binding python are not installed.. :wink:

Please restart your php service.

matias@services:~$ sudo systemctl restart php7.0-fpm.service 
matias@services:~$ sudo systemctl status php7.0-fpm.service 
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-08-05 11:36:08 -03; 5s ago
     Docs: man:php-fpm7.0(8)
 Main PID: 17000 (php-fpm7.0)
   Status: "Ready to handle connections"
    Tasks: 3 (limit: 12902)
   CGroup: /system.slice/php7.0-fpm.service
           ├─17000 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
           ├─17002 php-fpm: pool www
           └─17003 php-fpm: pool www

Aug 05 11:36:08 services systemd[1]: Stopped The PHP 7.0 FastCGI Process Manager.
Aug 05 11:36:08 services systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
Aug 05 11:36:08 services systemd[1]: Started The PHP 7.0 FastCGI Process Manager.
matias@services:~$ php -m | grep pdlib
pdlib

And in any case, show me the content of /etc/php/7.0/

matias@services:~$ ls /etc/php/7.0/
cli  fpm  mods-available

The examples is in debian stretch. change php7.0 to php7.3 :wink:

Thanks again

Thovi98 commented 4 years ago

I just restarted php. It didn’t change anything.

How can I install binding python ? :)

And as asked :

root@next:~# ls /etc/php/7.3/
cli  fpm  mods-available
Thovi98 commented 4 years ago

Oh I didn’t see the php -m | grep pdlibcommand. When I run it, nothing appears, not even pdlib...

matiasdelellis commented 4 years ago

Ok.. Test

matias@services:~$ php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"
/etc/php/7.0/cli/php.ini

And...

matias@services:~$ ls /etc/php/7.0/cli/
conf.d  php.ini  php.ini.bak  php.ini.ucf-old
matias@services:~$ ls /etc/php/7.0/cli/conf.d/
10-mysqlnd.ini  20-apcu_bc.ini   20-dom.ini       20-gd.ini       20-imap.ini  20-mbstring.ini  20-pdo_mysql.ini   20-phar.ini      20-simplexml.ini  20-sysvsem.ini    20-xmlreader.ini
10-opcache.ini  20-apcu.ini      20-exif.ini      20-gettext.ini  20-intl.ini  20-mcrypt.ini    20-pdo_pgsql.ini   20-posix.ini     20-sockets.ini    20-sysvshm.ini    20-xmlwriter.ini
10-pdo.ini      20-calendar.ini  20-fileinfo.ini  20-iconv.ini    20-json.ini  20-mysqli.ini    20-pdo_sqlite.ini  20-readline.ini  20-sqlite3.ini    20-tokenizer.ini  20-xsl.ini
15-xml.ini      20-ctype.ini     20-ftp.ini       20-imagick.ini  20-ldap.ini  20-pdlib.ini     20-pgsql.ini       20-shmop.ini     20-sysvmsg.ini    20-wddx.ini       20-zip.ini
Thovi98 commented 4 years ago
admin@next:~$ php -m | grep pdlib
admin@next:~$ php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"
/etc/php/7.0/cli/php.ini
admin@next:~$ ls /etc/php/7.0/cli/
conf.d  php.ini
admin@next:~$ ls /etc/php/7.0/cli/conf.d/
10-mysqlnd.ini   20-curl.ini      20-iconv.ini     20-mcrypt.ini     20-shmop.ini      20-tokenizer.ini
10-opcache.ini   20-dom.ini       20-igbinary.ini  20-mysqli.ini     20-simplexml.ini  20-wddx.ini
10-pdo.ini       20-exif.ini      20-imagick.ini   20-pdo_mysql.ini  20-smbclient.ini  20-xmlreader.ini
15-xml.ini       20-fileinfo.ini  20-intl.ini      20-phar.ini       20-sockets.ini    20-xmlwriter.ini
20-apcu.ini      20-ftp.ini       20-json.ini      20-posix.ini      20-sysvmsg.ini    20-xsl.ini
20-calendar.ini  20-gd.ini        20-ldap.ini      20-readline.ini   20-sysvsem.ini    25-apcu_bc.ini
20-ctype.ini     20-gettext.ini   20-mbstring.ini  20-redis.ini      20-sysvshm.ini

I didn’t change php/7.0/ to php/7.3, maybe I had to change too ?

matiasdelellis commented 4 years ago

Are you sure you are using buster ????

admin@next:~$ php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"
/etc/php/7.0/cli/php.ini

Buster font have php 7.0.

THIS IS IN STRECTH: (So it says 7.0, but this must be 7.3 to you..)

matias@services:~$ php -v
PHP 7.0.33-0+deb9u8 (cli) (built: Jul  5 2020 06:34:50) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-0+deb9u8, Copyright (c) 1999-2017, by Zend Technologies
matias@services:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Thovi98 commented 4 years ago

Strange.... maybe it is related to Yunohost ?

admin@next:~$ php -v
PHP 7.0.33-29+0~20200514.36+debian10~1.gbp126f6f (cli) (built: May 14 2020 09:10:44) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-29+0~20200514.36+debian10~1.gbp126f6f, Copyright (c) 1999-2017, by Zend Technologies
admin@next:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
matiasdelellis commented 4 years ago

Strange.... maybe it is related to Yunohost ?

Well, I don't know Yunohost, but apparently they're still working on the buster support..

If they don't use the official Php packages, my repository will never work for you. :disappointed:

Thovi98 commented 4 years ago

Oh sad 😢 But thank you anyway for your hard work and your disponibility !!

I still hope that in the future there will be the official php packages in Yunohost 🙏

supermamie commented 4 years ago

@Thovi98 What version of YunoHost are you using ? YunoHost 4x is based on Debian 10.5

Depending of if you use a fresh install on a migration, the default php version changes (on my side, it is 7.0.33, keept from migration, it should be 7.3 on a fresh install I think)

In YunoHost 3x, the sury repo was heavily used to have php 7.1+, I don't think it is still necessary, but still there (and it breaks upgrades for many people, me included :stuck_out_tongue: )

Thovi98 commented 4 years ago

I have Yunohost 4.0.3 (stable) - so it is latest version. I have effectively migrate from older version (Stretch).

Yes I have hear about sury : they keep it for now so latter they could do the same as fort Stretch.

supermamie commented 4 years ago

Just for info about YunoHost : I just tested and it seems to work just right ! The tests fails because the command uses php so I edited it to run php7.3 I had to use model 3 because of the little ram I have, I'll see tomorrow how much search will be done.

SpamReceiver commented 4 years ago

Finally, ubuntu Focal packages..

echo "deb https://repo.delellis.com.ar focal focal" > /etc/apt/sources.list.d/20-pdlib.list
wget -qO - https://repo.delellis.com.ar/repo.gpg.key | sudo apt-key add -
apt update
apt install php7.4-pdlib

I've tried this, but the ini-file for the module is not present: WARNING: Module pdlib ini file doesn't exist under /etc/php/7.4/mods-available

What went wrong?

matiasdelellis commented 4 years ago

Hi @SpamReceiver

What went wrong?

I don't know .. You're the first to try foca packages.. :see_no_evil: Thanks for that .. :smile:

WARNING: Module pdlib ini file doesn't exist under /etc/php/7.4/mods-available

Who command returns this message???

Please, showme the content of /etc/php/7.4 and /etc/php/7.4/mods-available

matiasdelellis commented 4 years ago

Please @SpamReceiver

imagen

Do not answer email and add the results in a suitable format so that it can be readed.. :disappointed:

SpamReceiver commented 4 years ago

Hi @SpamReceiver

What went wrong?

I don't know .. You're the first to try foca packages.. 🙈 Thanks for that .. 😄

WARNING: Module pdlib ini file doesn't exist under /etc/php/7.4/mods-available

Who command returns this message???

It's the output of phpenmod. I thought this command might help, but it didn't.

Please, showme the content of /etc/php/7.4 and /etc/php/7.4/mods-available

root@server:/# ll /etc/php/7.4
total 28
drwxr-xr-x 7 root root 4096 Aug 13 22:20 ./
drwxr-xr-x 6 root root 4096 Jul 12 22:01 ../
drwxr-xr-x 3 root root 4096 Mai 10 14:39 apache2/
drwxr-xr-x 3 root root 4096 Mai 11 08:06 cli/
drwxr-xr-x 3 root root 4096 Aug 13 22:20 fpm/
drwxr-xr-x 2 root root 4096 Aug 13 22:20 mods-available/
drwxr-xr-x 3 root root 4096 Mai 10 12:51 phpdbg/
root@server:/# ll /etc/php/7.4/mods-available
total 184
drwxr-xr-x 2 root root 4096 Aug 13 22:20 ./
drwxr-xr-x 7 root root 4096 Aug 13 22:20 ../
-rw-r--r-- 1 root root   31 Feb 25 23:25 apcu_bc.ini
-rw-r--r-- 1 root root   18 Feb 25 02:43 apcu.ini
-rw-r--r-- 1 root root   72 Mai  5 14:14 bcmath.ini
-rw-r--r-- 1 root root   66 Mai  5 14:14 bz2.ini
-rw-r--r-- 1 root root   74 Mai  5 14:14 calendar.ini
-rw-r--r-- 1 root root   71 Mai  5 14:14 ctype.ini
-rw-r--r-- 1 root root   68 Mai  5 14:14 curl.ini
-rw-r--r-- 1 root root   66 Mai  5 14:14 dom.ini
-rw-r--r-- 1 root root   70 Mai  5 14:14 exif.ini
-rw-r--r-- 1 root root   69 Mai  5 14:14 ffi.ini
-rw-r--r-- 1 root root   74 Mai  5 14:14 fileinfo.ini
-rw-r--r-- 1 root root   69 Mai  5 14:14 ftp.ini
-rw-r--r-- 1 root root   64 Mai  5 14:14 gd.ini
-rw-r--r-- 1 root root   73 Mai  5 14:14 gettext.ini
-rw-r--r-- 1 root root   66 Mai  5 14:14 gmp.ini
-rw-r--r-- 1 root root   71 Mai  5 14:14 iconv.ini
-rw-r--r-- 1 root root  364 Feb 25 23:30 igbinary.ini
-rw-r--r-- 1 root root   60 Mär  2 10:04 imagick.ini
-rw-r--r-- 1 root root   68 Mai  5 14:14 intl.ini
-rw-r--r-- 1 root root   68 Mai  5 14:14 json.ini
-rw-r--r-- 1 root root   68 Mai  5 14:14 ldap.ini
-rw-r--r-- 1 root root   76 Mai  5 14:14 mbstring.ini
-rw-r--r-- 1 root root 1909 Feb 27 16:33 memcache.ini
-rw-r--r-- 1 root root   71 Mai  5 14:14 mysqli.ini
-rw-r--r-- 1 root root   72 Mai  5 14:14 mysqlnd.ini
-rw-r--r-- 1 root root   79 Mai  5 14:14 opcache.ini
-rw-r--r-- 1 root root   69 Mai  5 14:14 pdo.ini
-rw-r--r-- 1 root root   74 Mai  5 14:14 pdo_mysql.ini
-rw-r--r-- 1 root root   70 Mai  5 14:14 phar.ini
-rw-r--r-- 1 root root   71 Mai  5 14:14 posix.ini
-rw-r--r-- 1 root root   76 Mai  5 14:14 readline.ini
-rw-r--r-- 1 root root   19 Dez 19  2019 redis.ini
-rw-r--r-- 1 root root   71 Mai  5 14:14 shmop.ini
-rw-r--r-- 1 root root   72 Mai  5 14:14 simplexml.ini
-rw-r--r-- 1 root root   73 Mai  5 14:14 sockets.ini
-rw-r--r-- 1 root root   73 Mai  5 14:14 sysvmsg.ini
-rw-r--r-- 1 root root   73 Mai  5 14:14 sysvsem.ini
-rw-r--r-- 1 root root   73 Mai  5 14:14 sysvshm.ini
-rw-r--r-- 1 root root   75 Mai  5 14:14 tokenizer.ini
-rw-r--r-- 1 root root   66 Mai  5 14:14 xml.ini
-rw-r--r-- 1 root root   72 Mai  5 14:14 xmlreader.ini
-rw-r--r-- 1 root root   72 Mai  5 14:14 xmlwriter.ini
-rw-r--r-- 1 root root   66 Mai  5 14:14 xsl.ini
-rw-r--r-- 1 root root   66 Mai  5 14:14 zip.ini
matiasdelellis commented 4 years ago

Hi @SpamReceiver

Thank you for responding again!. :wink:

It's the output of phpenmod. I thought this command might help, but it didn't.

Ok.. The idea was that I shouldn't run it, but I see that Ubuntu has a separate file for apache, which I don't configure. So Ok that run it.

root@server:/# ll /etc/php/7.4/mods-available

As you can see here, the main configuration file is not installed. I just checked that the file exists, so I'm assuming you didn't install it right. :disappointed:

Please, reinstall it and share console log:

matias@services:~$ sudo apt remove --purge  php7.0-pdlib 
[sudo] password for matias: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  dbconfig-common default-mysql-client libc-client2007e linux-image-4.9.0-3-amd64 mlock php-imap php7.0-imap python-acme python-certbot python-configargparse python-configobj python-dnspython python-funcsigs
  python-josepy python-mock python-parsedatetime python-pbr python-psutil python-requests python-requests-toolbelt python-rfc3339 python-urllib3 python-zope.component python-zope.event python-zope.hookable
  python-zope.interface wwwconfig-common
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  php7.0-pdlib*
0 upgraded, 0 newly installed, 1 to remove and 143 not upgraded.
After this operation, 12.5 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 67836 files and directories currently installed.)
Removing php7.0-pdlib (1.0+git20180830-3) ...
Processing triggers for php7.0-cli (7.0.33-0+deb9u8) ...
Processing triggers for php7.0-fpm (7.0.33-0+deb9u8) ...
(Reading database ... 67830 files and directories currently installed.)
Purging configuration files for php7.0-pdlib (1.0+git20180830-3) ...
matias@services:~$ sudo apt install php7.0-pdlib 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  dbconfig-common default-mysql-client libc-client2007e linux-image-4.9.0-3-amd64 mlock php-imap php7.0-imap python-acme python-certbot python-configargparse python-configobj python-dnspython python-funcsigs
  python-josepy python-mock python-parsedatetime python-pbr python-psutil python-requests python-requests-toolbelt python-rfc3339 python-urllib3 python-zope.component python-zope.event python-zope.hookable
  python-zope.interface wwwconfig-common
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  php7.0-pdlib
0 upgraded, 1 newly installed, 0 to remove and 143 not upgraded.
Need to get 854 kB of archives.
After this operation, 12.5 MB of additional disk space will be used.
Get:1 https://repo.delellis.com.ar stretch/stretch amd64 php7.0-pdlib amd64 1.0+git20180830-3 [854 kB]
Fetched 854 kB in 0s (1,033 kB/s)
Selecting previously unselected package php7.0-pdlib.
(Reading database ... 67830 files and directories currently installed.)
Preparing to unpack .../php7.0-pdlib_1.0+git20180830-3_amd64.deb ...
Unpacking php7.0-pdlib (1.0+git20180830-3) ...
Setting up php7.0-pdlib (1.0+git20180830-3) ...
Processing triggers for php7.0-cli (7.0.33-0+deb9u8) ...
Processing triggers for php7.0-fpm (7.0.33-0+deb9u8) ...
matias@services:~$ 

p.s: Note that is just an example. You need to remove and reinstall php7.4-dplib

SpamReceiver commented 4 years ago

Hi @SpamReceiver

Thank you for responding again!. 😉

It's the output of phpenmod. I thought this command might help, but it didn't.

Ok.. The idea was that I shouldn't run it, but I see that Ubuntu has a separate file for apache, which I don't configure. So Ok that run it.

root@server:/# ll /etc/php/7.4/mods-available

As you can see here, the main configuration file is not installed. I just checked that the file exists, so I'm assuming you didn't install it right. 😞

Please, reinstall it and share console log:

Here's my log.

Please note that the ini-file is enabled for CLI but not for Apache2. This matches the output of apt install where a trigger for CLI is activated, but none for Apache2.

root@server:/# apt list --installed | grep pdlib
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
php7.4-pdlib/unbekannt,now 1.0.2-1 amd64  [installiert]
root@server:/# apt remove --purge php7.4-pdlib php7.0-pdlib
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  libdlib19 libgfortran5 libopenblas0 libopenblas0-pthread libquadmath0
Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.
Die folgenden Pakete werden ENTFERNT:
  php7.0-pdlib* php7.4-pdlib*
0 aktualisiert, 0 neu installiert, 2 zu entfernen und 1 nicht aktualisiert.
Nach dieser Operation werden 1.384 kB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n]
(Lese Datenbank ... 144062 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von php7.4-pdlib (1.0.2-1) ...
Trigger für php7.4-cli (7.4.3-4ubuntu2.2) werden verarbeitet ...
(Lese Datenbank ... 144054 Dateien und Verzeichnisse sind derzeit installiert.)
Löschen der Konfigurationsdateien von php7.0-pdlib (1.0+git20180830-4) ...
Löschen der Konfigurationsdateien von php7.4-pdlib (1.0.2-1) ...
root@server:/# apt autoremove
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete werden ENTFERNT:
  libdlib19 libgfortran5 libopenblas0 libopenblas0-pthread libquadmath0
0 aktualisiert, 0 neu installiert, 5 zu entfernen und 1 nicht aktualisiert.
Nach dieser Operation werden 106 MB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n]
(Lese Datenbank ... 144050 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von libdlib19:amd64 (19.19-1) ...
Entfernen von libopenblas0:amd64 (0.3.8+ds-1ubuntu0.20.04.1) ...
Entfernen von libopenblas0-pthread:amd64 (0.3.8+ds-1ubuntu0.20.04.1) ...
Entfernen von libgfortran5:amd64 (10-20200411-0ubuntu1) ...
Entfernen von libquadmath0:amd64 (10-20200411-0ubuntu1) ...
Trigger für libc-bin (2.31-0ubuntu9) werden verarbeitet ...
root@server:/# apt install php7.4-pdlib
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  libdlib19 libgfortran5 libopenblas0 libopenblas0-pthread libquadmath0
Die folgenden NEUEN Pakete werden installiert:
  libdlib19 libgfortran5 libopenblas0 libopenblas0-pthread libquadmath0 php7.4-pdlib
0 aktualisiert, 6 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
Es müssen 14,5 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 107 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n]
Holen:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libquadmath0 amd64 10-20200411-0ubuntu1 [146 kB]
Holen:2 https://repo.delellis.com.ar focal/focal amd64 libdlib19 amd64 19.19-1 [4.067 kB]
Holen:3 http://archive.ubuntu.com/ubuntu focal/main amd64 libgfortran5 amd64 10-20200411-0ubuntu1 [734 kB]
Holen:4 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 libopenblas0-pthread amd64 0.3.8+ds-1ubuntu0.20.04.1 [9.127 kB]
Holen:5 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 libopenblas0 amd64 0.3.8+ds-1ubuntu0.20.04.1 [5.892 B]
Holen:6 https://repo.delellis.com.ar focal/focal amd64 php7.4-pdlib amd64 1.0.2-1 [389 kB]
Es wurden 14,5 MB in 9 s geholt (1.525 kB/s).
Vormals nicht ausgewähltes Paket libquadmath0:amd64 wird gewählt.
(Lese Datenbank ... 143681 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../0-libquadmath0_10-20200411-0ubuntu1_amd64.deb ...
Entpacken von libquadmath0:amd64 (10-20200411-0ubuntu1) ...
Vormals nicht ausgewähltes Paket libgfortran5:amd64 wird gewählt.
Vorbereitung zum Entpacken von .../1-libgfortran5_10-20200411-0ubuntu1_amd64.deb ...
Entpacken von libgfortran5:amd64 (10-20200411-0ubuntu1) ...
Vormals nicht ausgewähltes Paket libopenblas0-pthread:amd64 wird gewählt.
Vorbereitung zum Entpacken von .../2-libopenblas0-pthread_0.3.8+ds-1ubuntu0.20.04.1_amd64.deb ...
Entpacken von libopenblas0-pthread:amd64 (0.3.8+ds-1ubuntu0.20.04.1) ...
Vormals nicht ausgewähltes Paket libopenblas0:amd64 wird gewählt.
Vorbereitung zum Entpacken von .../3-libopenblas0_0.3.8+ds-1ubuntu0.20.04.1_amd64.deb ...
Entpacken von libopenblas0:amd64 (0.3.8+ds-1ubuntu0.20.04.1) ...
Vormals nicht ausgewähltes Paket libdlib19:amd64 wird gewählt.
Vorbereitung zum Entpacken von .../4-libdlib19_19.19-1_amd64.deb ...
Entpacken von libdlib19:amd64 (19.19-1) ...
Vormals nicht ausgewähltes Paket php7.4-pdlib wird gewählt.
Vorbereitung zum Entpacken von .../5-php7.4-pdlib_1.0.2-1_amd64.deb ...
Entpacken von php7.4-pdlib (1.0.2-1) ...
libquadmath0:amd64 (10-20200411-0ubuntu1) wird eingerichtet ...
libgfortran5:amd64 (10-20200411-0ubuntu1) wird eingerichtet ...
libopenblas0-pthread:amd64 (0.3.8+ds-1ubuntu0.20.04.1) wird eingerichtet ...
update-alternatives: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 wird verwendet, um /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) im automatischen Modus bereitzustellen
update-alternatives: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3 wird verwendet, um /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) im automatischen Modus bereitzustellen
update-alternatives: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblas.so.0 wird verwendet, um /usr/lib/x86_64-linux-gnu/libopenblas.so.0 (libopenblas.so.0-x86_64-linux-gnu) im automatischen Modus bereitzustellen
libopenblas0:amd64 (0.3.8+ds-1ubuntu0.20.04.1) wird eingerichtet ...
libdlib19:amd64 (19.19-1) wird eingerichtet ...
php7.4-pdlib (1.0.2-1) wird eingerichtet ...
Trigger für php7.4-cli (7.4.3-4ubuntu2.2) werden verarbeitet ...
Trigger für libc-bin (2.31-0ubuntu9) werden verarbeitet ...
root@server:/# ll /etc/php/7.4/mods-available/
total 188
drwxr-xr-x 2 root root 4096 Aug 18 19:30 ./
drwxr-xr-x 7 root root 4096 Aug 18 19:30 ../
-rw-r--r-- 1 root root   70 Mär 13 15:57 20-pdlib.ini
[...]
root@server:/# ll /etc/php/7.4/apache2/conf.d/ | grep pdlib
root@server:/# ll /etc/php/7.4/cli/conf.d/ | grep pdlib
lrwxrwxrwx 1 root root   33 Aug  4 23:17 20-pdlib.ini -> ../../mods-available/20-pdlib.ini
SpamReceiver commented 4 years ago

So, next thing I tried is phpenmod.

root@server:/# phpenmod pdlib
WARNING: Module pdlib ini file doesn't exist under /etc/php/7.4/mods-available
WARNING: Module pdlib ini file doesn't exist under /etc/php/7.4/mods-available
WARNING: Module pdlib ini file doesn't exist under /etc/php/7.4/mods-available

First try didn't work. So, second try works:

root@server:/# phpenmod 20-pdlib
root@server:/# systemctl restart apache2

But the link names aren't as pretty as expected:

root@server:/# ll /etc/php/7.4/cli/conf.d/ | grep pdlib
lrwxrwxrwx 1 root root   40 Aug 18 19:38 20-20-pdlib.ini -> /etc/php/7.4/mods-available/20-pdlib.ini
lrwxrwxrwx 1 root root   33 Aug  4 23:17 20-pdlib.ini -> ../../mods-available/20-pdlib.ini

root@server:/# ll /etc/php/7.4/apache2/conf.d/ | grep pdlib
lrwxrwxrwx 1 root root   40 Aug 18 19:38 20-20-pdlib.ini -> /etc/php/7.4/mods-available/20-pdlib.ini
matiasdelellis commented 4 years ago

Hi @SpamReceiver

Please note that the ini-file is enabled for CLI but not for Apache2.

As I told you before, Apache is not configured in the package (Never consider it .. but it is not essential either.). so if you need it, it's okay to enable it with phpenmod.

Well,

root@server:/# ll /etc/php/7.4/mods-available/
total 188
drwxr-xr-x 2 root root 4096 Aug 18 19:30 ./
drwxr-xr-x 7 root root 4096 Aug 18 19:30 ../
-rw-r--r-- 1 root root   70 Mär 13 15:57 20-pdlib.ini
[...]

As you can see, the main file is now installed. I don't know what you did before, but just now it's installed. Now you must enable the extension creating the symbolic link or just with the command phpenmod..

matiasdelellis commented 4 years ago

But the link names aren't as pretty as expected:

Great.. It may seem strange, but it makes sense that it depends on the file. :wink:

SpamReceiver commented 4 years ago

From my previous two comments I would like to propose the following changes:

Thank you very much!

I made the relevant changes manually:

root@server:/# rm /etc/php/7.4/cli/conf.d/20-20-pdlib.ini
root@server:/# mv /etc/php/7.4/apache2/conf.d/20-20-pdlib.ini /etc/php/7.4/apache2/conf.d/20-pdlib.ini
root@server:/# systemctl restart apache2

Now I was able to enable the Nextcloud app "Face Recognition".

bucherfa commented 4 years ago

Packages for Debian buster done.. grimacing

echo "deb https://repo.delellis.com.ar buster buster" > /etc/apt/sources.list.d/20-pdlib.list
wget -qO - https://repo.delellis.com.ar/repo.gpg.key | sudo apt-key add -
apt update
apt install php7.3-pdlib

someone please try it .. pray

so I am trying to get pdlib running inside of a docker container. As a base image i am using nextcloud:18-apache (debian buster).

this is the Dockerfile so far:

FROM nextcloud:18-apache

RUN cat /etc/*-release

RUN apt-get update && \
  apt-get install -y --no-install-recommends \
  wget nano gnupg \
  && rm -rf /var/lib/apt/lists/*

RUN echo "deb https://repo.delellis.com.ar buster buster" > /etc/apt/sources.list.d/20-pdlib.list
RUN wget -qO - https://repo.delellis.com.ar/repo.gpg.key | apt-key add -
# !!commented out since it fails here!!
RUN apt-get update #&& \
#  apt-get install -y --no-install-recommends \
#  php7.3-pdlib \
#  && rm -rf /var/lib/apt/lists/*

WORKDIR /var/www/html

when building the image with the docker file above ...

docker build -t "nf:Dockerfile-0" .

... then running the container ....

docker run -ti --rm nf:Dockerfile-0 bash

... and trying to installing the pdlib manually, i get this error:

root@8f0b7f39669a:/var/www/html# apt search pdlib 
Sorting... Done
Full Text Search... Done
php7.3-pdlib/unknown 1.0.2-1 amd64
  (none)

php7.3-pdlib-dbgsym/unknown 1.0.2-1 amd64
  (none)

python-pyftpdlib/stable 1.5.4-1 all
  Python FTP server library (Python 2)

python-pyftpdlib-doc/stable 1.5.4-1 all
  documentation for Python FTP server library

python3-pyftpdlib/stable 1.5.4-1 all
  Python FTP server library (Python 3)

root@8f0b7f39669a:/var/www/html# apt install php7.3-pdlib
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package php7.3-pdlib is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php7.3-pdlib' has no installation candidate

it seems to not find pdlib. I don't really know where to go from here.

matiasdelellis commented 4 years ago

Hi @bucherfa I admit that the error reported is another (Although the packages were checker in #323), but keep in mind that Docker does not use the PHP distribution packages, therefore you cannot use that repositories,.. 😞

matiasdelellis commented 4 years ago

I guess is time to close this.. Thanks for all.. :smile: