You are not logged in.

#1 2025-02-05 17:10:47

SameSite
Member
Registered: 2025-02-05
Posts: 2

[Solved] Paru - Missing OpenSSL during package build

Hello everyone, I’m here because I have some issue trying to build the AUR package of Paru.

My local Paru repository is clean and up to date, since I used this commands before testing again for this post:

git restore .
git clean -fdx
git fetch
git pull

So all the changes that I made for testing on my own should be gone, and the repository should be up to date with the git master branch. In fact running a git status shows exactly that:

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Problem

When running the makepkg -si command I get an error telling me it's not able to locate the OpenSSL development header, and this happens during the compilation of the openssl-sys v0.9.103. Below is possible to find the snippet of the error message, and linked the full command output generate by the command makepkg -si.

Failed to find OpenSSL development headers.

  You can try fixing this setting the `OPENSSL_DIR` environment variable
  pointing to your OpenSSL installation or installing OpenSSL headers package
  specific to your distribution:

      # On Ubuntu
      sudo apt-get install pkg-config libssl-dev
      # On Arch Linux
      sudo pacman -S pkgconf openssl
      # On Fedora
      sudo dnf install pkgconf perl-FindBin perl-IPC-Cmd openssl-devel
      # On Alpine Linux
      apk add pkgconf openssl-dev

  See rust-openssl documentation for more information:

      https://docs.rs/openssl

Working scenario

Trying to solve this problem on my own I did few things, and the last was compiling the project manually. So I ran the cargo build command found in the PKGBUILD file, and this instead worked just fine.

For instance the full command I ran was: cargo build --frozen --features "git" --release --target-dir target and this is it's full output.

Conclusion

I have no idea why the command inside the build script doesn't work but it does when run on it's own. I tried also to comment parts of the script, to check if it was some configuration command done previously that made the problem, but also running only the bare command cargo build was a problem inside the script ( of course I did not remove the cd command ).

Trying to solve this I also installed the openssl-1.1 package in addition to the openssl package I already had.

My current packages versions are:

gcc 14.2.1+r730+gc061ad5a36ba-1
rustup 1.27.1-1
openssl 3.4.0-1
openssl-1.1 1.1.1.w-2

And the command rustup --version shows this output:

