bugGNU Octave - Bugs: bug #54168, Build fails on dev: No rule to...

 
 

bug #54168: Build fails on dev: No rule to make target `-L/usr/local/opt/freetype/lib'

Submitter:  Andrew Janke <apjanke>
Submitted:  Sat 23 Jun 2018 04:05:45 AM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * Mac OS
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 26 Jun 2018 04:42:15 AM UTC, comment #5: 

Thanks John. Builds for me as well.

Ben Abbott <bpabbott>
Group Member
Mon 25 Jun 2018 12:11:12 PM UTC, comment #4: 

Thanks.

I think the variables with the "_DEPS" names lead to some confusion.  I'll try to take a look at improving that.

For now, closing this report as fixed.

John W. Eaton <jwe>
Group administrator
Mon 25 Jun 2018 05:50:21 AM UTC, comment #3: 


> Does it build correctly on OS X after this changeset?


Yes!

Andrew Janke <apjanke>
Mon 25 Jun 2018 05:29:29 AM UTC, comment #2: 

Does it build correctly on OS X after this changeset?

http://hg.savannah.gnu.org/hgweb/octave/rev/7cdda3ad947f

John W. Eaton <jwe>
Group administrator
Sat 23 Jun 2018 05:11:46 PM UTC, comment #1: 

The short revision might not be the same for every one. This is the revision I'm referring to: http://hg.savannah.gnu.org/hgweb/octave/rev/245de4f12ca3

Andrew Janke <apjanke>
Sat 23 Jun 2018 04:05:45 AM UTC, original submission:  

When I check out the latest source from the Hg repo and build it, I get a build failure with the following error:


make[2]: *** No rule to make target `-L/usr/local/opt/freetype/lib', needed by `libinterp/dldfcn/__delaunayn__.la'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


This was also reported by bpabbott on the Octave Maintainers list here.

Full build logs: https://gist.github.com/562f32bce773a66322b6b233cbac678c

> ... No rule to make target `-L/usr/local/opt/freetype/lib' ...


This sounds to me like an issue with generation of the Makefile. '-L/usr/local/opt/freetype/lib' is not a valid target; it's a build option. So it shouldn't show up in the target dependencies part of a Makefile.

Here's the relevant Makefile excerpt from my generated Makefile:


libinterp/dldfcn/__delaunayn__.la: $(libinterp_dldfcn___delaunayn___la_OBJECTS) $(libinterp_dldfcn___delaunayn___la_DEPENDENCIES) $(EXTRA_libinterp_dldfcn___delaunayn___la_DEPENDENCIES) libinterp/dldfcn/$(am__dirstamp)
        $(AM_V_CXXLD)$(libinterp_dldfcn___delaunayn___la_LINK) $(am_libinterp_dldfcn___delaunayn___la_rpath) $(libinterp_dldfcn___delaunayn___la_OBJECTS) $(libinterp_dldfcn___delaunayn___la_LIBADD) $(LIBS)
libinterp/dldfcn/__eigs___la-__eigs__.lo:  \
        libinterp/dldfcn/$(am__dirstamp) \
        libinterp/dldfcn/$(DEPDIR)/$(am__dirstamp)
...
libinterp_dldfcn___delaunayn___la_DEPENDENCIES = $(DLD_LIBOCTINTERP_LIBADD)
...
DLD_LIBOCTINTERP_LIBADD = $(OCT_LINK_DEPS)
...
OCT_LINK_DEPS =   -L/usr/local/opt/freetype/lib -lfreetype -lhdf5 -lGraphicsMagick++ -lGraphicsMagick -lz -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f -framework OpenGL -lfontconfig -lfreetype   -framework Carbon -lgl2ps    -lcurl -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitesparseconfig -larpack -lqrupdate -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f  -L/usr/local/opt/veclibfort/lib -lvecLibFort -lreadline -lncurses  -lpcre -ldl   -L/usr/local/Cellar/gcc/8.1.0/lib/gcc/8/gcc/x86_64-apple-darwin17.5.0/8.1.0 -L/usr/local/Cellar/gcc/8.1.0/lib/gcc/8/gcc/x86_64-apple-darwin17.5.0/8.1.0/../../.. -lgfortran -lquadmath -lm -lm            -liconv


It seems to me that OCT_LINK_DEPS and DLD_LIBOCTINTERP_LIBADD should not be making their way in to things that are going to appear as dependencies. Perhaps the "libinterp_dldfcn___delaunayn___la_DEPENDENCIES = $(DLD_LIBOCTINTERP_LIBADD)" is in error?

The addition of DLD_LIBOCTINTERP_LIBADD looks like it happened in Revision 25474 on 6/14, which is consistent with 4.4.0 building but it breaking for me now.

Perhaps this line in libinterp/dldfcn/config-module.awk is the issue, and it should be something separate like DLD_LIBOCTINTERP_DEPENDENCIES instead?

    printf ("%%canon_reldir%%_%s_la_DEPENDENCIES = $(DLD_LIBOCTINTERP_LIBADD)\n",
            basename);


I do not know the build system or oct files well enough to create a patch to fix this.

Andrew Janke <apjanke>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by bpabbott (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by apjanke (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-06-25 jwe StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code