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












SourceForge.net Logo
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 Go to next message
mirek is currently offline  mirek
Messages: 13975
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 #53429 is a reply to message #53424] Thu, 02 April 2020 21:06 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Hi Mirek

This king of tarball, using a script to auto-install dependencies and containing static binaries... it's so Windows like experience.
Most Linux developers will hate this. Laughing

Several issue for me:

* The extracted directory should have the same name as the tarball (if possible) and the directory name should contain the version number too

upp-posix-14207.tar.xz => upp-posix-14207

* No binary inside a source tarball, ever. Rolling Eyes

* No auto-install of dependencies. Rolling Eyes
Re: New experimental Linux/FreeBSD release [message #53430 is a reply to message #53424] Thu, 02 April 2020 21:50 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi Mirek,

I Agree with everything Amrein said... Also never use sudo in a script like this Smile You should at least ask user if it is ok to run the packaging command, before showing password prompt Smile 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 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
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 #53432 is a reply to message #53429] Thu, 02 April 2020 22:47 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Thu, 02 April 2020 21:06


* No binary inside a source tarball, ever. Rolling Eyes

* No auto-install of dependencies. Rolling Eyes


Do not think about this as source tarball.

EDIT: Or actually do, but then ignore ./install. You can ignore that, do dependecies yourself and just do 'make'. That should work. In other words, delete ./install, ./clean, ./umks32 and you have source tarball. Which will take much more time and effort to get working...

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 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

mirek wrote on Thu, 02 April 2020 22:46
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


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 Smile

[Updated on: Fri, 03 April 2020 06:40]

Report message to a moderator

Re: New experimental Linux/FreeBSD release [message #53437 is a reply to message #53432] Fri, 03 April 2020 07:35 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Here is what could be a well formed archive:

upp-posix-14205
|-cache
|    |-upp
|-config
|    |-upp
|       |-umk
|       |-theide
|           |-speller
|-extra
|    |-bazaar
|    |-examples
|    |-reference
|    |-tutorial
|-uppsrc

And how Makefile could be used:
make theide                                 : build umk then use it to build theide with default parameters
make theide OPTIONS=-rbsv                   : build umk then use it to build theide as release binary
make theide BUILD_METHOD=CLANG FLAGS=GUI,MT : build umk then use it to build theide using CLANG and specific FLAGS
make umk                                    : build umk only
make umk MAKE=gmake CXX=g++                 : build umk using gmake and g++ (see uppsrc/uMakefile.in for other possible options)
make clean                                  : delete build directory and binaries
make build ASSEMBLY=examples PACKAGE=Button : build examples Button package from extra directory


Please, test this tarball on Linux. It's well formed and Makefile is really faster:

http://dl.free.fr/mP39SKqYs

For Windows, the archive name could be upp-win64-14205.

For sandboxing umk and theide, it would be great to use $PWD/cache/upp and $PWD/config/upp/ and not use hidden directories
(and use ~/.config/upp and ~/.cache/upp only if umk and theide are in /opt or /usr)

And... another suggestion: add the option to clean the cache directory from command line and from inside theide. Confused
Re: New experimental Linux/FreeBSD release [message #53439 is a reply to message #53436] Fri, 03 April 2020 09:31 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
dolik.rce wrote on Fri, 03 April 2020 06:37
mirek wrote on Thu, 02 April 2020 22:46
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


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 Smile


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 #53440 is a reply to message #53437] Fri, 03 April 2020 09:41 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Fri, 03 April 2020 07:35
Here is what could be a well formed archive:


So if I play clueless user, this is what I get:

Quote:

[cxl@localhost upp-posix-14205]$ make theide
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-L inux-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-Li nux-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-Posi x-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/bz2/GCCMK-Gcc-Lin ux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/lzma/GCCMK-Gcc-Li nux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/lz4/GCCMK-Gcc-Lin ux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/zstd/GCCMK-Gcc-Li nux-Posix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/Core/GCCMK-Gcc-Linux-Pos ix-Shared/
mkdir -p /home/cxl/upp-posix-14205/cache/upp/plugin/pcre/GCCMK-Gcc-Li nux-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
make[1]: c++: Command not found
make[1]: *** [uMakefile.in:216: /home/cxl/upp-posix-14205/cache/upp/umk/GCCMK-Gcc-Linux-Main -Posix-Shared/MacOs.o] Error 127
make[1]: *** Waiting for unfinished jobs....
echo '#define bmSVN_REVISION "14205"' >> build_info.h
echo '#define bmSVN_URL "svn://www.ultimatepp.org/upp/trunk/uppsrc/umk"' >> build_info.h
make[1]: Leaving directory '/home/cxl/upp-posix-14205/uppsrc'
make: *** [Makefile:51: umk] Error 2
Re: New experimental Linux/FreeBSD release [message #53441 is a reply to message #53440] Fri, 03 April 2020 10:13 Go to previous messageGo to next message
amrein is currently offline  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 #53442 is a reply to message #53441] Fri, 03 April 2020 10:27 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Fri, 03 April 2020 10:13
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).



Small issues to (eventually) fix:

buildrequires.fedora - not sure whether this is supposed to be used, but it is wrong. libgtk3.0-devel is actually gtk3-devel. Also adding c++ there would not hurt.

at the end of process, theide size 60MB compared to 13MB in case of ./install

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++.
Re: New experimental Linux/FreeBSD release [message #53443 is a reply to message #53442] Fri, 03 April 2020 10:43 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
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 #53444 is a reply to message #53443] Fri, 03 April 2020 10:46 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Now truth the be told, zlib issue is not really the fault of tarball, I should probably use pkg-config for zlib too, which I do not at the moment.

However, it all just demonstrates how hard things can be for clueless users... and how hard is it to create tarball that is actually easy to use.
Re: New experimental Linux/FreeBSD release [message #53445 is a reply to message #53437] Fri, 03 April 2020 10:50 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Fri, 03 April 2020 07:35


And... another suggestion: add the option to clean the cache directory from command line and from inside theide. Confused


My archive has ./cleanup script.

theide should not be able to clean the whole .cache (what would other applications say to that? Smile. However it has "Clear UPPOUT" command (to clear all cached object files and binaries) for like 15 years.

Mirek
Re: New experimental Linux/FreeBSD release [message #53446 is a reply to message #53441] Fri, 03 April 2020 11:56 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Fri, 03 April 2020 10:13


Installing gcc-c++ is enough to build umk. Then umk should tell what dependencies are missing (pkg-config and others).



So I wondered how you mean this. I hoped that your tarball takes care about it, but now I see that you expect to add functionality to 'umk' that stops on failed pkg-config?

But even so, that would only list the names of missing libraries. The names of packages are different...

Mirek
Re: New experimental Linux/FreeBSD release [message #53448 is a reply to message #53446] Fri, 03 April 2020 15:25 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
mirek wrote on Fri, 03 April 2020 11:56
amrein wrote on Fri, 03 April 2020 10:13


Installing gcc-c++ is enough to build umk. Then umk should tell what dependencies are missing (pkg-config and others).



So I wondered how you mean this. I hoped that your tarball takes care about it, but now I see that you expect to add functionality to 'umk' that stops on failed pkg-config?

But even so, that would only list the names of missing libraries. The names of packages are different...

Mirek


Yes the name of package are different and distribution dependent.
It means that if you want to simplify the use of U++ tarball, you will have to know each package name for each distributions. Confused

Can you try again to play as clueless user? Embarassed
Here are two files. One is an up to date Makefile. The second one is a list of dependencies for a few Linux distribution used by this Makefile.

What do you think?

edit: Still, umk and theide should be able to tell when there are missing dependencies. They fail without explicit reasons. Same thing for current uppsrc/Makefile.in and uppsrc/uMakefile.in.

[Updated on: Fri, 03 April 2020 15:28]

Report message to a moderator

Re: New experimental Linux/FreeBSD release [message #53449 is a reply to message #53448] Fri, 03 April 2020 16:59 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
[quote title=amrein wrote on Fri, 03 April 2020 15:25]mirek 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 Smile 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
Re: New experimental Linux/FreeBSD release [message #53450 is a reply to message #53439] Fri, 03 April 2020 17:00 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

mirek wrote on Fri, 03 April 2020 09:31
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).


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 Go to previous messageGo to next message
amrein is currently offline  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:25
mirek 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 Smile 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

Re: New experimental Linux/FreeBSD release [message #53452 is a reply to message #53450] Fri, 03 April 2020 18:02 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
dolik.rce wrote on Fri, 03 April 2020 17:00
mirek wrote on Fri, 03 April 2020 09:31
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).


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.


Ah, that explains it. Thank you.

Script indeed is hardcoded CLANG as CLANG is build requirement. Original idea was to install it by that automatic thing but I do not yet have arch support.

As for hardcoding CLANG, for now it is for simple reason that it is faster compiler. It is also supported everywhere anyway. In future, I would like to add llvm debugging libraries to theide, so then it will be "hard" requirement anyway...

Plus Win32 is now clang based as well as MacOS, so...

Mirek
Previous Topic: MacOS releases news
Next Topic: umk (small) improvements
Goto Forum:
  


Current Time: Thu Mar 28 22:19:49 CET 2024

Total time taken to generate the page: 0.01927 seconds