FLTK logo

STR #1973

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]
 

Return to Bugs & Features | Roadmap 1.1 | SVN ⇄ GIT ]

STR #1973

Application:FLTK Library
Status:2 - Closed w/o Resolution
Priority:3 - Moderate, e.g. unable to compile the software
Scope:2 - Specific to an operating system
Subsystem:Build Files
Summary:autotools build badly broken on 64-bit Linux
Version:1.1.9
Created By:tkoeller
Assigned To:AlbrechtS
Fix Version:Unassigned
Update Notification:

Receive EMails Don't Receive EMails

Trouble Report Files:

No files


Trouble Report Comments:


Name/Time/Date Text  
 
#1 tkoeller
12:13 May 28, 2008
I tried to build and install fltk-1.1.9 on my Linux x86_64 system, and so I gave the argument '--libdir=$prefix/lib64' to configure. This failed miserably because there are numerous places in configure.in where hardcoded strings like 'LINKFLTK="../lib/libfltk.a"' are used, defeating the use of '$libdir'. I therefore decided to fix this by changing those occurrences to use '$libdir', but found that I could not rebuild the 'configure' script. Invoking autoreconf yields this:

bash-3.2$ autoreconf
/usr/share/aclocal/imlib.m4:9: warning: underquoted definition of AM_PATH_IMLIB
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/imlib.m4:167: warning: underquoted definition of AM_PATH_GDK_IMLIB
/usr/share/aclocal/audiofile.m4:12: warning: underquoted definition of AM_PATH_AUDIOFILE
autoheader: warning: missing template: FLTK_DATADIR
autoheader: Use AC_DEFINE([FLTK_DATADIR], [], [Description])
autoheader: warning: missing template: FLTK_DOCDIR
autoheader: warning: missing template: HAVE_ALSA_ASOUNDLIB_H
autoheader: warning: missing template: HAVE_DLFCN_H
autoheader: warning: missing template: HAVE_DLSYM
autoheader: warning: missing template: HAVE_GL
autoheader: warning: missing template: HAVE_GLXGETPROCADDRESSARB
autoheader: warning: missing template: HAVE_GL_GLU_H
autoheader: warning: missing template: HAVE_LIBJPEG
autoheader: warning: missing template: HAVE_LIBPNG
autoheader: warning: missing template: HAVE_LIBZ
autoheader: warning: missing template: HAVE_LOCALE_H
autoheader: warning: missing template: HAVE_LONG_LONG
autoheader: warning: missing template: HAVE_OVERLAY
autoheader: warning: missing template: HAVE_PNG_H
autoheader: warning: missing template: HAVE_PTHREAD
autoheader: warning: missing template: HAVE_PTHREAD_H
autoheader: warning: missing template: HAVE_SCANDIR
autoheader: warning: missing template: HAVE_SNPRINTF
autoheader: warning: missing template: HAVE_STRTOLL
autoheader: warning: missing template: HAVE_SYS_SELECT_H
autoheader: warning: missing template: HAVE_VSNPRINTF
autoheader: warning: missing template: HAVE_XDBE
autoheader: warning: missing template: HAVE_XINERAMA
autoheader: warning: missing template: U16
autoheader: warning: missing template: U32
autoheader: warning: missing template: U64
autoheader: warning: missing template: USE_QUARTZ
autoheader: warning: missing template: USE_XFT
autoheader: warning: missing template: __APPLE_QD__
autoheader: warning: missing template: __APPLE_QUARTZ__
autoreconf: /usr/bin/autoheader failed with exit status: 1

I have not been able to work out what's wrong here.
 
 
#2 mike
08:33 May 29, 2008
First, the ../lib/libfltk.a references are necessary for the static linking of locally-compiled programs, particularly fluid-static.

Second, autoreconf is the wrong program to use.  Despite the name, autoreconf is not an autoconf tool, but an automake tool.  FLTK does *not* use automake, only autoconf.  Use "autoconf" to rebuild the configure script.

64-bit builds certainly work for me on RHEL5, so it would be useful to see the full make log and which distribution and version of GCC you have...
 
 
#3 tkoeller
16:08 Jun 01, 2008
The 'make install' step fails:

bash-3.2$ sudo make install
=== installing FL ===
Installing include files in /opt/fltk-1/include...
=== installing src ===
Installing libraries in /opt/fltk-1/lib64...
ranlib: '/opt/fltk-1/lib64/../lib/libfltk.a': No such file
make[1]: *** [install] Error 1
make: *** [install] Error 1

I could work around this problem by doing

sudo make LIBNAME=libfltk.a FLLIBNAME=libfltk_forms.a GLLIBNAME=libfltk_gl.a IMGLIBNAME=libfltk_images.a install

The 'missing template' errors are generated by autoheader andappear even if autoheader is invoked directly, not through autoreconf. AFAIK autoheader is not part of automake, or am I wrong?
 
 
#4 mike
21:11 Jun 01, 2008
autoheader is part of autoconf, but is only used to update or create tests in a configure.{in|ac) file.  You almost never run it directly, and we do not use it, just autoconf.

The make install issue sounds like we should just hardcode the destination filename when we run ranlib - the static library will always be libfltk*.a.
 
 
#5 matt
08:25 Dec 29, 2008
64 bit systems are not fully supported by the FLTK 1.1.x branch. FLTK 1.3 and beyon will support 64 bit builds.  
 
#6 AlbrechtS
08:35 Nov 01, 2014
This STR is obsolete. As Matt noted, FLTK 1.1 does not support 64-bit builds.

FLTK 1.3 works well on 64-bit systems.
 
     

Return to Bugs & Features ]

 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.