Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jun 2010 19:55:51 -0700
From:      Doug Barton <dougb@FreeBSD.org>
To:        Norikatsu Shigemura <nork@FreeBSD.org>
Cc:        cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org, ports-committers@FreeBSD.org
Subject:   Re: cvs commit: ports/net/liveMedia Makefile distinfo
Message-ID:  <4C202637.2010105@FreeBSD.org>
In-Reply-To: <20100621005607.13850416.nork@FreeBSD.org>
References:  <201006131614.o5DGEJQM026112@repoman.freebsd.org>	<4C1539B4.2060702@FreeBSD.org> <20100621005607.13850416.nork@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------010300000407000502010204
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 06/20/10 08:56, Norikatsu Shigemura wrote:
> Hi dougb.
>
> On Sun, 13 Jun 2010 13:04:04 -0700
> Doug Barton<dougb@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/


--------------010300000407000502010204
Content-Type: text/plain;
 name="Makefile"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="Makefile"

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)

--------------010300000407000502010204--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C202637.2010105>