Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#19406 closed defect (fixed)

rox-filer 2.8 won't build, missing X dev lib

Reported by: manul.pallas@… Owned by: afb@…
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: rox-filer, x11, file manager Cc: ryandesign (Ryan Carsten Schmidt)
Port: rox-filer

Description

It's impossible to build rox-filer 2.8, it's missing the X development libraries, which aren't there as dependancies. (can't figure out which one to install in the x11 category either)

checking for X... no
configure: error: X development libraries not found
Compile failed
Press Return...
Error: Target org.macports.build returned: shell command "cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_rox-filer/work/rox-filer-2.8; ./ROX-Filer/AppRun --compile" returned error 1

Attachments (1)

config.log (8.4 KB) - added by manul.pallas@… 16 years ago.

Download all attachments as: .zip

Change History (17)

comment:1 Changed 16 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to afb@…
Port: rox-filer added

comment:2 Changed 16 years ago by afb@…

Resolution: fixed
Status: newclosed

Fixed, r50047.

gtk2 used to imply x11, guess the category would also be an indicator

comment:3 Changed 16 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: closedreopened

gtk2 does imply x11. If you build gtk2 with the +quartz or +no_x11 variant, you're equally screwed and it won't build. The fix isn't adding redundant dependencies. The fix is figuring out why it didn't build in the first place.

comment:4 Changed 16 years ago by afb@…

Well, rox-filer does link with -lX11 and -lSM

dnl Find the X libraries
AC_PATH_XTRA
if test x$no_x = xyes ; then
  AC_MSG_ERROR([X development libraries not found])
fi
LIBS="$LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
CFLAGS="$CFLAGS $X_CFLAGS"
AC_CHECK_HEADER([X11/SM/SMlib.h], [],
  [AC_MSG_ERROR([Session management library (libsm) missing. It is part of the X server distribution. Try installing the libsm-dev package.])]
)

So you do need X11 installed to use it...

comment:5 Changed 16 years ago by manul.pallas@…

x11 is installed, as well as xorg-libsm, and X11 works (for example, I can build and launch fluxbox)

comment:6 Changed 16 years ago by afb@…

okay, then we're at the "look in config.log" stage. it should be under the work directory.

comment:7 Changed 16 years ago by afb@…

wonder if it is related to the huge chunk of boilerplate jeremyhu added to the other ports...

# AC_X_PATH blindly asks xmkmf where X11 is, and it always uses /usr/X11R6.
# This block helps us link correctly and setup our pc files correctly when we   
# are +system_x11 and x11prefix is somewhere non-standard and should cause
# AC_X_PATH to let us setup our CPPFLAGS and LDFLAGS without interference
configure.args-append --x-include=${prefix}/include --x-lib=${prefix}/lib
if { ![file exists ${prefix}/lib/pkgconfig/x11.pc] } {
    pre-configure {
        configure.cppflags-append -I${x11prefix}/include
        configure.ldflags-append  -L${x11prefix}/lib
    }

    # And this will similarly get ports that use pkgconfig to find our pkgconfig-less libX11
    post-destroot {
        if {![file exists ${x11prefix}/lib/pkgconfig/x11.pc]} {
            foreach pc [glob ${destroot}${prefix}/lib/pkgconfig/*.pc] {
                reinplace "s:-lX11:-L${prefix}/lib -L${x11prefix}/lib -lX11:g" ${pc}
            }
        }
    }
}

I'm using +system_x11 myself, so wouldn't notice any /usr/X11R6 bias (versus ${prefix}).

Changed 16 years ago by manul.pallas@…

Attachment: config.log added

comment:8 Changed 16 years ago by afb@…

ld: library not found for -lX11 seems straightforward enough.

What was it supposed to find, i.e. were is your libX11.dylib ?

comment:9 Changed 16 years ago by manul.pallas@…

In /opt/local/lib/libX11.dylib, it's a symbolic link, the orginal file is /opt/local/lib/libX11.6.2.0.dylib

comment:10 Changed 16 years ago by afb@…

Resolution: fixed
Status: reopenedclosed

Fixed, r50057.

comment:11 Changed 16 years ago by manul.pallas@…

works like a charm, thanks!

comment:12 in reply to:  10 ; Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

Replying to afb@…:

Fixed, r50057.

Does that work with the +system_x11 variant? Should you use Jeremy's boilerplate from above instead?

comment:13 in reply to:  12 Changed 16 years ago by afb@…

Replying to ryandesign@…:

Does that work with the +system_x11 variant?

It does, since that's the one I'm using myself.

comment:14 Changed 16 years ago by afb@…

Actually it built just by accident, it's all wrong when using +system_x11.

build.env seems to be broken, so will have to do some workaround for it...

comment:15 Changed 16 years ago by afb@…

"Fixed" in r50070 and r50072. The Portfile is very very ugly now though. :-(

Maybe MacPorts should grow some use_x11 yes to avoid having to see it.

comment:16 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.