[argyllcms] Re: Linux 64-bit build problem with 1.3.7

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Mon, 02 Apr 2012 14:44:23 +1000

Boleslaw Ciesielski wrote:
> It seems that the extra checks added to Jamtop in 1.3.7 broke the native
> 64-bit build on Fedora 16:
> 
> $ jam -f Jambase
> Argyll Jamrules has been read
> DESTDIR = '.', PREFIX = '', REFSUBDIR = 'ref'
> Unable to locate the 32 bit X11 library files
> Exit 1
> $ uname -a
> Linux pilot 3.3.0-4.fc16.x86_64 #1 SMP Tue Mar 20 18:05:40 UTC 2012
> x86_64 x86_64 x86_64 GNU/Linux
> $ echo $HOSTTYPE
> x86_64-linux
> $ echo $MACHTYPE
> x86_64
> $

> I don't know much about Jam but I think this is because Jambase expects
> HOSTTYPE to be x86_64 but there is actually an environment variable with
> the same name with value x86_64-linux, at least on Fedora 16.

Hi,

HOSTTYPE _is_ the environment variable. It seems from your report
that Fedora has changed this from previous releases and in
contradiction to previous practice, since Jambase's handling of
HOSTTYPE has not changed.

Traditionally HOSTTYPE is the CPU type (ie. x86_64) while MACHTYPE has
the full machine & OS description (ie. x86_64-redhat-linux-gnu).
This was certainly the case on Fedora 14 and earlier systems.

It's hard to keep up if different distro's keep randomly changing
fundamental things like this!

[Check that HOSTTYPE is being exported in your shell .init file.]

> It seems to build fine if I copy Jamtop from 1.3.6.

Jamtop was changed to be a bit less sloppy in locating the
needed libraries. It would help if you could establish:

1) Whether the X11 library path is already known to the linker
   ie. whether it already searches the correct directory without
    being give a -L option to tell it where X11 is.
   [ You could try changing the "EXIT" statements on lines
     71 and 79 in Jamtop to ECHO, and see if it then works,
     indicating that this is true.]

2) Where the X11 libraries actually are on your system.

Graeme Gill.

Other related posts: