stalkerg / postgres_cmake Goto Github PK
View Code? Open in Web Editor NEWPostgreSQL with CMake build system. In beta stage.
License: Other
PostgreSQL with CMake build system. In beta stage.
License: Other
Subj.
It's seems like bug in new CMake. We must not forget write bug to CMake bug tracker.
Subj
Need replace own cmake+perl scripts by:
https://cmake.org/cmake/help/v3.4/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html
Subj.
After start postmaster psql come down with core dump.
subj
Subj.
creating conversions ... FATAL: could not access file "$libdir/ascii_and_mic"
Hi!
Awesome work, thank you.
I'm not sure, but my cmake told me that you missed "se" in folowing line of RegressCheck.cmake
elif(CMAKE_SYSTEM_NAME STREQUAL "AIX")
Please, check that file.
Please consider VM for windows build.
Currently Postgres build for windows is painful due to manual dependancies resolution.
You have to install apropriate MSVS, SDK, bison, flex, python, perl, etc etc.
Btw, in my expirience, bison and flex from MinGW won't do the trick. May be I'm just not lucky enough.
It would be wonderfull if you could start hacking just by downloading unactivated windows VM stuffed with free IDE (VC 2015 Community or we can try asking JetBrains for CLion) or without IDE at all.
If you wish I can provide you with Azure Hyper-V machine from my teacher MSDN Subscription from Ural Federal University.
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OPENSSL_INCLUDE_DIR (ADVANCED)
used as include directory in directory /Users/mpaquier/git/postgres/src/interfaces/libpq
used as include directory in directory /Users/mpaquier/git/postgres/contrib/pgcrypto
FWIW, I am using OpenSSL from brew, but I did not link to it using the first command of cmake in README.md.
*** stack smashing detected ***:
"/home/stalkerg/projects/postgresql_bin/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true template1 > /dev/null
Subj.
subj
I wrote small README.cmake but my English is really poor and we must improve that.
In this document we must write about basic features of CMake and main differences between CMake and autotools+gnumake.
@markir9 can you help me?
subj!!!
Subj.
Subj.
Subj.
Subj.
It's realy hell. I'll leave it for last.
subj
Subj.
Subjs.
Example:
-- Looking for fdatasync
-- Looking for fdatasync - not found
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
I forgot to push some files and fix ecpg tests.
Subj.
Contrib module building (and installing) should probably be optional.
subj
subj
I am running cmake on macOS with the following options:
-DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2l
-DOPENSSL_INCLUDE_DIR=/usr/local/Cellar/openssl/1.0.2l/include
-DOPENSSL_LIBRARIES=/usr/local/Cellar/openssl/1.0.2l/lib
-DWITH_PERL=ON
-DWITH_LIBXML=ON
-DWITH_OPENSSL=ON
I am obviously trying to force cmake to see openssl inside my brew installation.
The output of cmake seems to indicate the correct libraries are detected:
...
-- Conclusion
-- Host tuple: Darwin-16.7.0
-- OpenSSL: TRUE version: 1.0.2l libs: /usr/local/Cellar/openssl/1.0.2l/lib/libssl.dylib;/usr/local/Cellar/openssl/1.0.2l/lib/libcrypto.dylib
-- Python:
...
However I am getting the following error:
[ 8%] Built target pgport
[ 9%] Built target pgport_srv
[ 9%] Building C object src/common/CMakeFiles/pgcommon.dir/scram-common.c.o
[ 9%] Building C object src/common/CMakeFiles/pgcommon.dir/sha2_openssl.c.o
[ 9%] Building C object src/common/CMakeFiles/pgcommon_srv.dir/scram-common.c.o
[ 10%] Built target ecpg
In file included from /Users/joe/Development/postgres_cmake/src/common/scram-common.c:27:
In file included from /Users/joe/Development/postgres_cmake/src/include/common/scram-common.h:16:
/Users/joe/Development/postgres_cmake/src/include/common/sha2.h:54:10: fatal error: 'openssl/sha.h' file not found
#include <openssl/sha.h>
I suspect this is an issues with cmake rather than what you've done with postgres. I'm not in any way familiar with cmake, however, so I thought I would ask here first.
Or, maybe "make install" can just always strip the binary's?
Or two steps, "make strip", "make install"?
It looks like 'make installcheck' does the same thing as 'make check' i.e creates a temporary instance and runs the regression tests. It should work same as the autotools build and connect to a prev created running instance.
In mac os x 10.13, I have already install brew install ossp-uuid
.
add cmake option: -DWITH_UUID=e2fs
Build got error
In file included from /Users/jiamo/postgres/postgres_cmake/contrib/uuid-ossp/uuid-ossp.c:34:
In file included from /usr/local/Cellar/ossp-uuid/1.6.2_2/include/ossp/uuid.h:38:
In file included from /usr/include/unistd.h:658:
/usr/include/gethostuuid.h:39:25: error: expected identifier
int gethostuuid(uuid_t, const struct timespec *) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA);
^
In file included from /Users/jiamo/postgres/postgres_cmake/contrib/uuid-ossp/uuid-ossp.c:34:
/usr/local/Cellar/ossp-uuid/1.6.2_2/include/ossp/uuid.h:94:24: error: typedef redefinition with different types ('struct uuid_st' vs
'__darwin_uuid_t' (aka 'unsigned char [16]'))
typedef struct uuid_st uuid_t;
^
/usr/include/sys/_types/_uuid_t.h:31:25: note: previous definition is here
typedef __darwin_uuid_t uuid_t;
^
In file included from /Users/jiamo/postgres/postgres_cmake/contrib/uuid-ossp/uuid-ossp.c:34:
/usr/local/Cellar/ossp-uuid/1.6.2_2/include/ossp/uuid.h:107:22: error: conflicting types for 'uuid_compare'
extern uuid_rc_t uuid_compare (const uuid_t *_uuid, const uuid_t *_uuid2, int *_result);
^
/usr/include/uuid/uuid.h:57:5: note: previous declaration is here
int uuid_compare(const uuid_t uu1, const uuid_t uu2);
^
3 errors generated.
I add debug in in FindLibUUID.cmake
. message("show libuuid_found ${LIBUUID_FOUND} ${LIBUUID_LIBRARIES}")
some pieces of cmake messsage is:
-- Checking for one of the modules 'uuid'
show libuuid_found 1 uuid
I try to build origin postgres.
./configure -with-uuid=e2fs
works fine. got
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
While ./configure -with-uuid=ossp
got
checking for ossp/uuid.h... no
checking uuid.h usability... no
checking uuid.h presence... no
checking for uuid.h... no
configure: error: header file <ossp/uuid.h> or <uuid.h> is required for OSSP UUID
While ./configure -with-uuid=bsd
. got
checking for uuid_to_string... no
configure: error: BSD UUID functions are not present
So how can I do something to make cmake postgres build success?
Subj.
Now enum test fail under MacOSX ElCapitan. Some things wrong in dynahash or plpgsql.
Crash in pl_comp.c plpgsql_HashTableLookup:
return hentry->function;
I think one hash gen twice for different keys.
Use case:
--
-- User functions, can't test perl/python etc here since may not be compiled.
--
CREATE FUNCTION echo_me(anyenum) RETURNS text AS $$
BEGIN
RETURN $1::text || 'omg';
END
$$ LANGUAGE plpgsql;
SELECT echo_me('red'::rainbow);
--
-- Concrete function should override generic one
--
CREATE FUNCTION echo_me(rainbow) RETURNS text AS $$
BEGIN
RETURN $1::text || 'wtf';
END
$$ LANGUAGE plpgsql;
SELECT echo_me('red'::rainbow);
I think echo_me(rainbow) not corrected overwrite echo_me(anyenum).
Sub. Realy important for mingw tests.
Need generate snowball_create.sql by snowball.sql.in and languages list.
subj
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.