First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 40972
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: media-gfx herd <graphics@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Shaun Cloherty <s.cloherty@ieee.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
devil-1.6.6-autoconf.patch Patch to configure.in and a new configure patch Shaun Cloherty 2004-02-09 07:31 0000 351.71 KB Details | Diff
devil-1.6.6-r1.ebuild A modified ebuild to make use of the autoconf patch text/plain Shaun Cloherty 2004-02-09 07:34 0000 1.26 KB Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 40972 depends on: Show dependency tree
Show dependency graph
Bug 40972 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-02-09 07:20 0000
emerging DevIL (media-libs/devil) version 1.6.6 fails to honour the supplied
USE flags. For example;

USE="opengl" emerge devil

Fails to build support for OpenGL.

Further investigation reveals that --enable-opengl is indeed passed to
configure, and the problem lies within the DevIL configure.in. 

configure.in contains (for opengl support);

AC_ARG_ENABLE(opengl,
[  --disable-opengl        Doesn't compile opengl support],
use_opengl="no", use_opengl="yes")

which results in use_opengl being set to "no" for both --disable-opengl (which
is correct) _and_ --enable-opengl (which is clearly incorrect). This is true
for all the suppled --disable-xyz macros.

As a work around, reverting back to;

src_compile() {
        local myconf
        use X && myconf="${myconf} --with-x"
        use gif || myconf="${myconf} --disable-gif"
        use png || myconf="${myconf} --disable-png"
        use sdl || myconf="${myconf} --disable-sdl"
        use jpeg || myconf="${myconf} --disable-jpeg"
        use tiff || myconf="${myconf} --disable-tiff"
        use opengl || myconf="${myconf} --disable-opengl"

        elibtoolize
        econf \
                ${myconf} \
                --disable-directx \
                --disable-win32 || die "./configure failed"

        make || die
}

as in previous ebuilds produces the expected result.


Reproducible: Always
Steps to Reproduce:
1.USE="opengl" emerge devil
2.
3.

Actual Results:  
No support for OpenGL.

Expected Results:  
OpenGL support should have been included.

------- Comment #1 From Shaun Cloherty 2004-02-09 07:27:45 0000 -------
A better solution might be to patch configure.in and regenerate configure. And
then propagate the fix to upstream maintainers.

------- Comment #2 From Shaun Cloherty 2004-02-09 07:31:52 0000 -------
Created an attachment (id=25258) [edit]
Patch to configure.in and a new configure

Here is one possible form that such a patch might take, not necessarily the
most elegant...

------- Comment #3 From Shaun Cloherty 2004-02-09 07:34:34 0000 -------
Created an attachment (id=25259) [edit]
A modified ebuild to make use of the autoconf patch

------- Comment #4 From Richard Lärkäng 2004-02-09 15:06:26 0000 -------
Because of this bug almost no apps using dev-games/ogre work, but theese
patches fixes this.

------- Comment #5 From Lorne Sturtevant 2004-02-18 19:10:43 0000 -------
This patch works for me as well.  I can now run my ogre apps again.

------- Comment #6 From Gustavo Ribeiro Alves 2004-03-17 12:32:29 0000 -------
This patch works perfectly for me. Why wasn't it commited yet?

------- Comment #7 From Clay Culver 2004-03-17 22:55:33 0000 -------
Ok, I used the above patch/ebuild, and the ogre demo programs RUN fine, but
they refuse to compile.  On my machine, this is the problem:

Create a simple "hello world!" application named hello.c
$ gcc hello.c -o hello -lIL
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../libIL.so: undefined reference
to `_vsnprintf'
collect2: ld returned 1 exit status

This is the same thing that happened to me when I tried building DevIL from
source.  Does anyone else have this problem, and if so has anyone found a fix
for it?

My USE statement includes the following relevant flags:
USE="X gif png sdl jpeg tiff opengl"  (plus other stuffs)

------- Comment #8 From Clay Culver 2004-03-18 07:54:21 0000 -------
Ok, I pinned down the bug.  These two lines are the culprit:
./src-IL/src/il_tiff.c:171:     _vsnprintf(buff, 1024, fmt, ap);
./src-IL/src/il_tiff.c:177:     _vsnprintf(buff, 1024, fmt, ap);

If anyone is familiar with the _vsnprintf statement, then patching these lines should fix it.

Steps to reproduce the bug:
1) $ USE="X gif png sdl jpeg tiff opengl" sudo emerge devil
[Make sure this is 1.6.6-r1.]
2) After a successful install, create a simple c application (hello world suffices).
3) $ gcc hello.c -o hello -lIL
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../libIL.so: undefined reference to `_vsnprintf'
collect2: ld returned 1 exit status

There are a few workarounds.  If you simply disable the tiff USE flag this doesn't happen.  If someone knows what the _vsnprintf does, you could simply patch it.

------- Comment #9 From SpanKY 2004-03-18 18:21:04 0000 -------
fixed in cvs (including the vnsprint junk)

thanks for the patch :)

First Last Prev Next    No search results available      Search page      Enter new bug