Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search in forums












SourceForge.net Logo



Home » Developing U++ » Releasing U++ » Tarball issues
Re: Tarball issues [message #47438 is a reply to message #47365] Mon, 16 January 2017 19:21 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 184
Registered: August 2008
Location: France
Experienced Member
I 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). :/
Re: Tarball issues [message #47440 is a reply to message #47438] Tue, 17 January 2017 02:35 Go to previous messageGo to next message
Sender Ghost is currently offline  Sender Ghost
Messages: 276
Registered: November 2008
Experienced Member
amrein wrote on Mon, 16 January 2017 18:21
I 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 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 184
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 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 184
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 Go to previous messageGo to next message
Sender Ghost is currently offline  Sender Ghost
Messages: 276
Registered: November 2008
Experienced Member
amrein wrote on Tue, 17 January 2017 08:23
What 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 #47451 is a reply to message #47450] Tue, 17 January 2017 19:01 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 184
Registered: August 2008
Location: France
Experienced Member
It'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.
Re: Tarball issues [message #47454 is a reply to message #47451] Wed, 18 January 2017 07:27 Go to previous messageGo to next message
Sender Ghost is currently offline  Sender Ghost
Messages: 276
Registered: November 2008
Experienced Member
amrein wrote on Tue, 17 January 2017 18:01
It'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 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 184
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 Go to previous messageGo to next message
Sender Ghost is currently offline  Sender Ghost
Messages: 276
Registered: November 2008
Experienced Member
amrein wrote on Wed, 18 January 2017 06:49
Ok, 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 #47461 is a reply to message #47459] Wed, 18 January 2017 13:44 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 184
Registered: August 2008
Location: France
Experienced Member
Cool.

Note:
- Even if you don't force c++ (with CXX=c++), domake will search in your path for g++, than clang++ and finally c++.
- You can also have more information about domake and doinstall running './domake --help' or './doinstall --help'.
Re: Tarball issues [message #47462 is a reply to message #47461] Wed, 18 January 2017 15:32 Go to previous message
Sender Ghost is currently offline  Sender Ghost
Messages: 276
Registered: November 2008
Experienced Member
amrein wrote on Wed, 18 January 2017 12:44
Note:
- 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

Previous Topic: umk on U++ server is obsolete and creates bad Makefiles
Goto Forum:
  


Current Time: Tue Feb 28 01:50:33 CET 2017

Total time taken to generate the page: 0.01515 seconds