The compilation devel/simgear (version 2.6.0_1) fails with multiple errors. The reason for this is, according to my analysis, missing include path. Many includes are written as following: #include <sigmear/io/raw_socket.hxx> , whereas simgear directory is not specified as an include path, i.e. no corresponding -I flag is issued to the compiler. simgear directory is located in source top directory. Fix: Solved by making CMake pass simgear directory to the include paths. Modified SimGearComponent.cmake file to eliminate code duplication, because it is used by several modules that failed to compile. --- SimGearComponent.cmake 2012-05-13 22:21:59.000000000 +0000 +++ SimGearComponent.cmake.new 2012-05-13 22:23:37.000000000 +0000 @@ -1,4 +1,6 @@ +include_directories(BEFORE ${PROJECT_SOURCE_DIR}) + macro(simgear_component_common name includePath sourcesList sources headers) if (SIMGEAR_SHARED) Patch attached with submission follows: How-To-Repeat: # cd /usr/ports/devel/simgear # make
Responsible Changed From-To: freebsd-ports-bugs->martymac Over to maintainer (via the GNATS Auto Assign Tool)
Hi Oleksii, Thanks for your report. > Synopsis: devel/simgear 2.6.0_1 build fails due to missing > include path > [...] > How-To-Repeat > # cd /usr/ports/devel/simgear > # make Unfortunately, I could not reproduce the problem ; neither locally, nor on my Tinderbox, and have not found build errors for Simgear on Pointyhat. Could you check that your /etc/make.conf does not override some variables and triggers those errors ? Best regards, -- Ganael LAPLANCHE <ganael.laplanche@martymac.org> http://www.martymac.org | http://contribs.martymac.org FreeBSD: martymac <martymac@FreeBSD.org>, http://www.FreeBSD.org
Hi, I have checked my /etc/make.conf. Here it is: CFLAGS= -O2 -pipe #avoid compiling profiled libraries NO_PROFILE=true CPUTYPE?=core2 # added by use.perl 2012-03-07 21:55:03 PERL_VERSION=5.14.2 The only suspect was CFLAGS. However I have tried to recompile the simgear port with and without the CFLAGS definition in /etc/make.conf. Both time the build succeeded. The failure that I observed happened when I tried to update installed simgear-2.4.0 to simgear-2.6.0_1. Considering these facts I can state that the build failure occurs when trying to update an installed simgear port. In my case when updating an installed 2.4.0 version to version 2.6.0 the lookup for <simgear/io/raw_socket.hxx> led to inclusion of raw_socket.hxx which was located in /usr/local/include/simgear/io. However, the one from /usr/ports/devel/simgear/work/simgear-2.6.0/simgear/io should have been included. To summarize this: Build of simgear-2.6.0 when no simgear is installed succeeds. Rebuild of simgear-2.6.0 when simgear-2.6.0 is installed succeeds. Build of simgear-2.6.0 when simgear older than 2.6.0 is installed fails and this is the only case that requires my patch.
martymac 2012-05-15 12:43:59 UTC FreeBSD ports repository Modified files: devel/simgear Makefile Added files: devel/simgear/files patch-CMakeModules-SimGearComponent.cmake Log: Fix inclusion order of headers to allow upgrade from Simgear 2.4.0 PR: ports/167843 Submitted by: Oleksii <oleksii.tsai@googlemail.com> Revision Changes Path 1.48 +1 -1 ports/devel/simgear/Makefile 1.1 +9 -0 ports/devel/simgear/files/patch-CMakeModules-SimGearComponent.cmake (new) _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed, thanks!