Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error cool compilation #231

Closed
quenenni opened this issue Aug 5, 2024 · 11 comments
Closed

error cool compilation #231

quenenni opened this issue Aug 5, 2024 · 11 comments

Comments

@quenenni
Copy link

quenenni commented Aug 5, 2024

I tried a new compilation (on a new debian 12 installation).

I used officeonline-install2.sh instead of officeonline-install.sh.

The compilation stopped in the online part (libreoffice and poco are done).

tst-33575-33575 2024-08-05 18:29:51.063577 +0200 [ unittest ] TST  testPreProcessedFileSubstitution_empty [preProcessedFileSubstitution] (+0ms): ERROR: Assertion failure: orig != recon
Expected (orig): [FileServeWhiteBoxTests.cpp:414:Assertion
Test name: FileServeTests::testPreProcessedFileSubstitution
equality assertion failed
- Expected:
- Actual  :
- orig != recon

Failures !!!
Run: 72   Failure total: 1   Failures: 1   Errors: 0

I attached the cool-compilation.log file.

Any idea what's the problem?
Thanks.

@quenenni
Copy link
Author

quenenni commented Aug 5, 2024

cool-compilation.log

@quenenni
Copy link
Author

quenenni commented Aug 5, 2024

When running the test, I have a bit more info on the problem:

(cd test; CPPUNIT_TEST_NAME="FileServeTests::testPreProcessedFileSubstitution" gdb --args ../test/unittest)

Starting program: /opt/cool/test/unittest 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
tst-33634-33634 2024-08-05 18:59:23.938266 +0200 [ unittest ] ERR  Exception while initializing SslContext: Cannot load CA file/directory at /etc/coolwsd//ca-chain.cert.pem (error:80000002:system library::No such file or directory)| test.cpp:128
tst-33634-33634 2024-08-05 18:59:23.938604 +0200 [ unittest ] ERR  Failed to initialize Server SSL. Set the path to the certificates via --cert-path. HTTPS tests will be disabled in unit-tests.| test.cpp:132
tst-33634-33634 2024-08-05 18:59:23.938626 +0200 [ unittest ] ERR  Failed to initialize Client SSL.| test.cpp:138

=============== START FileServeTests::testPreProcessedFileSubstitution

>>>>>>>> FAILED FileServeTests::testPreProcessedFileSubstitution <<<<<<<<<

Exception: equality assertion failed
- Expected: 
- Actual  : 
- orig != recon
        at FileServeWhiteBoxTests.cpp:414

=============== END FileServeTests::testPreProcessedFileSubstitution (82ms) ===============
tst-33634-33634 2024-08-05 18:59:24.007561 +0200 [ unittest ] TST  testPreProcessedFileSubstitution_empty [preProcessedFileSubstitution] (+0ms): ERROR: Assertion failure: orig != recon 
Expected (orig): [FileServeWhiteBoxTests.cpp:414:Assertion
Test name: FileServeTests::testPreProcessedFileSubstitution
equality assertion failed
- Expected: 
- Actual  : 
- orig != recon

Failures !!!
Run: 1   Failure total: 1   Failures: 1   Errors: 0
[Inferior 1 (process 33634) exited with code 01]

[EDIT]
´Cannot load CA file/directory at /etc/coolwsd//ca-chain.cert.pem´

We are using a proxy server in front and our proxy (HaProxy) terminates/manage ssl connections itself.
The VM with Cool only receive non SSL connection.

And the folder /etc/coolwsd/ doesn't exist (yet) (I don't know if the compilation process remove the folder on error though)

@DmDS
Copy link
Contributor

DmDS commented Aug 6, 2024

what version are you compiling?
i have no problems with 24.04.5-3 on clean debian.

@quenenni
Copy link
Author

quenenni commented Aug 7, 2024

I did a git pull before yesterday

commit 6ecd87d104062a437a203c778fac29e597e1e588 (HEAD -> master, origin/master, origin/HEAD)
Merge: 73482b1 fc23b62
Author: husisusi <[email protected]>
Date:   Thu Jun 20 18:10:16 2024 +0200

    Merge pull request #230 from DmDS/master
    
    COOL 24.04
set_core_regex='co-24.04$'
set_online_regex='co-24-04$'
#set_online_regex='master'

#### LibreOffice parameters ###
lo_src_branch='distro/collabora/co-24.04.3'
lo_src_tag='cp-24.04.3-6'
lo_non_free_ttf=true

#### LibreOffice Online parameters ###
cool_src_repo='https://github.com/CollaboraOnline/online.git'
cool_src_tag='cp-24.04.3-6'

[EDIT]
Should I change cool_src_tag='cp-24.04.3-6' by cool_src_tag='cp-24.04.5-3'?

@DmDS
Copy link
Contributor

DmDS commented Aug 7, 2024

Here is my config

set_name='collabora'
set_core_regex='co-24.04$'
set_online_regex='co-24-04$'
#set_online_regex='master'

#### LibreOffice parameters ###
lo_src_repo='https://github.com/LibreOffice/core.git'
#lo_src_branch='distro/collabora/co-23.05'
lo_src_branch='distro/collabora/co-24.04.5'
lo_src_tag='cp-24.04.5-5'
lo_src_commit=''
lo_dir="/opt/libreoffice"
lo_forcebuild=false
lo_non_free_ttf=true

#### POCO parameters ###
poco_version=$poco_version_latest #latest releases available
poco_forcebuild=false

#### LibreOffice Online parameters ###
cool_src_repo='https://github.com/CollaboraOnline/online.git'
#cool_src_branch='distro/collabora/co-23.05'
cool_src_tag='cp-24.04.5-4'
cool_dir="/opt/cool"
cool_configure_opts="--disable-werror --with-lokit-path=${lo_dir}/include"
cool_logfile='/var/log/coolwsd.log'
cool_prefix='/usr'
cool_sysconfdir='/etc'
cool_localstatedir='/var'
cool_forcebuild=true
cool_maxcon=200
cool_maxdoc=100
coolwsd_service_name='coolwsd'

today compiled the latest 24.04.5-4
works with both scripts

@quenenni
Copy link
Author

quenenni commented Aug 7, 2024

@DmDS Thanks for the help.
I tried with the same config as you but same error.

@quenenni
Copy link
Author

quenenni commented Aug 7, 2024

I destroyed my qm et created a new qm (based on debian 12).
I restarted the compilation with @DmDS config version, same error.

The only thing I did on my new debian is to add contrib in the sources.list and pre-install few packages (as I did 3 months ago):

apt install ttf-mscorefonts-installer libnspr4-dev libnss3-dev libx11-xcb-dev libpoco-dev

(not sure if it's still needed but that comes from previous experiences compiling cool)

I don't understand why a ssl error.
I noticed in the cool-compilation.log this:

Configuration:
    LOKit path                /opt/libreoffice/include 
    LO path                   /opt/libreoffice/instdir
    LO integration tests      test against /opt/libreoffice/instdir
    SSL support               ssl enabled. cert verification: true
    ...

Isn't it possible to add a param somewhere to set ssl enabled. cert verification to false?

I'm adding the compilation log files.
cool_logs.tar.gz

@quenenni
Copy link
Author

quenenni commented Aug 9, 2024

Can't it be that you pre-installed packages related to ssl before launching the compilation?

@DmDS
Copy link
Contributor

DmDS commented Aug 12, 2024

I can't reproduce...

installed debian 12.6.
added contrib to source.list.
preinstalled git ttf-mscorefonts-installer libnspr4-dev libnss3-dev libx11-xcb-dev libpoco-dev
cloned https://github.com/DmDS/officeonlin-install.sh.git (only config differs from the main one)
compilation completed successfully.

@quenenni
Copy link
Author

Unfortunately for me, I'm unable to find a solution for this.

I tried several things, installed more packages, but I always have the same error.

I'm going to test a last thing, install a debian 11, upgrade it to debian 12 and then launch a compilation (I noticed that's what I did on my before last successfull compilation as said in comments in #188 ).

@quenenni
Copy link
Author

quenenni commented Oct 3, 2024

Finally, I succeeded to compile a new version.

Using our Debian 11 template, then upgrading it to Debian 12, made it work.
I now have a new version:

Version COOLWSD :
24.04.3.6 git hash: [716d784e]
Version LOKit :
Collabora Office 24.04.8.1 git hash: [d1ed24b]
Servi par : Debian GNU/Linux 12 (bookworm) 

So it seems that the debian 12 template we get on Proxmox website is the source of the problem (despite working well for all our others services installed using that template).

Maybe when creating this image, to make it as minimal as possible, they didn't pre-installed the basic libraries and applications Debian offers as a choice during the install.
So very minimal install.

And I maybe libraries are missing, libraries that aren't check in the cool script if they are present or not.

Well, that's about the best (and only) idea I have got at this point to explain my problem.

Thanks a lot for your time and help.
I'm closing the ticket.

NB: Very nice now the cool compilation log that doesn't include the hundreds of warnings, making it way nicer to debug, like this one:

FileServeWhiteBoxTests.cpp: In member function ‘void FileServeTests::testPreProcessedFileRoundtrip()’:
FileServeWhiteBoxTests.cpp:349:20: warning: unused variable ‘testname’ [-Wunused-variable]
  349 |     constexpr auto testname = __func__;
      |                    ^~~~~~~~

@quenenni quenenni closed this as completed Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants