Solved poudriere error compile python311

I'm creating my poudriere repository, but unfortunately the following error stops me from compiling many packages


[00:11:32] [01] [00:11:17] Finished lang/python311 | python311-3.11.9: Failed: build.

Thanks
 
Check its build logs. I can recommend setting up the web interface for poudriere, you can find example configurations for Apache, nginx and Caddy in /usr/local/share/examples/poudriere/. The web UI makes it a lot easier to see what's happening, check logs, etc.
 
cc: error: unable to execute command: Killed
cc: error: linker command failed due to signal (use -v to see invocation)
*** Error code 1

Stop.
make: stopped in /wrkdirs/usr/ports/lang/python311/work/Python-3.11.9
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/python311
 
How many builders? Might want to keep that at 1, each build job will use memory too. And I assume you have other services running on that machine too? 1 GB isn't much. One of my old build servers has 16GB memory and 16GB swap, and even that is sometimes not enough.
 
Even with only 1gb it crashes now I tried to limit parallel jobs to 1. what do you mean How many builders?

It's a test server
 
I noticed that the vps doesn't have swap if I try to add 16 GB of swap do you think I can?
 
what do you mean How many builders?
Builders are the parallel jobs. Each builder is a job. By default you get as many builders (i.e. parallel jobs) as the number of cores the system has.

I noticed that the vps doesn't have swap if I try to add 16 GB of swap do you think I can?
If there's no swap partition (or can't create one) you can use a swap file. It's not going to make it faster but it might be enough to get it to finish building.

Do you need to build anything specific here? I would suggest doing the actual building of your packages on some other system.
 
ok which folders should I synchronize if I want to compile on a local machine for example my laptop? Thank you
 
If you use poudriere, your package repository will end up in /usr/local/poudriere/data/packages/<jail>-<ports>/

For my VPS for example, I build all packages on a system at home. This repository is shared using nginx, my VPS is configured to download packages from there.
 
So basically I can install poudriere on my laptop to perform the compilation via my ports. On the vps I only install nginx or a web server, but I don't have to install poudriere on the vps it is sufficient to load the path that contains the packages then data and redirect them nginx .

C-like:
server {
        listen 80 default;
        server_name server_domain_or_IP;
        root /usr/local/share/poudriere/html;

        location /data {
            alias /usr/local/poudriere/data/logs/bulk;
            autoindex on;
        }

        location /packages {
            root /usr/local/poudriere/data;
            autoindex on;
        }
    }
}

Is only location packages needed on the vps?

And the key I generate?

Thank you very much
 
I used a much more powerful workstation than the vps, I uploaded the packages folder to the vps and configured nginx properly

Works
 
Hi, I need this repository to distribute syslog-ng compiled with the sql, smtp, geoip options on some machines that I use as log collectors on mariadb databases. For that I got a €4 vps. the post update port where I have the problem of upgrading directly from the ports and on my notebook. I decided to switch to Freebsd also as a client for daily use to learn it better :)
 
How do I check it? Did I only include syslog-ng in the list? I'm not an expert, maybe I don't understand the question well?
 
why not py39 , the default ?
No. Current defaut on main branch is 3.11.
Mk/bsd.default-versions.mk
UPDATING

And yes, 2024Q2 still has 3.9 as defautl.
Mk/bsd.defaut-versions.mk
But upcoming 2024Q3 should have 3.11, as it branches from main branch at the momemt. So even if you are using quarterly branch (2024Q1, 2024Q2, etc.), tracking dev-commits-ports-main ML is strongly suggested to see what happens on next quarterly. (No need to subscribe, as you can read it via archive.)
 
I'm on quarterly , it's more "stable", thats why its defaulting to py39. I must say everything works fine with poudriere

Code:
cat /usr/ports/Mk/bsd.default-versions.mk | grep py

Then in make.conf you can also explicitly specify the version if needed.
Code:
DEFAULT_VERSIONS+=
 
Back
Top