...
[package pgloader.citus].......................... [3537/4093]
[package pgloader.utils]
debugger invoked on a NAME-CONFLICT in thread
#<THREAD "main thread" RUNNING {10005E85B3}>:
EXPORT PGLOADER.CATALOG:FIELD-NAME causes name-conflicts in
#<PACKAGE "PGLOADER.PARSER"> between the following symbols:
PGLOADER.CATALOG:FIELD-NAME, PGLOADER.PARSER::FIELD-NAME
See also:
The ANSI Standard, Section 11.1.1.2.5
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [KEEP-OLD ] Keep PGLOADER.PARSER::FIELD-NAME accessible in PGLOADER.PARSER (shadowing PGLOADER.CATALOG:FIELD-NAME).
1: [TAKE-NEW ] Make PGLOADER.CATALOG:FIELD-NAME accessible in PGLOADER.PARSER (uninterning PGLOADER.PARSER::FIELD-NAME).
2: [RESOLVE-CONFLICT ] Resolve conflict.
3: [RETRY ] Retry
compiling #<CL-SOURCE-FILE "pgloader" "src" "package">.
4: [ACCEPT ] Continue, treating
compiling #<CL-SOURCE-FILE "pgloader" "src" "package">
as having been successful.
5: Retry ASDF operation.
6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
configuration.
7: Retry ASDF operation.
8: Retry ASDF operation after resetting the
configuration.
9: [ABORT ] Give up on "pgloader"
10: [CONTINUE ] Ignore runtime option --eval "(ql:quickload \"pgloader\")".
11: Skip rest of --eval and --load options.
12: Skip to toplevel READ/EVAL/PRINT loop.
13: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).
(NAME-CONFLICT #<PACKAGE "PGLOADER.PARSER"> EXPORT PGLOADER.CATALOG:FIELD-NAME PGLOADER.CATALOG:FIELD-NAME PGLOADER.PARSER::FIELD-NAME)
0]
<-- Hangs indefinitely here
^C <-- Ctrl-C doesn't even work to kill the make process, I had to kill the entire terminal tab!
I tried this on two Ubuntu 18.04 installs - exactly the same thing at exactly the same place.
I only attempted this because the package on apt.postgresql.org appears to be broken for postgresql > 9 on debian/ubuntu (I get the same thing as https://github.com/dimitri/pgloader/issues/248) so was trying to build from source.
I just did make clean pgloader to try and reproduce the problem, but everything runs fine when I do that. Which version of pgloader are you trying to build? with which version of SBCL? Did you try the most recent release bundle at https://github.com/dimitri/pgloader/releases/tag/v3.6.1?
$ make clean pgloader
...
$ ./build/bin/pgloader --version
pgloader version "3.6.eafaf80"
compiled with SBCL 1.4.12
I couldn't get it to build on Debian 9 or 10, getting similar errors as above. Though the bundle worked fine and I now have:
bin/pgloader --version
pgloader version "3.6.1"
compiled with SBCL 1.4.15.debian
@dimitri - I followed the instructions in the Readme.md and tried to install from source master. I read in another issue that you are on Mac and you didn't have time to test on the platform that the issue was for. Did you try to install on Ubuntu 18.04 or on your normal Mac development machine?
It is probably not worth bothering though - I have decided to do my sqlite to postgres interchange manually. I'll close the issue.
In case it's helpful to anyone running into this issue when building from source. Here is what worked for me:
# some pre-reqs
apt-get -y install wget make git gawk freetds-dev patch unzip devscripts pandoc libsqlite3-dev gnupg gnupg-agent
# get sbcl latest, build
wget https://downloads.sourceforge.net/project/sbcl/sbcl/1.4.16/sbcl-1.4.16-x86-64-linux-binary.tar.bz2
bzip2 -cd sbcl-1.4.16-x86-64-linux-binary.tar.bz2 | tar xvf -
cd sbcl-1.4.16-x86-64-linux/
sh install.sh
cd ..
# get latest package from pgloader releases
wget https://github.com/dimitri/pgloader/releases/download/v3.6.1/pgloader-bundle-3.6.1.tgz
tar zxvf pgloader-bundle-3.6.1.tgz
cd pgloader-bundle-3.6.1
make
./bin/pgloader --version
You might be able to do without patch unzip devscripts pandoc libsqlite3-dev gnupg gnupg-agent, but I haven't tested it yet.
I also encountered this issue and it looks like the travis builds are also running into the same issue:
https://travis-ci.org/dimitri/pgloader/jobs/482801309
The workaround posted by grejdi worked for me as well.
@grejdi did not help for me, on ubuntu 18.04:
[package pgloader.utils]..........................
[package pgloader.archive]........................
[package pgloader.parse-date].....................
[package pgloader.connection].....................
[package pgloader.pgsql]..........................
[package pgloader.sources]
debugger invoked on a NAME-CONFLICT in thread
#<THREAD "main thread" RUNNING {10005205B3}>:
EXPORT PGLOADER.SOURCES::GET-COLUMN-LIST causes name-conflicts in
#<PACKAGE "PGLOADER.SOURCE.MSSQL"> between the following symbols:
PGLOADER.SOURCES::GET-COLUMN-LIST, PGLOADER.SOURCE.MSSQL::GET-COLUMN-LIST
See also:
The ANSI Standard, Section 11.1.1.2.5
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [KEEP-OLD ] Keep PGLOADER.SOURCE.MSSQL::GET-COLUMN-LIST accessible in PGLOADER.SOURCE.MSSQL (shadowing PGLOADER.SOURCES::GET-COLUMN-LIST).
1: [TAKE-NEW ] Make PGLOADER.SOURCES::GET-COLUMN-LIST accessible in PGLOADER.SOURCE.MSSQL (uninterning PGLOADER.SOURCE.MSSQL::GET-COLUMN-LIST).
2: [RESOLVE-CONFLICT ] Resolve conflict.
3: [RETRY ] Retry
compiling #<CL-SOURCE-FILE "pgloader" "src" "package">.
4: [ACCEPT ] Continue, treating
compiling #<CL-SOURCE-FILE "pgloader" "src" "package">
as having been successful.
5: Retry ASDF operation.
6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
configuration.
7: Retry ASDF operation.
8: Retry ASDF operation after resetting the
configuration.
9: [ABORT ] Give up on "pgloader"
10: [CONTINUE ] Ignore runtime option --eval "(ql:quickload \"pgloader\")".
11: Skip rest of --eval and --load options.
12: Skip to toplevel READ/EVAL/PRINT loop.
13: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).
(NAME-CONFLICT #<PACKAGE "PGLOADER.SOURCE.MSSQL"> EXPORT PGLOADER.SOURCES::GET-COLUMN-LIST PGLOADER.SOURCES::GET-COLUMN-LIST PGLOADER.SOURCE.MSSQL::GET-COLUMN-LIST)
0]
Which version of pgloader are you building here? current master's tree or the bundle or something else? And which version of SBCL do you have? I currently fail to reproduce your error with SBCL 1.4.12 and the current source tree.
UPDATE: also tried with SBCL 1.5.2, all good.
$ ./build/bin/pgloader --version
pgloader version "3.6.b8da7dd"
compiled with SBCL 1.5.2
@dimitri current master.
with ubuntu provided SBLC and the same result with sbcl-1.4.16
@dimitri current master on CentOS Linux release 7.6.1810
SBCL 1.4.0-1.el7 installed by bootstrap-centos7.sh
Same error:
(NAME-CONFLICT #<PACKAGE "PGLOADER.SOURCE.MSSQL"> EXPORT PGLOADER.SOURCES::GET-COLUMN-LIST PGLOADER.SOURCES::GET-COLUMN-LIST PGLOADER.SOURCE.MSSQL::GET-COLUMN-LIST)
current master SBCL 1.5.4.66-901d5ab + pgloader current master gives the same error.
Hi, I've the same issue on Fedora 30.
debugger invoked on a NAME-CONFLICT in thread
EXPORT PGLOADER.SOURCES::GET-COLUMN-LIST causes name-conflicts in
#
PGLOADER.SOURCES::GET-COLUMN-LIST, PGLOADER.SOURCE.MSSQL::GET-COLUMN-LIST
Most helpful comment
In case it's helpful to anyone running into this issue when building from source. Here is what worked for me:
You might be able to do without
patch unzip devscripts pandoc libsqlite3-dev gnupg gnupg-agent, but I haven't tested it yet.