|
|
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 Apr 29 09:49:28 CEST 2025
Total time taken to generate the page: 0.03680 seconds
|
|
|