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

 
 

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

Submitter:  cto <cto>
Submitted:  Sun 26 Jul 2015 05:04:12 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * 4.0.0 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group Member
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>
Group Member
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>
Group 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 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 mtmiller (Posted a comment)
  • -email is unavailable- added by cto (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 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-08-03 mtmiller StatusNeed Info Invalid / Not an Octave Bug
        Open/ClosedOpen Closed
    2015-08-02 mtmiller StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code