[xenial] xserver-xorg-dev should depend on libxfont1-dev

Bug #1707691 reported by brian mullan on 2017-07-31
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Timo Aaltonen

Bug Description

[Impact]
/usr/include/xorg/dixfont.h includes X11/fonts/fontutil.h.

fontutil.h is contained in libxfont1-dev package not libxfont-dev package (version 2.0.1).

I am trying to build xorgxrdp and it fails because fontutil.h is missing.

In Ubuntu, libxfont1-dev package is required however libxfont1-dev and libxfont-dev cannot be installed together. This is the problem.

Package info: Ubuntu 16.04

$ dpkg -la | grep -e xserver-xorg-dev -e libxfont-dev
ii libxfont-dev 1:2.0.1-3~ubuntu16.04.1 amd64 X11 font rasterisation library (development headers)
ii xserver-xorg-dev 2:1.18.4-0ubuntu0.3 amd64 Xorg X server - development files

[Test case]
xserver-xorg-dev needs to change the dependency on libxfont-dev to libxfont1-dev.

[Regression potential]
none, this is just to reflect the current state

Timo Aaltonen (tjaalton) wrote :

you need to build with xserver-xorg-dev-hwe-16.04 instead

Changed in libxfont (Ubuntu):
status: New → Won't Fix
Timo Aaltonen (tjaalton) wrote :

I mean either you build with xserver-xorg-dev & libxfont1-dev, or xserver-xorg-dev-hwe-16.04 & libxfont-dev. Can't mix the two. Fix your pkg to match.

brian mullan (bmullan) wrote :

ok... I notified NeutrinoLabs about your recommendation and I assume they will remedy the xorgxrdp build process to accommodate this

close the bug report

John Anold (johnar) wrote :

xserver-xorg-dev-hwe-16.04 & libxfont-dev doesn't work -- causes ABI version mismatch with xrdp-sesman

xserver-xorg-dev can't be installed with libxfont1-dev, as xserver-xorg-dev has an (unmatched) dependency on libx1font-dev.

This is totally broken.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Timo Aaltonen (tjaalton) wrote :

yes, the -dev metapackage needs to be fixed and a fix has been uploaded to the queue

affects: libxfont1 (Ubuntu) → xorg-server (Ubuntu)
Changed in xorg-server (Ubuntu):
status: New → Confirmed
Timo Aaltonen (tjaalton) on 2017-08-07
Changed in xorg-server (Ubuntu):
status: New → In Progress
assignee: nobody → Timo Aaltonen (tjaalton)
Changed in xorg-server (Ubuntu Xenial):
assignee: nobody → Timo Aaltonen (tjaalton)
status: New → In Progress
Changed in xorg-server (Ubuntu):
assignee: Timo Aaltonen (tjaalton) → nobody
status: In Progress → Invalid
description: updated
John Anold (johnar) wrote :

Timo, any idea what the eta is, so I know when to check back? Thanks.

Timo Aaltonen (tjaalton) wrote :

you'll get notified when the package is accepted to -proposed

John Anold (johnar) wrote :

Update appreciated -- waiting for notification is not the same as an ETA. We're hard-down for one of our environments waiting for a fix here.

Thanks,
John

@John Arnold
There is a really simple workaround till this is fixed.

This worked for me and let me compile xorgxrdp. Not sure what your use
case is but...

step 1

*$ sudo touch /usr/include/X11/fonts/fontutil.h*

This file is owned by *root:root*, with mode *0o644*.

Then edit that file and put the following contents into it:

#ifndef _FONTUTIL_H_#define _FONTUTIL_H_
#include <X11/fonts/FSproto.h>
extern int FontCouldBeTerminal(FontInfoPtr);extern int
CheckFSFormat(fsBitmapFormat, fsBitmapFormatMask, int *, int *,
    int *, int *, int *);extern void FontComputeInfoAccelerators(FontInfoPtr);
extern void GetGlyphs ( FontPtr font, unsigned long count,
   unsigned char *chars, FontEncoding fontEncoding,
   unsigned long *glyphcount, CharInfoPtr *glyphs );extern void
QueryGlyphExtents ( FontPtr pFont, CharInfoPtr *charinfo,
    unsigned long count, ExtentInfoRec *info );extern Bool
QueryTextExtents ( FontPtr pFont, unsigned long count,
          unsigned char *chars, ExtentInfoRec *info );extern Bool
ParseGlyphCachingMode ( char *str );extern void InitGlyphCaching (
void );extern void SetGlyphCachingMode ( int newmode );extern int
add_range ( fsRange *newrange, int *nranges, fsRange **range,
         Bool charset_subset );
#endif /* _FONTUTIL_H_ */

                          = = = = = = = = = = =

Save the file and then do your compile/make etc and it should succeed.

Again, this is just a workaround till the bug gets fixed but it works for
me.

Brian

On Aug 9, 2017 7:45 PM, "John Anold" <email address hidden> wrote:

