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