| [ 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: | |
Trouble Report Files:
No files
Trouble Report Comments:
|
#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 ]
|
| |