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
Re: New experimental Linux/FreeBSD release [message #53519 is a reply to message #53424] Wed, 08 April 2020 11:37 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
I don't know if it happens to everyone but:

* I always got /home/user/bazaar in all assembly, even if this directory doesn't exist and even if I remove all configuration folders.
* I have /home/user/uppsrc in all assembly, if ~/upp.src doesn't exist.
Re: New experimental Linux/FreeBSD release [message #53520 is a reply to message #53518] Wed, 08 April 2020 11:41 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Wed, 08 April 2020 11:25
Great. Now theide and umk uses .config and .cache inside the tarball and ~/.config/ or ~/.cache if there are not there.

Suggestion:

* use cache/upp/ and config/upp in tarball (instead of hidden directories)


On some level, I think this makes sense, but having these names the same has a lot of sense too. So I would vote for .config.

Quote:

* use config/upp/theide, config/upp/umk instead of config/u++/theide...


I suspected that u++ might not be liked, but is that really a problem? IMO it looks cool Smile Also nameclash is very unlikely.

Quote:

* share compiler .bm files between theide and umk (in config/upp/ and not in both config/upp/theide and config/upp/umk)


Will do, but will probably mean putting it to .config/theide

Quote:

* fix code where ".upp" is still used (you can find some using "grep -R \\.upp uppsrc")


OK, but not all ".upp" are config related, in most cases it is extension for package files

Quote:

* move bazaar examples reference tutorial in an extra directory (see layout at the end of this message)


I do not like that.

Mirek
Re: New experimental Linux/FreeBSD release [message #53522 is a reply to message #53516] Wed, 08 April 2020 12:27 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Edit 1: I'll investigate further, this may be a problem on my side. I'll let you know.
Edit 2: This occurs if TIMING macro is in Paint();
Edit 3: This occurs only on GTK. NOGTK mode is not affected. (A lock issue? What's changed in GTK backend, lately?)

Quote:
Just a quick question, what is the name of the application? Do you have non-ASCII names in it?


It is "TerminalExample", nothing more.

By the way, I've checked out SVN, cleared the cache, and manually set up .config/u++. Unfortunately, it didn't change the situation.

However, I've now noticed that this occurs only when TIMING macros are used (specifically, RTIMING).
Also DuMPS and LOGS seem to be acting weirdly (not dumping, or logging) when TIMING macros are used.
Not to mention each RTIMING macro adds ~8 ms. delay to overall result. (Maybe related, maybe not, I don't know.)

Best regards,
Oblivion


[Updated on: Wed, 08 April 2020 13:37]

Report message to a moderator

Re: New experimental Linux/FreeBSD release [message #53524 is a reply to message #53522] Wed, 08 April 2020 13:51 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
OK, that rings some bells... Smile

Mirek
Re: New experimental Linux/FreeBSD release [message #53525 is a reply to message #53519] Wed, 08 April 2020 14:09 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Wed, 08 April 2020 11:37
I don't know if it happens to everyone but:

* I always got /home/user/bazaar in all assembly, even if this directory doesn't exist and even if I remove all configuration folders.
* I have /home/user/uppsrc in all assembly, if ~/upp.src doesn't exist.


What is "all assembly" ?
Re: New experimental Linux/FreeBSD release [message #53526 is a reply to message #53522] Wed, 08 April 2020 14:17 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Oblivion wrote on Wed, 08 April 2020 12:27

Not to mention each RTIMING macro adds ~8 ms. delay to overall result. (Maybe related, maybe not, I don't know.)


BTW, not quite sure what you mean by that, but maybe that is expected behaviour. In overall result, the time spent by time measuring code is included, then it is (approximately) subtracted in time per single pass.

(The implementation simply measures how long it takes to do a large amount of timings of NOP and then uses this value in all calculations).

Mirek
Re: New experimental Linux/FreeBSD release [message #53527 is a reply to message #53526] Wed, 08 April 2020 14:35 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Quote:
In overall result, the time spent by time measuring code is included, then it is (approximately) subtracted in time per single pass.


Sure, I understand that. It is just that I'm having a spike in delay added by timing macros too (in Paint()), after I last updated U++, a day ago. I've pointed it out, because I thoulght it might be related to the main issue I'm having with timing macros on GTK backend.

Best regards,
Oblivion


[Updated on: Wed, 08 April 2020 14:35]

Report message to a moderator

Re: New experimental Linux/FreeBSD release [message #53528 is a reply to message #53522] Wed, 08 April 2020 14:50 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
So my theory about issues with log/TIMING is that the problem is that some static Strings are already destructed by the time .log is created.

I have now tried to "fortify" the code so that this does not happen, can you retest with current trunk please?
Re: New experimental Linux/FreeBSD release [message #53529 is a reply to message #53528] Wed, 08 April 2020 14:58 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Yep, the problem disappeared. timing macros seem to work as expected now.

Thank you very much!

Best regards,
Oblivion


Re: New experimental Linux/FreeBSD release [message #53530 is a reply to message #53525] Wed, 08 April 2020 16:05 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
mirek wrote on Wed, 08 April 2020 14:09
amrein wrote on Wed, 08 April 2020 11:37
I don't know if it happens to everyone but:

* I always got /home/user/bazaar in all assembly, even if this directory doesn't exist and even if I remove all configuration folders.
* I have /home/user/uppsrc in all assembly, if ~/upp.src doesn't exist.


What is "all assembly" ?


index.php?t=getfile&id=6039&private=0

All assembly on the left (inside the red rectangle) use "/home/user/bazaar;/home/user/uppsrc".
Only uppsrc assembly uses the correct nest (/home/user/TEST/upp/uppsrc).
Re: New experimental Linux/FreeBSD release [message #53533 is a reply to message #53530] Wed, 08 April 2020 18:24 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Wed, 08 April 2020 11:37
I don't know if it happens to everyone but:

* I always got /home/user/bazaar in all assembly, even if this directory doesn't exist and even if I remove all configuration folders.
* I have /home/user/uppsrc in all assembly, if ~/upp.src doesn't exist.


Thanks, needed a big more tweaking, should be now fixed.
Re: New experimental Linux/FreeBSD release [message #53534 is a reply to message #53533] Wed, 08 April 2020 21:10 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Yes. It's fixed.
Re: New experimental Linux/FreeBSD release [message #53535 is a reply to message #53534] Wed, 08 April 2020 21:19 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
I can't find where this bug come from (I guess it's a bug).

When I use Makefiles, I get only one file named .cache/upp.out/build_info.h
When I use umk or umks32, I get several files named build_info.h in .cache/upp.out/

Quote:

rm -fr .cache/upp.out/*
./umk ./uppsrc umk CLANG -brs ./umk
find .cache/upp.out/ -name build_info.h


Result:

Quote:

.cache/upp.out/Core/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/plugin/pcre/CLANG.Shared/build_info.h
.cache/upp.out/plugin/zstd/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/plugin/lz4/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/plugin/lzma/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/plugin/bz2/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/Esc/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/umk/CLANG.Blitz.Main.Shared/build_info.h
.cache/upp.out/ide/Java/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/ide/Android/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/ide/Core/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/ide/Builders/CLANG.Shared/build_info.h


Those files don't have the same content (the defined variables inside don't have the same value most of the time).

[Updated on: Wed, 08 April 2020 21:25]

Report message to a moderator

Re: New experimental Linux/FreeBSD release [message #53537 is a reply to message #53535] Thu, 09 April 2020 10:22 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Wed, 08 April 2020 21:19
I can't find where this bug come from (I guess it's a bug).

When I use Makefiles, I get only one file named .cache/upp.out/build_info.h
When I use umk or umks32, I get several files named build_info.h in .cache/upp.out/

Quote:

rm -fr .cache/upp.out/*
./umk ./uppsrc umk CLANG -brs ./umk
find .cache/upp.out/ -name build_info.h


Result:

Quote:

.cache/upp.out/Core/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/plugin/pcre/CLANG.Shared/build_info.h
.cache/upp.out/plugin/zstd/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/plugin/lz4/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/plugin/lzma/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/plugin/bz2/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/Esc/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/umk/CLANG.Blitz.Main.Shared/build_info.h
.cache/upp.out/ide/Java/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/ide/Android/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/ide/Core/CLANG.Blitz.Shared/build_info.h
.cache/upp.out/ide/Builders/CLANG.Shared/build_info.h


Those files don't have the same content (the defined variables inside don't have the same value most of the time).


Let us say "feature".

From utility perspective, it is better when build_info is in all package output files. This however was not yet implemented for Makefile and is causing little problems that way yet. I will file this as low-priority issue in redmine.

EDIT: Also, these defines should be treated by the code as "optional additional information" (with #ifdef)...

Mirek

[Updated on: Thu, 09 April 2020 10:25]

Report message to a moderator

Re: New experimental Linux/FreeBSD release [message #53552 is a reply to message #53537] Sat, 11 April 2020 10:01 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Little fix for your Makefiles

Summary:

* replace hard coded reference of .cache/upp.out by $(UPPOUT)
* secure the line that remove $(UPPOUT) (clean target)
* remove unneeded line, the last line that remove build_info.h (this file is in $(UPPOUT))

Here is the patch. Of course, you will certainly fix umk/theide code instead I guess.

$ diff Makefile Makefile.ide
3,4c3,4
< UPPOUT = .cache/upp.out/
< CINC = -I$(UPPDIR1) `pkg-config --cflags freetype2` `pkg-config --cflags x11` `pkg-config --cflags fontconfig` `pkg-config --cflags xcb` `pkg-config --cflags expat` `pkg-config --cflags xinerama` `pkg-config --cflags xrender` `pkg-config --cflags xft` `pkg-config --cflags xdmcp` `pkg-config --cflags xext` `pkg-config --cflags gtk+-3.0` `pkg-config --cflags libnotify` `pkg-config --cflags libpng` -I./ -I.cache/upp.out
---
> UPPOUT = .cache/upp.out/
> CINC = -I$(UPPDIR1) `pkg-config --cflags freetype2` `pkg-config --cflags x11` `pkg-config --cflags fontconfig` `pkg-config --cflags xcb` `pkg-config --cflags expat` `pkg-config --cflags xinerama` `pkg-config --cflags xrender` `pkg-config --cflags xft` `pkg-config --cflags xdmcp` `pkg-config --cflags xext` `pkg-config --cflags gtk+-3.0` `pkg-config --cflags libnotify` `pkg-config --cflags libpng` -I./ -I$(UPPOUT)
94c94
< OutFile = ./ide
---
> OutFile = ide.out
103c103
< echo '#define bmUSER "'`whoami`'"') > ".cache/upp.out/build_info.h"
---
> echo '#define bmUSER "'`whoami`'"') > "$(UPPOUT)build_info.h"
72308,72309c72308,72309
72308,72309c72308,72309
< if [ -d "$(UPPOUT)" ]; then rm -rf "$(UPPOUT)" ; fi
< if [ -f build_info.h ]; then rm -f build_info.h ; fi
---
> if [ "$(UPPOUT)" != "" -a "$(UPPOUT)" != "/" -a -d "$(UPPOUT)" ] ; then rm -fr "$(UPPOUT)" ; fi
>

[Updated on: Sat, 11 April 2020 10:14]

Report message to a moderator

Re: New experimental Linux/FreeBSD release [message #53553 is a reply to message #53552] Sat, 11 April 2020 10:30 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Sat, 11 April 2020 10:01
Little fix for your Makefiles

Summary:

* replace hard coded reference of .cache/upp.out by $(UPPOUT)
* secure the line that remove $(UPPOUT) (clean target)
* remove unneeded line, the last line that remove build_info.h (this file is in $(UPPOUT))

Here is the patch. Of course, you will certainly fix umk/theide code instead I guess.


Do you realize these are generated by umk?

Sending Makefile patches is meaningless. It is ide/Builders code that needs patching...

(I might do that soon though...)

Mirek
Re: New experimental Linux/FreeBSD release [message #53557 is a reply to message #53553] Sat, 11 April 2020 12:51 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
mirek wrote on Sat, 11 April 2020 10:30
amrein wrote on Sat, 11 April 2020 10:01
Little fix for your Makefiles

Summary:

* replace hard coded reference of .cache/upp.out by $(UPPOUT)
* secure the line that remove $(UPPOUT) (clean target)
* remove unneeded line, the last line that remove build_info.h (this file is in $(UPPOUT))

Here is the patch. Of course, you will certainly fix umk/theide code instead I guess.


Do you realize these are generated by umk?

Sending Makefile patches is meaningless. It is ide/Builders code that needs patching...

(I might do that soon though...)

Mirek


Of course I know Twisted Evil. The patch gives a clear idea to where the changes need to occur.

[Updated on: Sat, 11 April 2020 12:51]

Report message to a moderator

Re: New experimental Linux/FreeBSD release [message #53561 is a reply to message #53557] Sun, 12 April 2020 11:58 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
[quote title=amrein wrote on Sat, 11 April 2020 12:51][quote title=mirek wrote on Sat, 11 April 2020 10:30]amrein wrote on Sat, 11 April 2020 10:01

Of course I know Twisted Evil. The patch gives a clear idea to where the changes need to occur.


Hopefully implemented in trunk. Please check.
icon14.gif  Re: New experimental Linux/FreeBSD release [message #53562 is a reply to message #53561] Sun, 12 April 2020 13:03 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
All done. It works perfectly as expected.


Small issue: if umk create a Makefile from inside uppsrc, it will use "OutFile = packagename" instead of "OutFile = packagename.out"

Example: "OutFile = umk" instead of "OutFile = umk.out"

The consequence is an error at link time because the directory name (umk or ide for example) already exist.
Re: New experimental Linux/FreeBSD release [message #53564 is a reply to message #53562] Sun, 12 April 2020 23:09 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
amrein wrote on Sun, 12 April 2020 13:03
All done. It works perfectly as expected.


Small issue: if umk create a Makefile from inside uppsrc, it will use "OutFile = packagename" instead of "OutFile = packagename.out"

Example: "OutFile = umk" instead of "OutFile = umk.out"

The consequence is an error at link time because the directory name (umk or ide for example) already exist.


Afaik it uses this always. But it definitely makes sense to change to umk.out if dir there exists..

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


Current Time: Thu Mar 28 13:20:30 CET 2024

Total time taken to generate the page: 0.01282 seconds