|
|
Home » Community » U++ community news and announcements » New experimental Linux/FreeBSD release
New experimental Linux/FreeBSD release [message #53424] |
Thu, 02 April 2020 18:42  |
 |
mirek
Messages: 14257 Registered: November 2005
|
Ultimate Member |
|
|
Trying to make Linux experience nicer:
http://ultimatepp.org/downloads/upp-posix-14219.tar.xz
Unpack, cd to folder and run ./install (or if that does not work, sh install, but in that case let me know). If you are lucky, you will be in theide in about 2 minutes...
This is work in progress and at the moment will probably probably run flawlessly only on debian systems, although there is a try at fedora and openSUSE and related distros. I hope community will help to alter ./install to support more systems (just check the file, it is really easy to understand).
Mirek
[Updated on: Sat, 04 April 2020 15:10] Report message to a moderator
|
|
|
|
Re: New experimental Linux/FreeBSD release [message #53430 is a reply to message #53424] |
Thu, 02 April 2020 21:50   |
|
Hi Mirek,
I Agree with everything Amrein said... Also never use sudo in a script like this You should at least ask user if it is ok to run the packaging command, before showing password prompt In ideal world, you wouldn't even call the command if all the dependencies are already present.
That aside, even after ironing this out, the script will fail, unless you already have used U++ in past. Or if you don't have any build method called CLANG, as in my case. Some minimal build method should be inside the tarball, or should be generated by the script. It could use pkgconfig to fill in the include and library directories. Compiler can be set to c++, which is usually present regardless whether the system uses gcc or clang.
Best regards,
Honza
|
|
|
Re: New experimental Linux/FreeBSD release [message #53431 is a reply to message #53430] |
Thu, 02 April 2020 22:46   |
 |
mirek
Messages: 14257 Registered: November 2005
|
Ultimate Member |
|
|
dolik.rce wrote on Thu, 02 April 2020 21:50
That aside, even after ironing this out, the script will fail, unless you already have used U++ in past. Or if you don't have any build method called CLANG, as in my case. Some minimal build method should be inside the tarball, or should be generated by the script. It could use pkgconfig to fill in the include and library directories. Compiler can be set to c++, which is usually present regardless whether the system uses gcc or clang.
CLANG should be autocreated by umk (umks32). Have you really tried to run it so that autocreation failed or you do infer this from the script?
(We are now actually building with empty include/library dirs, thats recent addition (U++ using pkg-config in builder)).
Mirek
[Updated on: Thu, 02 April 2020 22:50] Report message to a moderator
|
|
|
|
Re: New experimental Linux/FreeBSD release [message #53436 is a reply to message #53431] |
Fri, 03 April 2020 06:37   |
|
mirek wrote on Thu, 02 April 2020 22:46CLANG should be autocreated by umk (umks32). Have you really tried to run it so that autocreation failed or you do infer this from the script?
(We are now actually building with empty include/library dirs, thats recent addition (U++ using pkg-config in builder)).
Mirek
I have tried to run it. Here is the relevant part of the output (called with bash -x):
+ ./umks32
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
+ echo Using umks32 to build
Using umks32 to build
+ UMK=./umks32
+ ./umks32 ./uppsrc ide CLANG -brs ./theide
Invalid build method
+ ./umks32 ./uppsrc umk CLANG -brs ./umk
Invalid build method
Oh and by the way, you should definitely add "set -e" at the beginning of the script, so it fails on errors. This way, it tries to launch TheIDE which it failed to build
[Updated on: Fri, 03 April 2020 06:40] Report message to a moderator
|
|
|
|
Re: New experimental Linux/FreeBSD release [message #53439 is a reply to message #53436] |
Fri, 03 April 2020 09:31   |
 |
mirek
Messages: 14257 Registered: November 2005
|
Ultimate Member |
|
|
dolik.rce wrote on Fri, 03 April 2020 06:37mirek wrote on Thu, 02 April 2020 22:46CLANG should be autocreated by umk (umks32). Have you really tried to run it so that autocreation failed or you do infer this from the script?
(We are now actually building with empty include/library dirs, thats recent addition (U++ using pkg-config in builder)).
Mirek
I have tried to run it. Here is the relevant part of the output (called with bash -x):
+ ./umks32
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
+ echo Using umks32 to build
Using umks32 to build
+ UMK=./umks32
+ ./umks32 ./uppsrc ide CLANG -brs ./theide
Invalid build method
+ ./umks32 ./uppsrc umk CLANG -brs ./umk
Invalid build method
Oh and by the way, you should definitely add "set -e" at the beginning of the script, so it fails on errors. This way, it tries to launch TheIDE which it failed to build 
Thats really interesting. With freshly installed fedora, after fixing one wrong package name (gtk3-devel), all went as expected. It actually took longer to install dependecies than to compile theide...
Are you running as regular user? Do you have .config folder inside the unpacked archive? What is inside? There should be umks32 folder and inside autogenerated CLANG.bm (it is after I do this on ubuntu or fedora).
(Of course this is all work of progress, I will try to add most of suggestion today, while trying to make this work on Fedora, Suse and Arch).
|
|
|
|
Re: New experimental Linux/FreeBSD release [message #53441 is a reply to message #53440] |
Fri, 03 April 2020 10:13   |
 |
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
Quote:So if I play clueless user, this is what I get:
...
make[1]: c++: Command not found
...
Than you install a c++ compiler or read the readme.md file and install all required dependencies.
Most developers do this.
Installing gcc-c++ is enough to build umk. Then umk should tell what dependencies are missing (pkg-config and others).
[Updated on: Fri, 03 April 2020 10:13] Report message to a moderator
|
|
|
|
Re: New experimental Linux/FreeBSD release [message #53443 is a reply to message #53442] |
Fri, 03 April 2020 10:43   |
 |
mirek
Messages: 14257 Registered: November 2005
|
Ultimate Member |
|
|
mirek wrote on Fri, 03 April 2020 10:27
OK, I have spoiled things for me by fixing and running buildrequires.fedora. Going to create a new clone and test with installing just c++.
So this is how it looks on freshly installed fedora, after installing just c++:
make theide
bash: make: command not found...
Install package 'make' to provide command 'make'? [N/y] y
* Waiting in queue...
The following packages have to be installed:
gc-7.6.4-6.fc31.x86_64 A garbage collector for C and C++
guile22-2.2.6-2.fc31.x86_64 A GNU implementation of Scheme for application extensibility
libatomic_ops-7.6.10-2.fc31.x86_64 Atomic memory update operations
make-1:4.2.1-15.fc31.x86_64 A GNU tool which simplifies the build process for users
Proceed with changes? [N/y] y
* Waiting in queue...
* Waiting for authentication...
* Waiting in queue...
* Downloading packages...
* Requesting data...
* Testing changes...
* Installing packages...
make[1]: Entering directory '/home/cxl/upp-posix-14205/uppsrc'
mkdir -p /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/ide/Builders/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/ide/Core/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/ide/Android/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/ide/Java/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/Esc/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/bz2/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/lzma/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/lz4/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/zstd/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/Core/GCCMK-Gcc-Linux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/pcre/GCCMK-Gcc-Linux-Posix-Shared/
(date '+#define bmYEAR %y%n#define bmMONTH %-m%n#define bmDAY %-d%n#define bmHOUR %-H%n#define bmMINUTE %-M%n#define bmSECOND %-S%n#define bmTIME Time(%y, %-m, %-d, %-H, %-M, %-S)' && \
echo '#define bmMACHINE "'`hostname`'"' && \
echo '#define bmUSER "'`whoami`'"') > build_info.h
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -std=c++14 -I./ -DflagGCC -DflagSHARED -DflagPOSIX -DflagLINUX -DflagMAIN umk/MacOs.cpp -o /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/MacOs.o
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -std=c++14 -I./ -DflagGCC -DflagSHARED -DflagPOSIX -DflagLINUX -DflagMAIN umk/Console.cpp -o /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/Console.o
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -std=c++14 -I./ -DflagGCC -DflagSHARED -DflagPOSIX -DflagLINUX -DflagMAIN umk/IdeContext.cpp -o /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/IdeContext.o
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -std=c++14 -I./ -DflagGCC -DflagSHARED -DflagPOSIX -DflagLINUX -DflagMAIN umk/MakeBuild.cpp -o /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/MakeBuild.o
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -std=c++14 -I./ -DflagGCC -DflagSHARED -DflagPOSIX -DflagLINUX -DflagMAIN umk/Export.cpp -o /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/Export.o
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -std=c++14 -I./ -DflagGCC -DflagSHARED -DflagPOSIX -DflagLINUX -DflagMAIN umk/umake.cpp -o /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/umake.o
echo '#define bmSVN_REVISION "14205"' >> build_info.h
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -std=c++14 -I./ -DflagGCC -DflagSHARED -DflagPOSIX -DflagLINUX ide/Builders/CppBuilder.cpp -o /home/cxl/upp-posix-14205/cache/upp/ide/Builders/GCCMK-Gcc-Linux-Posix-Shared/CppBuilder.o
echo '#define bmSVN_URL "svn://www.ultimatepp.org/upp/trunk/uppsrc/umk"' >> build_info.h
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -std=c++14 -I./ -DflagGCC -DflagSHARED -DflagPOSIX -DflagLINUX ide/Builders/MakeFile.cpp -o /home/cxl/upp-posix-14205/cache/upp/ide/Builders/GCCMK-Gcc-Linux-Posix-Shared/MakeFile.o
In file included from ./Esc/Esc.h:4,
from ./ide/Core/Core.h:4,
from ide/Builders/Builders.h:4,
from ide/Builders/MakeFile.cpp:1:
./Core/Core.h:232:10: fatal error: zlib.h: No such file or directory
232 | #include <zlib.h>
| ^~~~~~~~
compilation terminated.
In file included from ./Esc/Esc.h:4,
from ./ide/Core/Core.h:4,
from ./ide/Builders/Builders.h:4,
from umk/umake.h:4,
from umk/umake.cpp:1:
./Core/Core.h:232:10: fatal error: zlib.h: No such file or directory
232 | #include <zlib.h>
| ^~~~~~~~
In file included from ./Esc/Esc.h:4,
from ./ide/Core/Core.h:4,
from ide/Builders/Builders.h:4,
from ide/Builders/CppBuilder.cpp:1:
./Core/Core.h:232:10: fatal error: zlib.h: No such file or directory
232 | #include <zlib.h>
| ^~~~~~~~
compilation terminated.
In file included from ./Esc/Esc.h:4,
from ./ide/Core/Core.h:4,
from ./ide/Builders/Builders.h:4,
from umk/umake.h:4,
from umk/MacOs.cpp:1:
./Core/Core.h:232:10: fatal error: zlib.h: No such file or directory
232 | #include <zlib.h>
| ^~~~~~~~
compilation terminated.
compilation terminated.
In file included from ./Esc/Esc.h:4,
from ./ide/Core/Core.h:4,
from ./ide/Builders/Builders.h:4,
from umk/umake.h:4,
from umk/IdeContext.cpp:1:
./Core/Core.h:232:10: fatal error: zlib.h: No such file or directory
232 | #include <zlib.h>
| ^~~~~~~~
compilation terminated.
In file included from ./Esc/Esc.h:4,
from ./ide/Core/Core.h:4,
from ./ide/Builders/Builders.h:4,
from umk/umake.h:4,
from umk/Console.cpp:1:
./Core/Core.h:232:10: fatal error: zlib.h: No such file or directory
232 | #include <zlib.h>
| ^~~~~~~~
compilation terminated.
make[1]: *** [uMakefile.in:896: /home/cxl/upp-posix-14205/cache/upp/ide/Builders/GCCMK-Gcc-Linux-Posix-Shared/MakeFile.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ./Esc/Esc.h:4,
from ./ide/Core/Core.h:4,
from ./ide/Builders/Builders.h:4,
from umk/umake.h:4,
from umk/Export.cpp:1:
./Core/Core.h:232:10: fatal error: zlib.h: No such file or directory
232 | #include <zlib.h>
| ^~~~~~~~
compilation terminated.
In file included from ./Esc/Esc.h:4,
from ./ide/Core/Core.h:4,
from ./ide/Builders/Builders.h:4,
from umk/umake.h:4,
from umk/MakeBuild.cpp:1:
./Core/Core.h:232:10: fatal error: zlib.h: No such file or directory
232 | #include <zlib.h>
| ^~~~~~~~
make[1]: *** [uMakefile.in:800: /home/cxl/upp-posix-14205/cache/upp/ide/Builders/GCCMK-Gcc-Linux-Posix-Shared/CppBuilder.o] Error 1
compilation terminated.
make[1]: *** [uMakefile.in:410: /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/IdeContext.o] Error 1
make[1]: *** [uMakefile.in:216: /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/MacOs.o] Error 1
make[1]: *** [uMakefile.in:313: /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/Console.o] Error 1
make[1]: *** [uMakefile.in:701: /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/umake.o] Error 1
make[1]: *** [uMakefile.in:604: /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/Export.o] Error 1
make[1]: *** [uMakefile.in:507: /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main-Posix-Shared/MakeBuild.o] Error 1
make[1]: Leaving directory '/home/cxl/upp-posix-14205/uppsrc'
make: *** [Makefile:51: umk] Error 2
|
|
|
|
|
|
|
|
Re: New experimental Linux/FreeBSD release [message #53450 is a reply to message #53439] |
Fri, 03 April 2020 17:00   |
|
mirek wrote on Fri, 03 April 2020 09:31Are you running as regular user? Do you have .config folder inside the unpacked archive? What is inside? There should be umks32 folder and inside autogenerated CLANG.bm (it is after I do this on ubuntu or fedora).
There is only GCC.bm in .config/umks32/. Note that I'm using Arch and I do not have clang installed. The genrated GCC.bm seems to work just fine, it's just that the script is hardcoded to use CLANG.
|
|
|
Re: New experimental Linux/FreeBSD release [message #53451 is a reply to message #53449] |
Fri, 03 April 2020 17:17   |
 |
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
[quote title=mirek wrote on Fri, 03 April 2020 16:59]amrein wrote on Fri, 03 April 2020 15:25mirek wrote on Fri, 03 April 2020 11:56
What do you think?
Well, at that point, w.r.t. dependencies, this is just overengineered equivalent of ./install.
Thanks for finding the correct names though Now we need pacman variants and freebsd...
BTW, I am 99% sure that "xorg-x11-server-devel freetype-devel expat-devel" are not needed.
Mirek
Perhaps. I'm playing with it right now. I'm trying to find Fedora 31 dependencies. Apparently, there is more dependencies than just gcc-c++ and make for umk.
You talked about it in another thread: zlib-devel bzip2-devel
Is this Makefile ok for you? I mean, shoudl I continue working on it than commit the change after test on BSD and Linux?
[Updated on: Fri, 03 April 2020 17:18] Report message to a moderator
|
|
|
|
Goto Forum:
Current Time: Fri May 09 20:05:05 CEST 2025
Total time taken to generate the page: 0.01161 seconds
|
|
|