Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 657770 - www-apps/nextcloud-13.0.2: Exception":"Error","Message":"Call to undefined function OC\\imagettfbbox()"
Summary: www-apps/nextcloud-13.0.2: Exception":"Error","Message":"Call to undefined fu...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Bernard Cafarelli
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-10 23:33 UTC by gerion
Modified: 2018-08-29 19:05 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.log.gz (emerge-info.log.gz,3.47 KB, application/gzip)
2018-08-21 07:44 UTC, gerion
Details
nextcloud-13.0.5-build.log.gz (nextcloud-13.0.5-build.log.gz,638 bytes, application/gzip)
2018-08-21 07:44 UTC, gerion
Details
php-7.1.18-build.log.gz (php-7.1.18-build.log.gz,49.80 KB, application/gzip)
2018-08-21 07:45 UTC, gerion
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gerion 2018-06-10 23:33:37 UTC
I've nextcloud-13.0.2 installed together with PHP 7.1.16. It always logs this error:
msg=' {index} Exception: {"Exception":"Error","Message":"Call to undefined function OC\\imagettfbbox()","Code":0,"Trace":"#0 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/lib\/private\/Avatar.php(176): OC\\Avatar->generateAvatar('foobar', 1024)\n#1 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/core\/Controller\/AvatarController.php(135): OC\\Avatar->getFile(384)\n#2 [internal function]: OC\\Core\\Controller\\AvatarController->getAvatar('foobar', 384)\n#3 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/lib\/private\/AppFramework\/Http\/Dispatcher.php(161): call_user_func_array(Array, Array)\n#4 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/lib\/private\/AppFramework\/Http\/Dispatcher.php(91): OC\\AppFramework\\Http\\Dispatcher->executeController(Object(OC\\Core\\Controller\\AvatarController), 'getAvatar')\n#5 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/lib\/private\/AppFramework\/App.php(115): OC\\AppFramework\\Http\\Dispatcher->dispatch(Object(OC\\Core\\Controller\\AvatarController), 'getAvatar')\n#6 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php(47): OC\\AppFramework\\App::main('OC\\\\Core\\\\Control...', 'getAvatar', Object(OC\\AppFramework\\DependencyInjection\\DIContainer), Array)\n#7 [internal function]: OC\\AppFramework\\Routing\\RouteActionHandler->__invoke(Array)\n#8 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/lib\/private\/Route\/Router.php(297): call_user_func(Object(OC\\AppFramework\\Routing\\RouteActionHandler), Array)\n#9 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/lib\/base.php(999): OC\\Route\\Router->match('\/avatar\/foobar\/38...')\n#10 \/var\/www\/cloud.localhost\/htdocs\/nextcloud\/index.php(37): OC::handleRequest()\n#11 {main}","File":"\/var\/www\/cloud.localhost\/htdocs\/nextcloud\/lib\/private\/Avatar.php","Line":260}'

A quick search says that it might be something with gd, bug my php installation has the gd useflag enabled. Another bug says this has to do with freetype (https://github.com/nextcloud/nextcloud-snap/issues/418) but there is no useflag for it.

My php installation:
dev-lang/php-5.6.35-r1::gentoo was built with the following:
USE="acl berkdb bzip2 cli crypt ctype curl fileinfo filter fpm gd gdbm hash iconv ipv6 json mysql nls opcache pdo phar posix readline session simplexml sockets sqlite ssl threads tokenizer unicode xml xmlreader xmlwriter zip zlib -apache2 -bcmath -calendar -cdb -cgi -cjk -coverage -debug -embed -enchant -exif (-firebird) -flatfile -ftp -gmp -imap -inifile -intl -iodbc -kerberos -ldap -ldap-sasl -libedit -libmysqlclient -libressl -mhash -mssql -mysqli -oci8-instant-client -odbc -pcntl -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -spell -sybase-ct -systemd -sysvipc -tidy -truetype -vpx -wddx -xmlrpc -xpm -xslt" ABI_X86="(64)"
dev-lang/php-7.1.16::gentoo was built with the following:
USE="acl berkdb bzip2 cli crypt ctype curl fileinfo filter fpm gd gdbm hash iconv ipv6 json mysql nls opcache pdo phar posix readline session simplexml sockets sqlite ssl threads tokenizer unicode xml xmlreader xmlwriter zip zlib -apache2 -bcmath -calendar -cdb -cgi -cjk -coverage -debug -embed -enchant -exif (-firebird) -flatfile -ftp -gmp -imap -inifile -intl -iodbc -kerberos -ldap -ldap-sasl -libedit -libressl -mhash -mssql -mysqli -oci8-instant-client -odbc -pcntl -phpdbg -postgres -qdbm -recode (-selinux) -session-mm -sharedmem -snmp -soap -spell -systemd -sysvipc -test -tidy -truetype -wddx -webp -xmlrpc -xpm -xslt" ABI_X86="(64)"

I recently changed from PHP 5.6 to 7.1. The error message was not present before the switch.
Comment 1 Jonas Stein gentoo-dev 2018-06-12 20:42:50 UTC
Thank you for the report. Please recompile and *attach* the logfiles and 
paste the emerge info as described on
https://wiki.gentoo.org/wiki/Attach_the_logs_to_the_bug_ticket
Please reopen this ticket (Status:unconfirmed) afterwards.
Comment 2 gerion 2018-08-21 07:43:05 UTC
I have searched a little bit more. It is the FreeType error. Here are some more sources:
https://github.com/nextcloud/docker/issues/255
https://github.com/nextcloud/server/issues/7454

I found out, that FreeType support in PHP is activated with the truetype useflag. Activating it manually fixes the error. However, the useflag is not forced in the nextcloud ebuild.

I have not attached any logfiles, because this a runtime error. Neither it is clear, what log I should attach (nextcloud, php) and because the build is successful portage deletes the log on its own. However, I recompiled everything (without the truetype useflag) and will attach the logfiles.
Comment 3 gerion 2018-08-21 07:44:03 UTC
Created attachment 544236 [details]
emerge-info.log.gz

emerge --info dev-lang/php www-apps/nextcloud
Comment 4 gerion 2018-08-21 07:44:46 UTC
Created attachment 544238 [details]
nextcloud-13.0.5-build.log.gz
Comment 5 gerion 2018-08-21 07:45:19 UTC
Created attachment 544240 [details]
php-7.1.18-build.log.gz
Comment 6 Bernard Cafarelli gentoo-dev 2018-08-21 15:55:48 UTC
Thanks for the report and digging into this! Sorry the bug fell off my radar as it was marked RESOLVED.

I will check on my system later, but to recap 13.* ebuilds need php[truetype] for avatar generation
Comment 7 Larry the Git Cow gentoo-dev 2018-08-29 19:05:35 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91690e19af645602b08e899b9f89205738612634

commit 91690e19af645602b08e899b9f89205738612634
Author:     Bernard Cafarelli <voyageur@gentoo.org>
AuthorDate: 2018-08-29 19:05:16 +0000
Commit:     Bernard Cafarelli <voyageur@gentoo.org>
CommitDate: 2018-08-29 19:05:16 +0000

    www-apps/nextcloud: require USE=truetype for php
    
    Dependency edited in current revision as this is a heavy webapp with
    frequent updates
    
    Thanks gerion for the bug report and investigation
    
    Closes: https://bugs.gentoo.org/657770
    Package-Manager: Portage-2.3.48, Repoman-2.3.10

 www-apps/nextcloud/nextcloud-13.0.5.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)