tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: mongodb3 fails to build after update, contains SSPL code
Adam <adam%netbsd.org@localhost> writes:
>>> Module Name: pkgsrc
>>> Committed By: adam
>>> Date: Tue Jul 9 07:28:30 UTC 2019
>>>
>>> Modified Files:
>>> pkgsrc/databases/mongodb3: Makefile distinfo options.mk
>>> pkgsrc/databases/mongodb3/patches: patch-SConstruct
>>> patch-src_mongo_base_initializer.h
>>> patch-src_mongo_platform_random.cpp
>>> patch-src_mongo_platform_stack__locator__netbsd.cpp
>>> patch-src_mongo_shell_linenoise__utf8.h
>>> patch-src_mongo_util_processinfo__netbsd.cpp
>>> Removed Files:
>>> pkgsrc/databases/mongodb3/patches: patch-debian_mongod.conf
>>> patch-src_mongo_db_dbwebserver.cpp
>>> patch-src_mongo_db_fts_unicode_string.cpp
>>> patch-src_mongo_platform_stack__locator__dragonfly.cpp
>>> patch-src_mongo_util_net_miniwebserver.cpp
>>>
>>> Log Message:
>>> mongodb3: updated to 3.4.21
>>
>> I am having two problems with this update. One is about the build
>> system and non-obvious; I'm including tech-pkg in the hopes that someone
>> can spot the trouble. The other is the inclusion of a file under the
>> SSPL.
>>
>> Building under netbsd-8 amd64, I get:
>>
>> Checking if C compiler is GCC 5.3.0 or newer...yes
>> Checking if C++ compiler is GCC 5.3.0 or newer...no
>
> Weird. C compiler is fine, but C++ is not? What does "g++ -version" report? Do you have another compiler installed?
$ c++ --version
c++ (nb2 20180327) 5.5.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ g++ --version
g++ (nb2 20180327) 5.5.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I do have gcc48 and gcc6 packages installed (because pkgsrc did that),
but my workdir pointers seem right:
$ ls -l work/.gcc/bin/
total 20
lrwxr-xr-x 1 gdt wheel 3 Jul 9 15:20 c++ -> g++
lrwxr-xr-x 1 gdt wheel 3 Jul 9 15:20 cc -> gcc
lrwxr-xr-x 1 gdt wheel 12 Jul 9 15:20 cpp -> /usr/bin/cpp
lrwxr-xr-x 1 gdt wheel 12 Jul 9 15:20 g++ -> /usr/bin/g++
lrwxr-xr-x 1 gdt wheel 12 Jul 9 15:20 gcc -> /usr/bin/gcc
But the problem is not the version. See the config.log I sent, which
shows the error message about an invalid content to the -O flag, and a
single quoted argument (starting with -O2) with multiple flags, which I
think are interpeted as part of the argument to -O.
Are you able to build this on netbsd-8? Anybody else?
>> The other issue is that the new version has a file licensed under the
>> Server Side Public License. I can certainly understand that this was
>> overlooked because it is not mentioned in the upstream changes and
>> unexpected:
>>
>> src/mongo/util/net/ssl_options_test.cpp
>>
>> I wonder if we have to roll back to a version without that, or if we can
>> rm this file post-extract because it is not used in the build.
>
> This is a unit-test file, which is not compiled into the final product. I guess it is a mistake from upstream. Someone has imported this file from another branch.
So if you are willing to add a post-extract: rm of it, that seems
adequate to me. I am not comfortable with SSPL files present during the
build. Removing them first seems the safest proof that they are not
used.
Home |
Main Index |
Thread Index |
Old Index