sugarlabs / sugar-artwork

Sugar icons and themes
Apache License 2.0
11 stars 33 forks source link

error during building in ubuntu 22.04 #122

Closed AJAY172003 closed 1 month ago

AJAY172003 commented 1 month ago

This is the error i am getting when tried to build the sugar-artwork.I get this error when i run make install. I have installed all the dependencies. If there is any missing dependency so please let me know. make[4]: Nothing to be done for 'install-exec-am'. python3 -m em -p $ -D scaling=\'100\' -D gtk=\'3.24.33\' \ ./gtk-widgets.css.em > \ ../../gtk3/theme/gtk-widgets-100.css

./gtk-widgets.css.em:492:29: error: ParseError: unknown markup sequence: $((; extension markup @((...)) invoked with no installed extension

:1:1: from this context make[4]: *** [Makefile:652: gtk-widgets-100.css] Error 1 make[4]: Leaving directory '/home/ajay/Desktop/sugar-artwork/gtk3/theme' make[3]: *** [Makefile:538: install-am] Error 2 make[3]: Leaving directory '/home/ajay/Desktop/sugar-artwork/gtk3/theme' make[2]: *** [Makefile:378: install-recursive] Error 1 make[2]: Leaving directory '/home/ajay/Desktop/sugar-artwork/gtk3/theme' make[1]: *** [Makefile:370: install-recursive] Error 1 make[1]: Leaving directory '/home/ajay/Desktop/sugar-artwork/gtk3' make: *** [Makefile:418: install-recursive] Error 1
quozl commented 1 month ago

What dependencies did you install and why?

I've just built on Ubuntu 24.04 and there were no errors. The error you posted "unknown markup sequence" is not in the source code for EmPy on Ubuntu 24.04, file /usr/lib/python3/dist-packages/em.py. Perhaps you installed a later release of EmPy rather than version 3.3.4 which is in Ubuntu. If so, remove the later EmPy and install 3.3.4.

Or, please port sugar-artwork to EmPy 4.1 and give us a pull request. Best would be to support both releases of EmPy, or switch to something easier to use and more popular, such as m4.

AJAY172003 commented 1 month ago

Thanks and That's correct , I installed the latest verison of empy , now i installed the 3.3.4 and it build successully! I am new to open source so i will try to port sugar-artwork to EmPy 4.1.

quozl commented 1 month ago

It is a build dependency only. I've not looked at why EmPy was used, but m4 is much more stable, is used by other components of Sugar, and is already a dependency of sugar-artwork through autoconf. If you have time, please show us what a port to m4 would look like.

AJAY172003 commented 1 month ago

Empy is the templating system which allows the insertion of python code in template text.Here it is used in css file where python is also combined . I had never user m4 before , so I will first try m4 and then try to port it .

walterbender commented 1 month ago

As I recall, it is used to insert the user colors into Sugar icons.

AJAY172003 commented 1 month ago

@walterbender @quozl m4 is designed for text substitution and simple macro processing. Also I have to make separate file for python and then it will generate the m4 file which I will place in template code.Tgis will become more complex in comparison to empty which natively support python in same file and it's the best fit. While m4 can handle basic variable replacement, it is not well-suited for handling complex logic or dynamic calculations within templates. So i think empy must be best suited for this purpose.Also when i check that code in gtk-widgets.css.em, it could be complicated if i implement it with m4 because arithmetic calculations will not be calculated precisly and other things will become more complicated. What both of you think about it ? Now, should i import it to m4 or empy 4.1 version?

walterbender commented 1 month ago

Do you have any sense of what changed (broke) with empy 4.1?

AJAY172003 commented 1 month ago

@walterbender I mean that can't we add support also for empty 4.1 while retaining support for empy 3.3.4? Also It seems that empy is used only in sugar-artworks repo. And it's use is only in making the css template files. If it's use is minimum then I think adding support for empy 4.1 wouldn't be much harder for us while retaining support for 3.3.4?

quozl commented 1 month ago

Can this be done by taking EmPy 3.3.4 or earlier, removing what we don't need, and including only the critical section in our source? Is the license compatible?

It is not an installed dependency of sugar-artwork packages, so I don't think it is used beyond the build step.

chimosky commented 1 month ago

I looked at the changes between EmPy 3.3.4 and 4.2 and came up with #123, I noticed this issue in Fedora too as the package failed to build, tested the change with both 3.3.4 and 4.2 and it works fine so we should be good.

quozl commented 1 month ago

Fixed in master.