> Update appreciated -- waiting for notification is not the same as an
> ETA. We're hard-down for one of our environments waiting for a fix
> here.
>
> Thanks,
> John
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1707691
>
> Title:
> libxfont1-dev is missing fontutil.h
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/libxfont/+bug/1707
> 691/+subscriptions
>

brian mullan (bmullan) wrote :

@John Arnold
There is a really simple workaround till this is fixed.

This worked for me and let me compile xorgxrdp. Not sure what your use case is but...

step 1

$ sudo touch /usr/include/X11/fonts/fontutil.h

This file is owned by root:root, with mode 0o644.

Then edit that file and put the following contents into it:

#ifndef _FONTUTIL_H_
#define _FONTUTIL_H_

#include <X11/fonts/FSproto.h>

extern int FontCouldBeTerminal(FontInfoPtr);
extern int CheckFSFormat(fsBitmapFormat, fsBitmapFormatMask, int *, int *,
    int *, int *, int *);
extern void FontComputeInfoAccelerators(FontInfoPtr);

extern void GetGlyphs ( FontPtr font, unsigned long count,
   unsigned char *chars, FontEncoding fontEncoding,
   unsigned long *glyphcount, CharInfoPtr *glyphs );
extern void QueryGlyphExtents ( FontPtr pFont, CharInfoPtr *charinfo,
    unsigned long count, ExtentInfoRec *info );
extern Bool QueryTextExtents ( FontPtr pFont, unsigned long count,
          unsigned char *chars, ExtentInfoRec *info );
extern Bool ParseGlyphCachingMode ( char *str );
extern void InitGlyphCaching ( void );
extern void SetGlyphCachingMode ( int newmode );
extern int add_range ( fsRange *newrange, int *nranges, fsRange **range,
         Bool charset_subset );

#endif /* _FONTUTIL_H_ */

                          = = = = = = = = = = =

Save the file and then do your compile/make etc and it should succeed.

Again, this is just a workaround till the bug gets fixed but it works for me.

Brian

Brian, thanks for the steps.

I tried adding the fontutil.h, but i still get ABI conflicts when using:

johnar@nettools1-co1:~$ sudo dpkg -l | grep -e libxfont -e xserver-xorg-dev
ii libxfont-dev 1:2.0.1-3~ubuntu16.04.1 amd64 X11 font rasterisation library (development headers)
ii libxfont1:amd64 1:1.5.1-1ubuntu0.16.04.1 amd64 X11 font rasterisation library
ii libxfont2:amd64 1:2.0.1-3~ubuntu16.04.1 amd64 X11 font rasterisation library
ii xserver-xorg-dev 2:1.18.4-0ubuntu0.3 amd64 Xorg X server - development files

and I can't install libxfont1-dev with xserver-xorg-dev since xserver-xorg-dev requires libxfont-dev (conflict).

Trying xserver-xorg-dev-hwe-16.04 & libxfont-dev results in ABI conflicts too. I'm stuck.

Timo Aaltonen (tjaalton) wrote :

hmm, looks like the notification was not sent here.. anyway, you can enable xenial-proposed and pull new xserver-xorg-dev from there, and if things look fine, change the tag to verification-done-xenial

Changed in xorg-server (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed-xenial
John Anold (johnar) wrote :

Thanks Timo. Tag updated. Looks good, I got a successful build + connect using xserver-xorg-dev and libx1font-dev

tags: added: verification-done-xenial
removed: verification-needed-xenial
Timo Aaltonen (tjaalton) wrote :

libxfont1-dev should conflict with libxfont-dev, this is being tracked in bug 1709885

summary: - libxfont1-dev is missing fontutil.h
+ [xenial] xserver-xorg-dev should depend on libxfont1-dev
Changed in libxfont (Ubuntu Xenial):
status: New → Invalid
Timo Aaltonen (tjaalton) wrote :

umm no, I'll just drop the conflicting files from libxfont1

Timo Aaltonen (tjaalton) wrote :

or better yet, move them to the correct location, ha

Brendan Holmes (whiling) wrote :

"Thanks Timo. Tag updated. Looks good, I got a successful build + connect using xserver-xorg-dev and libx1font-dev" - yes I can confirm enabling xenial-proposed resolves issue for me too.

no longer affects: libxfont (Ubuntu Xenial)
no longer affects: libxfont (Ubuntu)

The verification of the Stable Release Update for xorg-server has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xorg-server - 2:1.18.4-0ubuntu0.4

---------------
xorg-server (2:1.18.4-0ubuntu0.4) xenial; urgency=medium

  * control: Build against libxfont1-dev. (LP: #1687981, #1707691)
  * disable-rotation-transform-gpuscreens.patch: Dropped, NVIDIA driver
    supports rotation now. (LP: #1706287)

 -- Timo Aaltonen <email address hidden> Mon, 26 Jun 2017 14:53:19 +0300

Changed in xorg-server (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers