bugGNU Octave - Bugs: bug #45632, "make install" fails...

 
 

bug #45632: "make install" fails with "GraphicsMagick" built from source

Submitted by:  cto <cto>
Submitted on:  Sun 26 Jul 2015 05:04:12 PM UTC  
 
Category: Configuration and Build SystemSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Build Failure
Status: InvalidAssigned to: None
Originator Name: Open/Closed: Closed
Release: 4.0.0Operating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Mon 03 Aug 2015 02:32:30 AM UTC, comment #6:

Thanks for following up, I'm going to close this as invalid, not an Octave build bug. Feel free to post any further comments once you get the whole thing resolved (or another bug report if you run into other problems).

Mike Miller <mtmiller>
Project Administrator
Sun 02 Aug 2015 10:44:16 PM UTC, comment #5:

The octave built completed successfully. The error was from the gcc5.1 installation and not from octave. When I find the opportunity I would inquire with "gnu gcc" whether this is a bug in their installation process. Thank you.

PS.
For the record the problem and the solution was as follows:
inside the "libstdc++.la", "libgomp.la" (text files) it defines:
#Directory that this library needs to be installed in:
libdir='/usr/packs/lib'
though the gcc5.1 installation (with --prefix=/usr/packs/gcc_5.1) installed the libs in: "/usr/packs/gcc_5.1/lib"

I added a symbolic link of "/usr/packs/gcc_5.1/lib" into "/usr/packs" (without deleting the *.la files) and octave re-built successfully.
I noticed also that inside the *.la files it writes:
# Please DO NOT delete this file!
# It is necessary for linking the library.
when I would contact "gnu gcc" for the libs-path problem, I would inquiry also whether it is practically safe deleting the '*.la' files.

cto <cto>
Sun 02 Aug 2015 04:42:32 PM UTC, comment #4:

I just found the cause of the "library *.la was moved" and it seems that the build of gcc5.1 to a custom folder (with ./configure --prefix) did not install correctly and that maybe a gcc5.1 bug to report to them. The "libstdc++.la", "libgomp.la" were not installed in the expected folders as mentioned inside those text files. I modified manually the gcc5.1 lib-paths and re-building octave. I would confirm if it builds all right for cancelling this bug report. Thank you.

cto <cto>
Sun 02 Aug 2015 04:40:01 PM UTC, comment #3:

@cto, no one is saying it's not a bug, just that we need more information to know how to reproduce this or what's different about your setup. Maybe it's a bug and maybe it's now. Carnë is simply saying that he frequently builds GraphicsMagick from source and successfully installs Octave, so he doesn't hit whatever problem you are encountering. So it's not as simple as saying Octave doesn't support a custom-built GraphicsMagick.

I guess I would start by asking where does the path /usr/packs/lib/libstdc++.la come from? Can you search your Octave build directory to see if it appears anywhere? What about in the /usr/packs/graphics_magick-1.3.21/lib directory?

If I had to guess, I would say it is in a .la file somewhere. Whenever I see these types of errors about missing libraries or extra library paths being linked in, it is sometimes because of a .la file somewhere that libtool is reading during the link stage. That's why most people delete .la after doing "make install". Do you have any .la files under /usr/packs? Does deleting them make things better?

Mike Miller <mtmiller>
Project Administrator
Sun 02 Aug 2015 04:00:47 PM UTC, comment #2:

I suppose that this is the definition of a bug, that it does not work for certain circumstances or settings though it works for others. Also in any case it should complain before-hand during ./configure but it does not, and as mentioned before the ./configure reports the correct CPPFLAGS, LDFLAGS paths, for Magick++.
I confirmed the setting in my Linux system and repeated the build again and I report more information (about "library ... was moved"):

libtool: link: warning: library `/usr/packs/gcc_5.1/bin/../lib/gcc/i686-pc-linux-gnu/5.1.0/../../../libstdc++.la' was moved.
libtool: link: warning: library `/usr/packs/gcc_5.1/bin/../lib/gcc/i686-pc-linux-gnu/5.1.0/../../../libgomp.la' was moved.
/bin/sed: can't read /usr/packs/lib/libstdc++.la: No such file or directory
libtool: link: `/usr/packs/lib/libstdc++.la' is not a valid libtool archive
make[3]: *** [dldfcn/__magick_read__.la] Error 1

not sure what is the "library ... was moved"
The "libstdc++.la" is (and remains) in
/usr/packs/gcc_5.1/lib/libstdc++.la and not in
/usr/packs/lib/libstdc++.la
there is no directory:
/usr/packs/lib

the compiler gcc++5.1 is in /usr/packs/gcc_5.1/
the GraphicsMagick is in /usr/packs/graphics_magick-1.3.21

I suppose this is a behaviour of a bug and I do not think that there is something in the Linux settings that could make them a candidate for a prejudicial characterization as different from the usual.

cto <cto>
Tue 28 Jul 2015 01:46:25 PM UTC, comment #1:

I've been building both GraphicsMagick and Octave from source for several years, so I can't reproduce. May be some details of your setup.

Carnë Draug <carandraug>
Project Member
Sun 26 Jul 2015 05:04:12 PM UTC, original submission:

installed GraphicsMagick from source with g++ 5.1 in:
/usr/packs/graphics_magick-1.3.21
then defined the following (otherwise it does not find the library and disables image IO):
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/packs/graphics_magick-1.3.21/lib/pkgconfig
then built octave-4.0.0 from source:
./configure (reports the correct CPPFLAGS, LDFLAGS paths, for Magick++)

"make" gives the error below:
/bin/sed: can't read /usr/packs/lib/libstdc++.la: No such file or directory
libtool: link: `/usr/packs/lib/libstdc++.la' is not a valid libtool archive
make[3]: *** [dldfcn/__magick_read__.la] Error 1

the "libstdc++.la" exists in the folder "/usr/packs/gcc_5.1/lib" (the folder of g++ 5.1 compiler)

I bypassed the above error, by restarting "make" which completes to the end.

then "make check" and "./run_octave" work all right but the "make install" fails:
lib/octave/4.0.0/__magick_read__.la
/usr/bin/install: cannot stat `dldfcn/.libs/__magick_read__.lai': No such file or directory

In the meantime I run octave from the local build directory with "./run_octave" but probably with incomplete functionality.

cto <cto>

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by cto (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 03 Aug 2015 02:32:30 AM UTCmtmillerStatusNeed Info=>Invalid
      Open/ClosedOpen=>Closed
    Sun 02 Aug 2015 04:40:01 PM UTCmtmillerStatusNone=>Need Info

    Back to the top


    Powered by Savane 3.1-cleanup1