Lagrange from Git: issue with openssl

Hi guys,

I am doing some maintenance on my workstation and I get stuck upgrading Langrage from Git, I have my notes but do not work:

Compiling Lagrange on FreeBSD 13, the %22Dirty And Quick%22 Guide!'

So basically when I start the process I get this:

Code:
cmake .. -DCMAKE_BUILD_TYPE=Release                                                                 (release) 00:06
-- CPU supports SSE 4.1
-- Detected FreeBSD
-- Using system-provided libssl: /usr/local/lib/libssl.so
CMake Error at cmake/Depends.cmake:46 (message):
  Lagrange requires OpenSSL for TLS.  Please check if pkg-config can find
  'openssl'.
Call Stack (most recent call first):
  CMakeLists.txt:80 (include)


-- Configuring incomplete, errors occurred!
See also "/home/zagor/Git/lagrange/build/CMakeFiles/CMakeOutput.log".
See also "/home/zagor/Git/lagrange/build/CMakeFiles/CMakeError.log".

I tried to use the various *SSL available but I get always the same output. Perhaps it is something that doesn't depend by FreeBSD...

Anyway, thanks!

?
 
Look at

pkgconf is installed...

I am going to ask to Skyjake, perhaps he missed something during the setup!
 
What is broken about it? Seems to build just fine.


It appears to be one minor release behind.

Lagrange on FreeBSD is stuck at 1.7.3 while it has already reached version 1.16.4...

And on my setup any buttons do not work, right click does not work and other minor issues that now I can't recall.
 
Lagrange on FreeBSD is stuck at 1.7.3 while it has already reached version 1.16.4...

And on my setup any buttons do not work, right click does not work and other minor issues that now I can't recall.
In that case, try to update your ports tree.
 
Look again.

Well, seems you're using quarterly packages. Then use latest. Or wait a few days, the next quarterly branch is due.

Yep, I am using quarterly, I had some issues in the past using "latest" and I decided that for me is better sticking with quarterly. However Lagrange is stuck to 1.7.3 since 13.1...
 
However Lagrange is stuck to 1.7.3 since 13.1...
First of all, ports have nothing to do with the FreeBSD base version.

And then, did you ever click on the link for the port? It WAS updated. And the update will of course be in the next quarterly which is due on July.
 
First of all, ports have nothing to do with the FreeBSD base version.

And then, did you ever click on the link for the port? It WAS updated. And the update will of course be in the next quarterly which is due on July.

I've always believed that binary and ports were the same version, didn't know the ports are more updated than the binaries.
 
For the record on the originally assumed issue.

The right approach to compile a newer version of a software than what is in ports is to review all the patches in the port. They are there for a reason. While not all might be required for compilation you should carry as many as you can.
 
I've always believed that binary and ports were the same version, didn't know the ports are more updated than the binaries.
Unless you install the ports.txz distribution from the installer, don't assume that ports are the same version. You can have the pre-compiled stuff w/o the /usr/ports/ stuff.

But once you get a fresh copy of ports at a later point, things can get messy, because the machine will by default try to use the newer version of stuff, which will be ports. You can try and fight that, and tell FreeBSD to use pkg by default for missing dependencies, but in reality, it just becomes a mess pretty quick.

That's the reason to never mix ports and packages, and it's also the reason I go for ports from get-go: Just install a base FreeBSD release, fetch a fresh ports tarball, and don't bother with pkg... Plus, I get to mess with make config :P
 
Thank you guys, I am sorry to be so slow getting this stuff...
Actually I believe that I understood a very little... ?‍♂️

The distfile into ports says that is the same version as the binary:

Code:
cat /usr/ports/www/lagrange/distinfo                      00:50
TIMESTAMP = 1635979811
SHA256 (lagrange-1.7.3.tar.gz) = 46d9ad305aca2cbe0ef52060a28634c9ed20098e1784e7e9f787ae5d0394ef9d
SIZE (lagrange-1.7.3.tar.gz) = 22816390

However I realized this package has been fixed just a couple of months ago...
I am going to wait for the next quarterly update.

Thanks… ?
 
Thank you guys, I am sorry to be so slow getting this stuff...
Actually I believe that I understood a very little... ?‍♂️

The distfile into ports says that is the same version as the binary:

Code:
cat /usr/ports/www/lagrange/distinfo                      00:50
TIMESTAMP = 1635979811
SHA256 (lagrange-1.7.3.tar.gz) = 46d9ad305aca2cbe0ef52060a28634c9ed20098e1784e7e9f787ae5d0394ef9d
SIZE (lagrange-1.7.3.tar.gz) = 22816390

However I realized this package has been fixed just a couple of months ago...
I am going to wait for the next quarterly update.

Thanks… ?
what's the date you see when you do # ls -l /usr/ports/www/lagrange/distinfo? Ports are nothing more than a set of config files that contain directions on how to compile the packages... and the packages are simply separate files that get created using those directions. After compilation, you simply look for a newly created binary... All the config files are still right where they were at the start.
 
I've always believed that binary and ports were the same version, didn't know the ports are more updated than the binaries.
The ports.txz that comes with the FreeBSD release (i.e on the .iso) are the ones that the release packages (i.e on the DVD .iso) are made from.

They do diverge quite quickly on the servers but you can generate the same release packages from that "release" ports tarball. So in many ways, "they do match". This is one way you can safely mix ports and packages.
 
what's the date you see when you do # ls -l /usr/ports/www/lagrange/distinfo? Ports are nothing more than a set of config files that contain directions on how to compile the packages... and the packages are simply separate files that get created using those directions. After compilation, you simply look for a newly created binary... All the config files are still right where they were at the start.

It is still the 2021 version...

-rw-r--r-- 1 root wheel 161 Nov 3 2021 /usr/ports/www/lagrange/distinfo

Perhaps I am realizing the ports tree does not update itself as do the regular packages... ?
 
Perhaps I am realizing the ports tree does not update itself as do the regular packages... ?
By default, pkg(8) is set up to check for quarterly updates, iirc... so when you invoke pkg, it looks in -QUARTERLY-tagged repos. But, you can turn that off, and make pkg look to a specific repo that only has packages for 13.1-RELEASE, for example.

Also, the ports tree can be set up to track the git repo of the FreeBSD ports - but that stuff, it's DIY, and can be a lot of work to set up right.
 
@freezer - the port maintainer got back to me a few days ago after I had sent a patch to update Lagrange to the latest (then) version. He's gone ahead and bumped it up to the now latest version.

Lagrange now requires only one very small patch to build on FreeBSD. See below. It's literally a single line change.

Diff:
--- cmake/Depends.cmake.orig    2023-05-02 20:13:29 UTC
+++ cmake/Depends.cmake
@@ -42,6 +42,7 @@ else ()
     set (TFDN_ENABLE_WEBREQUEST OFF CACHE BOOL "")
     add_subdirectory (lib/the_Foundation)
     add_library (the_Foundation::the_Foundation ALIAS the_Foundation)
+    find_package (OpenSSL)
     if (NOT OPENSSL_FOUND)
         message (FATAL_ERROR "Lagrange requires OpenSSL for TLS. Please check if pkg-config can find 'openssl'.")
     endif ()
 
Back
Top