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

Bug #1707691 reported by brian mullan
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
Invalid
Undecided
Unassigned
Xenial
Fix Released
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

Revision history for this message
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
Revision history for this message
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.

Revision history for this message
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

Revision history for this message
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.

Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Revision history for this message
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)
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
Revision history for this message
John Anold (johnar) wrote :

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

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

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

Revision history for this message
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

Revision history for this message
brian mullan (bmullan) wrote : Re: [Bug 1707691] Re: libxfont1-dev is missing fontutil.h

@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
>

Revision history for this message
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

Revision history for this message
John Anold (johnar) wrote : Re: libxfont1-dev is missing fontutil.h

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.

Revision history for this message
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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

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

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

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

Revision history for this message
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.

Mathew Hodson (mhodson)
no longer affects: libxfont (Ubuntu Xenial)
no longer affects: libxfont (Ubuntu)
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

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.

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.