| 
 | 
 | 
 
Home » Developing U++ » Releasing U++ » Tarball issues 
	| 
		
 |  
	
		
		
			| Re: Tarball issues [message #47440 is a reply to message #47438] | 
			Tue, 17 January 2017 02:35    | 
		 
		
			
				
				
				
					
						  
						Sender Ghost
						 Messages: 301 Registered: November 2008 
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		amrein wrote on Mon, 16 January 2017 18:21I modified the documentation for BSD users to force them to use gmake instead of make, added some tips about this issue and reverted my patch. 
'$' -> '$$' is apparently now the default substitution to use for all new gmake release (and four dollars will fail). :/  
I read it in 10720 revision. But why did you use word "will" (instead of "may") in the following snippet of text?: 
On BSD distributions, if you use make instead of gmake, U++ compilation will fail 
For example, this is not an issue for uppsrc/umk (which also exported for current tarball), where there are no files with "$" characters for dependencies and current revision builds fine with BSD make. This is an issue for uppsrc/ide or other projects, where files with "$" character(s) may be used. 
 
Also, I noticed about build requirements: 
Build requires: gmake gtk2 freetype2 libnotify llvm39 (clang++) 
Maybe this is true for some *BSD operating systems without Clang compiler in base, but Clang 3.4.1 on FreeBSD 10.3 is capable to build uppsrc/ide and uppsrc/umk projects in tarball (was tested for 10703 revision): 
% which clang++
/usr/bin/clang++
% clang++ --version | head -1
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
 
Installation of devel/llvm39 FreeBSD port is not mandatory for building of uppsrc/ide and uppsrc/umk (current revisions), at least on FreeBSD 10.3 amd64. But even if build/install it, the clang++39 (wrapper script; as part of devel/llvm39 FreeBSD port) may be used, because clang++ may be installed to different directory (which may be not exposed in (common) PATH, because other clang++ may exist in /usr/bin). 
 
I guess, the same is possible for Clang 3.8.0 (in base) on FreeBSD 11.0.
		
		
		[Updated on: Tue, 17 January 2017 07:05] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 |  
	
		
		
			| Re: Tarball issues [message #47443 is a reply to message #47440] | 
			Tue, 17 January 2017 09:23    | 
		 
		
			
				
				
				  | 
					
						  
						amrein
						 Messages: 278 Registered: August 2008  Location: France
						
					 | 
					Experienced Member  | 
					 | 
		 
		 
	 | 
 
	
		Quote: 
I read it in 10720 revision. But why did you use word "will" (instead of "may") in the following snippet of text?: 
<<On BSD distributions, if you use make instead of gmake, U++ compilation will fail>> 
 
For example, this is not an issue for uppsrc/umk (which also exported for current tarball), where there are no files with "$" characters for dependencies and current revision builds fine with BSD make. This is an issue for uppsrc/ide or other projects, where files with "$" character(s) may be used. 
  
Mainly because calling 'make' will try to build theide and umk at the same time. 
 
Quote: 
Also, I noticed about build requirements: 
 
Build requires: gmake gtk2 freetype2 libnotify llvm39 (clang++) 
 
Maybe this is true for some *BSD operating systems without Clang compiler in base, but Clang 3.4.1 on FreeBSD 10.3 is capable to build uppsrc/ide and uppsrc/umk projects in tarball (was tested for 10703 revision): 
 
% which clang++ 
/usr/bin/clang++ 
% clang++ --version | head -1 
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512 
 
Installation of devel/llvm39 FreeBSD port is not mandatory for building of uppsrc/ide and uppsrc/umk (current revisions), at least on FreeBSD 10.3 amd64. But even if build/install it, the clang++39 (wrapper script; as part of devel/llvm39 FreeBSD port) may be used, because clang++ may be installed to different directory (which may be not exposed in (common) PATH, because other clang++ may exist in /usr/bin). 
  
What package should I install? llvm39 is what TrueOS tells me to install by default if clang++ is not installed.
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	
		
		
			| Re: Tarball issues [message #47444 is a reply to message #47443] | 
			Tue, 17 January 2017 09:37    | 
		 
		
			
				
				
				  | 
					
						  
						amrein
						 Messages: 278 Registered: August 2008  Location: France
						
					 | 
					Experienced Member  | 
					 | 
		 
		 
	 | 
 
	
		Found it: llvm39 -> clang-devel 
-> documentation modified 
 
But note that clang-devel clang++ binary on TrueOS is in fact a script that tells you to install llvm39 first. Compilation will fail because of this. 
This script search for clang++ in /usr/local/bin.
		
		
		[Updated on: Tue, 17 January 2017 09:45] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 |  
	
		
		
			| Re: Tarball issues [message #47450 is a reply to message #47443] | 
			Tue, 17 January 2017 17:13    | 
		 
		
			
				
				
				
					
						  
						Sender Ghost
						 Messages: 301 Registered: November 2008 
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		amrein wrote on Tue, 17 January 2017 08:23What package should I install? llvm39 is what TrueOS tells me to install by default if clang++ is not installed.  
Looks like, this is behaviour on TrueOS. 
Previously, I said about FreeBSD 10.3 and 11.0 release versions, where some C/C++ compiler available in base: 
% uname -sr
FreeBSD 10.3-RELEASE-p15
% which cc clang c++ clang++
/usr/bin/cc
/usr/bin/clang
/usr/bin/c++
/usr/bin/clang++
% cd /usr/bin && sha256 cc clang c++ clang++
SHA256 (cc) = 2f86f05d3bb79bfcb9be965df7c89e3066c39b7b119796e79e69664c92c53ce0
SHA256 (clang) = 2f86f05d3bb79bfcb9be965df7c89e3066c39b7b119796e79e69664c92c53ce0
SHA256 (c++) = 2f86f05d3bb79bfcb9be965df7c89e3066c39b7b119796e79e69664c92c53ce0
SHA256 (clang++) = 2f86f05d3bb79bfcb9be965df7c89e3066c39b7b119796e79e69664c92c53ce0
% c++ --version | head -1
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
 
As I understand, the current revisions of uppsrc/umk and uppsrc/ide projects requires C/C++ compiler for build, which may support C++11 (or C++0x) features. 
According to some C++ compiler support page: 
C++11 (complete): Clang >= 3.3, GCC >= 4.8.1. 
C++14 (complete): Clang >= 3.4, GCC >= 5.0. 
There is maybe related C++ library support needed also. 
 
The current devel/llvm39 FreeBSD port just build/install LLVM/Clang (and other components for) 3.9.1, which is latest release version.
		
		
		[Updated on: Wed, 18 January 2017 05:10] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	
		
		
			| Re: Tarball issues [message #47454 is a reply to message #47451] | 
			Wed, 18 January 2017 07:27    | 
		 
		
			
				
				
				
					
						  
						Sender Ghost
						 Messages: 301 Registered: November 2008 
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		amrein wrote on Tue, 17 January 2017 18:01It's part of the core system, great. Which package does clang++ belong? 
"pkg_info -W /usr/bin/clang++" can tell I guess? If I add this to the documentation, it should work for everyone using BSD clones.  
It's already available in /usr/bin on FreeBSD operating system (at least for current release versions). 
Usually, the user may specify C and C++ compiler with using CC and CXX variables for (BSD) make. This is what on FreeBSD 10.3 by default: 
% make -V CC -V CXX -V CPP
cc
c++
cpp
 
Obviously, the (current version of) TrueOS has some differences (e.g. some script proposes to install C/C++ compiler as a package).
		
		
		[Updated on: Wed, 18 January 2017 07:56] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 |  
	
		
		
			| Re: Tarball issues [message #47455 is a reply to message #47454] | 
			Wed, 18 January 2017 07:49    | 
		 
		
			
				
				
				  | 
					
						  
						amrein
						 Messages: 278 Registered: August 2008  Location: France
						
					 | 
					Experienced Member  | 
					 | 
		 
		 
	 | 
 
	
		Ok, so if I understand you correctly, now upp build scripts (Makefiles, domake, doinstall, upp-devel.spec, ...) are stable enough. 
Those scripts take care of all know configurations (c++, g++, clang++, make, domake and pkg-config, Linux, BSD) for the best. 
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	
		
		
			| Re: Tarball issues [message #47459 is a reply to message #47455] | 
			Wed, 18 January 2017 09:17    | 
		 
		
			
				
				
				
					
						  
						Sender Ghost
						 Messages: 301 Registered: November 2008 
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		amrein wrote on Wed, 18 January 2017 06:49Ok, so if I understand you correctly, now upp build scripts (Makefiles, domake, doinstall, upp-devel.spec, ...) are stable enough.  
This is what on FreeBSD 10.3 (in my configuration) for 10724 revision from Nightly builds page: 
% fetch http://www.ultimatepp.org/downloads/upp-x11-src-10724.tar.gz
<...>
% sha256 upp-x11-src-10724.tar.gz 
SHA256 (upp-x11-src-10724.tar.gz) = 2cec4d158dcc2af851d3b0072ca0a2e7d7ff485da80be1fd4f1c1ba1b0849b4b
% tar -xf upp-x11-src-10724.tar.gz
% cd upp-x11-src-10724
% make CXX=c++
<...>
% ls umk theide
theide	umk
% ./umk
Usage: umk assembly main_package build_method -options [+flags] [output]
Examples: umk examples Bombs GCC -ab +GUI,SHARED ~/bombs
          umk examples,uppsrc Bombs ~/GCC.bm -rv +GUI,SHARED ~/bin
See http://www.ultimatepp.org/app$ide$umk$en-us.html for details
% ./theide --help
Usage: theide assembly package
       theide assembly package build_method [-[a][b][e][r][s][S][v][1][2][m][d][M][l][x][X][Hn]] [+FLAG[,FLAG]...] [out]
       theide -f [file..]
       theide [file..] // autodetection mode
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	
		
		
			| Re: Tarball issues [message #47462 is a reply to message #47461] | 
			Wed, 18 January 2017 15:32   | 
		 
		
			
				
				
				
					
						  
						Sender Ghost
						 Messages: 301 Registered: November 2008 
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		amrein wrote on Wed, 18 January 2017 12:44Note: 
 - Even if you don't force c++ (with CXX=c++), domake will search in your path for g++, than clang++ and finally c++. 
  
Currently, I have lang/gcc port installed, as a build/runtime dependency for some port: 
% which g++ | xargs pkg which -o
/usr/local/bin/g++ was installed by package lang/gcc
% pkg info -r lang/gcc
gcc-4.9.4:
	kBuild-0.1.9998_6
 
I used CXX variable to set "c++" compiler for build, in this case.
		
		
		[Updated on: Thu, 19 January 2017 04:22] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 |   
Goto Forum:
 
 Current Time: Tue Nov 04 01:04:19 CET 2025 
 Total time taken to generate the page: 0.06690 seconds 
 |   
 |  
  |