rustup 1.27.1 (2024-05-07)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.84.1 (e71f9a9a9 2025-01-27)`

Running a cargo update on the project updates several crates, including:

  • openssl: from version v0.10.66 to v0.10.70

  • openssl-probe: from version v0.1.5 to v0.1.6

  • openssl-sys: from version v0.9.103 to v0.9.105

But this didn't change the output, since the manual compilation worked also before the update, and for the automated one I had to put the update command inside the script ( since the source folder was wiped all the time ), but it didn't worked anyway.

I did not set any environment variable, since in the docs provided in the rust error message it says that it should auto-detect the OpenSSL installation on it's own using pkg-config, and the manual build worked. In fact using printenv shows this output:

SHELL=/usr/bin/bash
WINDOWID=14680076
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XTERM_VERSION=XTerm(397)
I3SOCK=/run/user/1000/i3/ipc-socket.672
DESKTOP_SESSION=i3
XTERM_SHELL=/usr/bin/bash
GTK_MODULES=canberra-gtk-module
XDG_SEAT=seat0
PWD=/home/mirco
LOGNAME=mirco
XDG_SESSION_DESKTOP=i3
XDG_SESSION_TYPE=x11
XAUTHORITY=/home/mirco/.Xauthority
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/mirco
MOTD_SHOWN=pam
HOME=/home/mirco
LANG=en_US.UTF-8
XDG_CURRENT_DESKTOP=i3
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XTERM_LOCALE=en_US.UTF-8
XDG_SESSION_CLASS=user
TERM=xterm-256color
USER=mirco
DISPLAY=:0
SHLVL=1
XDG_VTNR=7
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/1000
DEBUGINFOD_URLS=https://debuginfod.archlinux.org
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
GDMSESSION=i3
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/mirco
_=/usr/bin/printenv

Don't think it should matter but I'm running on the kernel version 6.13.1-arch1-1, dunno just trying to give as much information as possible.

Last edited by SameSite (2025-02-06 21:44:47)

Offline

#2 2025-02-05 19:46:56

loqs
Member
Registered: 2014-03-06
Posts: 18,355

Re: [Solved] Paru - Missing OpenSSL during package build

...
warning: openssl-sys@0.9.103: cc: error: unrecognized command-line option ‘-j6’
error: failed to run custom build command for `openssl-sys v0.9.103`
...

Please post the contents of `/etc/makepkg.conf`.

Offline

#3 2025-02-05 20:00:28

mackin_cheese
Member
Registered: 2025-01-07
Posts: 287

Re: [Solved] Paru - Missing OpenSSL during package build

did you do a full system update and then try again?

Online

#4 2025-02-05 20:41:44

loqs
Member
Registered: 2014-03-06
Posts: 18,355

Re: [Solved] Paru - Missing OpenSSL during package build

@mackin_cheese can you build paru successfully with a value of CFLAGS set to `-march=x86-64 -mtune=generic -O2 -j6 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/mnt/hdd/aur/paru/src=/usr/src/debug/paru -flto=auto`

  CFLAGS = Some(-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/paru/src=/usr/src/debug/paru -flto=auto -j6)
  cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
  CC_SHELL_ESCAPED_FLAGS = None
  cargo:warning=cc: error: unrecognized command-line option ‘-j6’

Offline

#5 2025-02-05 20:47:27

mackin_cheese
Member
Registered: 2025-01-07
Posts: 287

Re: [Solved] Paru - Missing OpenSSL during package build

I built paru successfully but not with those parameters, i just went with what was in the pkgbuild.

Online

#6 2025-02-05 20:50:38

loqs
Member
Registered: 2014-03-06
Posts: 18,355

Re: [Solved] Paru - Missing OpenSSL during package build

I am suggesting SameSite has added `-j6` to CFLAGS in /etc/makepkg.conf which is invalid.  If you do the same does that break the build for you?
Edit:

$ cc -j6
gcc: error: unrecognized command-line option ‘-j6’
gcc: fatal error: no input files
compilation terminated.
$ clang -j6
clang: error: unknown argument: '-j6'
clang: error: no input files

Last edited by loqs (2025-02-05 21:04:33)

Offline

#7 2025-02-05 22:41:11

mackin_cheese
Member
Registered: 2025-01-07
Posts: 287

Re: [Solved] Paru - Missing OpenSSL during package build

one seccond let me look at the pastebin

Last edited by mackin_cheese (2025-02-05 22:42:13)

Online

#8 2025-02-05 22:44:35

mackin_cheese
Member
Registered: 2025-01-07
Posts: 287

Re: [Solved] Paru - Missing OpenSSL during package build

@SameSite is there a reason why you are using the '-j6' option? you really shouldn't be editing your makepkg.conf file if it's going to prevent a package build and then subsequently ask us what the issue may be. Try building this with a defaulted makepkg.conf

Online

#9 2025-02-06 21:42:12

SameSite
Member
Registered: 2025-02-05
Posts: 2

Re: [Solved] Paru - Missing OpenSSL during package build

Thanks guys changing the content of the /etc/makepkg.conf did the job.

I have no idea why it was like that, because the first time I tried to install Paru there were a dependency problem with Pacman that was just been updated, and since the only AUR package I'm running at the moment is VSCode it was not that big of a deal to update it manually.

Then when I tried to install it again yesterday I had that problem and I was assuming that the real error was the missing OpenSSL library, like the error was mentioning, and not the warning prenset just before.

But yeah inspecting the code of the file linked in the error message I realized that if for whatever reason the GCC compilation of the OpenSSL library failed it assume that the library is missing, so yeah also wrong flag or missing compiler can rise this error I guess.

Last edited by SameSite (2025-02-06 21:48:02)

Offline

Board footer

Powered by FluxBB