cvs commit: ports/net/liveMedia Makefile distinfo
Doug Barton
dougb at FreeBSD.org
Tue Jun 22 02:55:54 UTC 2010
On 06/20/10 08:56, Norikatsu Shigemura wrote:
> Hi dougb.
>
> On Sun, 13 Jun 2010 13:04:04 -0700
> Doug Barton<dougb at FreeBSD.org> wrote:
>> I'm getting this:
>> ===> Building for liveMedia-2010.06.11,1
>> (cd liveMedia ; /usr/bin/make)
>> g++45 -pipe -g -march=native -fpic -g -c Media.cpp
>> g++45 -pipe -g -march=native -fpic -g -c MediaSource.cpp
>> Media.cpp:21:20: fatal error: Media.hh: No such file or directory
>> MediaSource.cpp:21:26: fatal error: MediaSource.hh: No such file or
>> directory
>> compilation terminated.
>> compilation terminated.
>> *** Error code 1
>> Could it be related to my using gcc45 for ports?
>
> I did give liveMedia some robustness by files/config.fixed-freebsd.
> So it is unthinkable issue.
> Please give me work/live/Makefile.
Ok, this is a weird one. I can now tell you _what_ is happening, but I
cannot tell you why.
The problem actually is gcc-related, so let me set the stage. I followed
the instructions at
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/custom-gcc/configuring-ports-gcc.html
except with gcc 4.5.1. I also rebuild libtool every time I switch
compilers. The relevant bits of my make.conf are:
.if !empty(.CURDIR:M/usr/ports*)
WRKDIRPREFIX= /usr/local/tmp
.endif
.if !empty(.CURDIR:M/usr/ports*) || !empty(.CURDIR:M/home/*) ||
defined(UPGRADE_TOOL)
CC= /usr/local/bin/gcc45
CXX= /usr/local/bin/g++45
CPP= /usr/local/bin/cpp45
CPUTYPE= native
.endif
So, if I'm building in the ports tree, WRKDIRPREFIX is set. Also, the
test for when to set CC, etc. is not true in the directory I use for
WRKDIRPREFIX, but IS always true if UPGRADE_TOOL is defined (which it
always is for portmaster).
Now, here is where it gets weird. If I use _exactly_ this configuration,
and build the port by doing 'cd /usr/ports/net/liveMedia && make' it
works. However, if I comment out WRKDIRPREFIX, or if I make the setting
of CC, etc. unconditional, it does not work (I get the error above). To
make it even weirder, the working configuration appears to actually be
using gcc 4.5.1, and all of the right cflags are included on the command
line:
===> Building for liveMedia-2010.06.11,1
(cd liveMedia ; make)
/usr/local/bin/g++45 -c -O2 -pipe -march=native -fpic
-fno-strict-aliasing -Iinclude -I../UsageEnvironment/include
-I../groupsock/include -I. -DBSD=1 -DSOCKLEN_T=socklen_t
-DHAVE_SOCKADDR_LEN=1 -Wall -Wno-deprecated DVVideoStreamFramer.cpp
It's probably also worth noting that the file that is first to compile
in the working example above is different than the non-working version.
I also tried using gmake just in case, no luck there either.
So, something is very, very odd here. I've spent a lot of time staring
at this trying to figure out what is without success. :(
The "good" news is that in the simple case (unconditional definition of
CC) it fails, so hopefully that will give you some hint as to where to
proceed in terms of fixing the build with gcc 4.5.1. Sorry I couldn't
figure out the solution myself.
Doug
--
... and that's just a little bit of history repeating.
-- Propellerheads
Improve the effectiveness of your Internet presence with
a domain name makeover! http://SupersetSolutions.com/
-------------- next part --------------
COMPILE_OPTS = -O2 -pipe -march=native -fpic -fno-strict-aliasing $(INCLUDES) -I. -DBSD=1 -DSOCKLEN_T=socklen_t -DHAVE_SOCKADDR_LEN=1
C = c
C_COMPILER = $(CC)
C_FLAGS = $(COMPILE_OPTS)
CPLUSPLUS_COMPILER = $(CXX)
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -Wno-deprecated
OBJ = o
LINK = $(CXX) -o
LINK_OPTS = -L.
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = $(AR) cr
LIBRARY_LINK_OPTS =
LIB_SUFFIX = a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =
##### End of variables to change
LIVEMEDIA_DIR = liveMedia
GROUPSOCK_DIR = groupsock
USAGE_ENVIRONMENT_DIR = UsageEnvironment
BASIC_USAGE_ENVIRONMENT_DIR = BasicUsageEnvironment
TESTPROGS_DIR = testProgs
MEDIA_SERVER_DIR = mediaServer
all:
(cd $(LIVEMEDIA_DIR) ; $(MAKE))
(cd $(GROUPSOCK_DIR) ; $(MAKE))
(cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE))
(cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; $(MAKE))
(cd $(TESTPROGS_DIR) ; $(MAKE))
(cd $(MEDIA_SERVER_DIR) ; $(MAKE))
clean:
(cd $(LIVEMEDIA_DIR) ; $(MAKE) clean)
(cd $(GROUPSOCK_DIR) ; $(MAKE) clean)
(cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) clean)
(cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; $(MAKE) clean)
(cd $(TESTPROGS_DIR) ; $(MAKE) clean)
(cd $(MEDIA_SERVER_DIR) ; $(MAKE) clean)
More information about the cvs-ports
mailing list