FLTK logo

STR #2982

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 | Post Text | Post File | SVN ⇄ GIT | Prev | Next ]

STR #2982

Application:FLTK Library
Status:5 - New
Priority:1 - Request for Enhancement, e.g. asking for a feature
Scope:3 - Applies to all machines and operating systems
Subsystem:Build Files
Summary:Cannot build outside of source tree.
Version:1.4-feature
Created By:mtiernan
Assigned To:Unassigned
Fix Version:Unassigned
Update Notification:

Receive EMails Don't Receive EMails

Trouble Report Files:

Post File ]

No files


Trouble Report Comments:

Post Text ]
Name/Time/Date Text  
 
#1 mtiernan
15:41 Sep 09, 2013
Currently tested on Mac OSX.6.8 but I believe this to be system independent.

If you extract the software to $SOURCE and then move to a parallel directory $BUILD you can do the configuration with ../$SOURCE/configure and it *seems* to complete sueessfully but doesn't.

The same $SOURCE builds while *in* $SOURCE without any problems.

It should be able to be done outside the $SOURCE tree. (This is normal behaviour in the autoconfig system.)

Thanks for all your hard work!
 
 
#2 ianmacarthur
15:57 Sep 04, 2014
Is this still broken?

The autoconf stuff was restructured a bit recently, and this may now work. Or maybe not...

We would welcome some feedback form different build environments!
 
 
#3 mtiernan
04:54 Sep 05, 2014
I don't know, I'll download and try it again now.  
 
#4 mtiernan
05:12 Sep 05, 2014
Ruh roh... Seems to not work as expected.

Here's the results of doing a configure in another directory. It seems that the one thing *not* being "copied" over is fltk-1.3.2/Makefile which is needed after the configure to perform a build.

Directory "fltk"
       10 Sep  5 07:56 Current@ -> fltk-1.3.2
      374 Sep  5 07:57 Darwin/
     1496 Sep  5 07:56 fltk-1.3.2/
  4260874 Sep  5 07:55 fltk-1.3.2-source.tar.gz

In Darwin:
   102 Sep  5 07:57 FL/
    10 Sep  5 07:56 Source@ -> ../Current
  5811 Sep  5 07:57 config.h
 31455 Sep  5 07:57 config.log
 30367 Sep  5 07:57 config.status*
  9114 Sep  5 07:57 fltk-config*
 19697 Sep  5 07:57 fltk.list
  3338 Sep  5 07:57 fltk.spec
  4193 Sep  5 07:57 makeinclude

In Darwin/FL:
  1469 Sep  5 07:57 Makefile
 
 
#5 mtiernan
05:18 Sep 05, 2014
Okay, it's more than that. I just copied the file over and tried it and it fails.

The configured tree expects items from the source tree to be in the current directory. :(
 
 
#6 mtiernan
05:27 Sep 05, 2014
Okay, lack of coffee is making me stupid. :(

I just downloaded fltk-1.3.x-r10272 and tried it again. Nada.

It fails. :(

I did the autogen in the source directory then tried the build in a separate directory and it failed. I did the autogen in the build directory and it fails too.

Doing the autogen and make in the source tree works.
 
 
#7 ianmacarthur
14:27 Sep 05, 2014
Oh well, we live in hope...  
 
#8 greg.ercolano
10:28 Sep 08, 2014
Just checking: is the request to be able to run configure/make
when the cwd is not the FLTK directory?

I can replicate, but not sure why we should support this.

We ask that folks chdir to the FLTK directory before running
configure + make, as all the build instructions are sensitive
to the cwd.
 
 
#9 mtiernan
15:07 Sep 08, 2014
Unless you explicitly state that you cannot support this then you should be. (You being the magic entity behind things.)

It is normal and expected that you should be able to build without being in the root of the source tree.

I normally build packages for a variety of platforms and I use the same source tree and build the binaries in a parallel tree.

It is a normal M.O. for GNU builds.
 
 
#10 greg.ercolano
09:25 Sep 09, 2014
Sorry, I didn't know this was a feature of configure.

It certainly seems to be one we don't support.

I just tried this with Cairo (run configure from a separate, empty,
parallel directory) and the behavior seems to be that it creates
conf.h, subdirs like src, doc, test, etc.  so that when running 'make'
all the build related files (.o's, exe's) end up in the parallel
directory.

Seems fltk has not ever supported this, even 1.1.x.

Currently all the docs do say to chdir to the top level fltk
directory and run ./configure, but we can underline in the README
files that attempting to build FLTK outside that directory does not
work.

Perhaps a warning from ./configure could help that as well.

We should probably change this to an RFE, but I want to wait
for what the other devs have to say about this one.
 
 
#11 AlbrechtS
18:23 Sep 18, 2014
CMake-generated Makefiles work in out-of-source builds, and I do this regularly. Never tried with autoconf though.

I see the point, and we should probably support it, but it doesn't have priority for me. We should try to get 1.3.3 out soon, and changing the build system before that would not be wise.

Lowered priority to 1 (RFE).
 
 
#12 AlbrechtS
07:45 Aug 08, 2016
Moving this STR from 1.3-feature to 1.4-feature.

This is not going to be changed in branch-1.3. If anybody familiar with autotools volunteers then this might be addressed in FLTK 1.4.x though.

Note: patches appreciated!
 
     

Return to Bugs & Features | Post Text | Post File ]

 
 

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'.