Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

Unable to emerge Qt and Allegro packages


nigga-china

Question

Well, a time ago I knew about Gentoo and Funtoo and I liked the philosophy and how it works, then I decided to install Funtoo on my notebook (that I'm using right now). Someday I tried to install VLC and in the middle of the installation, when compiling QtGui, my notebook stopped being hot and noisy (what is normal when it's compiling packages). So I checked the processor cores with htop and it seemed like the compilation process just was dead. I waited some more minutes and nothing... I decided to cancel the installation.

Later I tried to install Aseprite and the Allegro package has needed as well, so I started emerging the packages but when my notebook was compiling Allegro just occurred an Emake error with no much details about what happened. Then I decided to install Aseprite by compiling manually (as shown on its github page) and it worked fine. Finally some days ago I tried to install nextcloud-client package that required some Qt packages and once again the installation failed but this time with an error saying that my notebook processor has not support for aes. I also tried to install G'MIC on my GIMP but I could not be able to do that; I suspect that because I don't have any Qt package and because that G'MIC (that uses Qt) does not work.

What can I do to solve this situation? I tried to use Entropy package manager but occurred some conflicts and I had to reinstall Funtoo. I also tried to install some packages with Flatpak, but it does not have some packages (qutebrowser for example). Is there a another way to install binary packages or to solve the compilation errors?

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 1
Gcc sandybridge m{tune,arch} sets the aes flag that doesn't match your CPU.
This is what is triggering the compile error.
 
15 hours ago, nigga-china said:

My CPU_FLAGS_X86 (cpuid2cpuflags):

    avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3

 

The GCC settings for sandybridge:

sandybridge

Intel Sandy Bridge CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES and PCLMUL instruction set support.

Reference: https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html

Remove any gcc override settings you've made previously.

Quote

My make.conf:

CFLAGS="-march=sandybridge -O2 -pipe"
CXXFLAGS="${CFLAGS}" 

Set the correct subarch here:

# ego profile subarch native_64

=== Enabled Profiles: ===

        arch: x86-64bit
       build: current
     subarch: native_64
      flavor: desktop
     mix-ins: lxde

>>> Set subarch to native_64.
Updating profiles at /etc/portage/make.profile/parent...

Set your CPU flags:

# echo "*/* $(cpuid2cpuflags)" >> /etc/portage/package.use/00cpuflags

Verify with "emerge --info" and grep that cpuflags are correct for your cpu:

# emerge --info | grep 'CFLAGS\|CPU_FLAGS_X86'

Reference: https://wiki.gentoo.org/wiki/GCC_optimization

Link to comment
Share on other sites

  • 1

@nigga-china

I was able to build allegro-5.2.4.0 after adding this patch to /etc/portage/patches/media-libs/allegro

funtoo /home/rj # wgetpaste /var/log/portage/media-libs\:allegro-5.2.4.0\:20190514-220248.log 

https://bpaste.net/show/171ed7e8d8a8

Don't re-install your system, if you keep it updated you will eventually rebuild every package with the correct GCC settings.

If for some reason a program doesn't work then rebuild it.

 

 

Link to comment
Share on other sites

  • 1

@nigga-china

The source code for media-kit/1.3-release media-libs/allegro-4.4.2-r1 is the vanilla version from sourceforge.

To build aseprite:

 

# mkdir -p /etc/portage/patches/media-libs/allegro-4.4.2-r1

Download the  allegro_GLX_RGBA_FLOAT_BIT_fix.patch

# cp allegro_GLX_RGBA_FLOAT_BIT_fix.patch /etc/portage/patches/media-libs/allegro-4.4.2-r1

Enable  bundled-libs use flag for aseprit or you can't resize the window it runs in:

# echo "dev-games/aseprite bundled-libs" > /etc/portage/package.use/aseprite

Build aseprite:

# emerge -av aseprite

 

Link to comment
Share on other sites

  • 0

I tried to emerge nextcloud-client again and the compilation got like dead when "compiling" qtgui (as always). So I tried to emerge qtkeychain (that is a depedence of nextcloud-cliente) and...

file.thumb.png.c0c841ecb23d358c864570dff8666aa3.png

 

My CPU_FLAGS_X86 (cpuid2cpuflags):

    avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3

 

My make.conf:

CFLAGS="-march=sandybridge -O2 -pipe"
CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j4"

USE="-consolekit gif gtk elogind jpeg png -systemd tiff xpm"

VIDEO_CARDS="intel"

 

My notebook configuration:

 Intel ® Core i3-2375M

Intel® HD Graphics 3000

4GB RAM

500HD

 

That error message appeared but the execution of the compilation did not end (it just stopped) so I canceled it. I also check that there is no log for this emerging. This is all I have to show, I guess.

Link to comment
Share on other sites

  • 0

Thanks to everyone! My aes problem was solved; I could compile qtgui without problems. Although I have a doubt about if should I reinstall Funtoo  Linux because I used the Sandy Bridge subarch to install this instead the generic subarch. Also the allegro emake failed again, I checked the log and seemed that a file called linux/awe_voice.h was missing (not found). Can anyone explain to me how can I solve this?  

print.png

Link to comment
Share on other sites

  • 0

@nigga-china

Why are you building allegro-4.4.2-r1?

The patch only works for allegro-5.2.4.0

Emerge should build allegro-5.2.4.0 unless your overriding it.
 

rj@funtoo ~ $ ego query v allegro
 media-libs/allegro| slot|                  repo
-------------------+-----+----------------------
           4.4.2-r1|    0| media-kit/1.3-release
-------------------+-----+----------------------
             5.0.11|    5| media-kit/1.3-release
          * 5.2.4.0|     | media-kit/1.3-release

Please always post your commands and use wgetpaste to push your failed build logs.

Post the link to the pasted build logs in your reply.

The screen shot doesn't show the whole log and my eye sight is bad.

It's difficult for me to read the text on your prints.

 

Link to comment
Share on other sites

  • 0

@cardinal

I searched a bit on the internet and I knew that aseprite uses a modified version of allegro 4.4. This is why trying to emerge aseprite ever requires allegro 4.4.

Does portage use this modified version or the standard version of allegro (but in version 4.4)? Should the emake error occur because it uses the original version of allegro?

About the prints: I'm sorry, man. Maim was the most quickly away I had to show. I'll try to upload the logs and get link for that in the next time.

Link to comment
Share on other sites

  • 0

@cardinal

Thank you so much again! :><3 It worked for me. You just forgot (I guess) to say to emerge allegro-4.4.2-r1 before emerge aseprite, but after emerging allegro, aseprite was emerged normally. The only bad news is that this version of ase is 1.1.7 while there is already the version 1.2.11.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...