pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/40173: SDL_image build failure from libiconv builtin logic



>Number:         40173
>Category:       pkg
>Synopsis:       SDL_image build failure from libiconv builtin logic
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Dec 15 07:00:00 +0000 2008
>Originator:     David A. Holland
>Release:        NetBSD 4.99.72 (20081004), pkgsrc 20081214
>Organization:
>Environment:
System: NetBSD valkyrie 4.99.72 NetBSD 4.99.72 (VALKYRIE) #32: Sat Oct  4 
12:25:22 EDT 2008  root@valkyrie:/usr/src/sys/arch/amd64/compile/VALKYRIE amd64
Architecture: x86_64
Machine: amd64
>Description:

Attempting to build SDL_image yields this:

        ===> Overriding tools for SDL_image-1.2.7
        ===> Extracting for SDL_image-1.2.7
        ===> Patching for SDL_image-1.2.7
        ===> Creating toolchain wrappers for SDL_image-1.2.7
        ERROR: libiconv>=1.9.1 is not installed; can't buildlink files.
        *** Error code 1
        Stop.

There seem to be two things wrong: one is that the logic in libiconv's
builtin.mk for noticing the citrus iconv looks to have a reversed test:

        .    if empty(H_CITRUS_ICONV:M__nonexistent__) && \
                empty(H_CITRUS_ICONV:M${LOCALBASE}/*) && \
                !empty(BUILTIN_LIB_FOUND.iconv:M[nN][oO])
        USE_BUILTIN.iconv=      yes
        H_ICONV=                ${H_CITRUS_ICONV}
        .    endif

The 3rd test there should, I think, be the other way around - that is,
if the lib *is* found then we can use the builtin iconv. This is
preventing USE_BUILTIN.iconv from being set properly to "yes". Or at
least, it looks that way, although libiconv/builtin.mk was last
changed in February and if it's wrong I don't have any idea why it
didn't blow up (or improperly force installation of pkgsrc libiconv)
until now.

But in any event, tweaking this, or setting USE_BUILTIN.iconv=yes on
the make command line, causes this behavior:

        ===> Patching for SDL_image-1.2.7
        ===> Creating toolchain wrappers for SDL_image-1.2.7
        pkg_info: missing package name(s)
        usage: pkg_info [-BbcDdFfhIikLmNnpqRSsVvX] [-e package] [-E package]
                        [-K pkg_dbdir] [-l prefix] pkg-name ...
               pkg_info [-a | -u] [flags]
               pkg_info [-Q variable] pkg-name ...
        src=/usr/pkg/lib/pkgconfig/fixesproto.pc  
dst=/usr/pkgsrc/graphics/SDL_image/work/.buildlink/lib/pkgconfig/fixesext.pc;  
/bin/mkdir -p /usr/pkgsrc/graphics/SDL_image/work/.buildlink/lib/pkgconfig;  if 
test -f ${src}; then  /bin/ln -sf ${src} ${dst};  fi
        ===> Configuring for SDL_image-1.2.7

and that's gotta be a bug.

>How-To-Repeat:

make

>Fix:

Forcing USE_BUILTIN.iconv=yes on the make command line does at least
result in a successful build and install, so that's a workaround, but
I have no idea what the real problem is, much less how to fix it.



Home | Main Index | Thread Index | Old Index