On Mar 28, 2012, at 19:14, Craig Treleaven wrote:

> I've run into a wall trying to port MythTV.  The linker barfs complaining:
>> ld: -L must be immediately followed by a directory path (no space)
> 
> Debug-level log from my most recent attempt is here:
> http://dl.dropbox.com/u/26787680/0.25%20macports%20build%20fail%202012Mar28.txt

I do agree with the error message... the log shows these arguments being used 
on a g++ invocation:

-L -lQtGui_debug

Perhaps some directory name variable is not being set and is therefore empty.


> Portfile in development* is here:
> http://dl.dropbox.com/u/26787680/Portfile


> fetch.type          git
> 
> git.branch          92f7d1f51c

Does the 0.25-rc tarball posted on github not work? This is hundreds of MB and 
takes a long time to fetch, which happens every time I clean and try again, 
which is something I do often when troubleshooting and/or developing a port, 
which makes it hard to work on the port.


> license             GPL

Can you be more specific about what version(s) of the GPL?


> maintainers         ctreleaven openmaintainer

Since you are not a committer, the maintainers line should contain your actual 
(obfuscated) email address:

maintainers         cogeco.ca:ctreleaven openmaintainer


> pre-configure       { append worksrcpath "/mythtv" }


This is an odd way of setting worksrcpath, and fails if you ask MacPorts to 
break the installation into separate steps, as in:

$ cd mythtv
$ sudo port configure
$ sudo port build

So you simply want:

worksrcdir          ${name}-${version}/mythtv

You'll also want to remove the version line; the github.setup line sets the 
version for you.


> configure.env-append    MACOSX_DEPLOYMENT_TARGET="10.5" \
>                       CFLAGS="-m32" \
>                       CPPFLAGS="-m32" \
>                       CXXFLAGS="-m32" \
>                       LDFLAGS="-m32 -F/System/Library/Frameworks -L/usr/lib 
> -L${prefix}/lib" \
>                       ECXXFLAGS="-m32"

I wouldn't think you'd need to specify -m32 everywhere, since MacPorts already 
sets -arch i386 everywhere for you, which should be the same thing.

Note that MacPorts has special variables for most of these env vars, which you 
should set or append to, instead of manually appending to the environment:

macosx_deployment_target
configure.cflags
configure.cppflags
configure.cxxflags
configure.ldflags

I'm surprised you need to specify -L/usr/lib, since /usr/lib is a standard 
library directory that should be searched anyway. Or are you just trying to 
force that /usr/lib is searched before ${prefix}/lib? If so, I'd be curious to 
know why, since that's the opposite of what we usually want.


It is a problem that the port is building using "gcc" and "g++"; see:

https://trac.macports.org/wiki/UsingTheRightCompiler


It appears to be compiling its own version of libavcodec. The version that the 
ffmpeg port provides is not sufficient?


See output of "port lint --nitpick" for some whitespace nits.


Finally, I fail with:

dvdnav/dvdnav.c: In function ‘dvdnav_open’:
dvdnav/dvdnav.c:79: error: ‘DVDNAV_SVN_REV’ undeclared (first use in this 
function)
dvdnav/dvdnav.c:79: error: (Each undeclared identifier is reported only once
dvdnav/dvdnav.c:79: error: for each function it appears in.)



> *Needs qt4-mac +mysql5.  Takes 1 hour plus to build the dependencies on my 
> quad-core MBP.

Admittedly I have not done this yet. Guess I'd better get started.


_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to