Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Nov 2022 17:24:15 +0800
From:      Archimedes Gaviola <archimedes.gaviola@gmail.com>
To:        Xin LI <delphij@gmail.com>
Cc:        freebsd-database@freebsd.org
Subject:   Re: Include SQLite3 source upon buildworld
Message-ID:  <CAJFbk7F_6JKerboLPQGXaemSQp7-cCJ-WSeyE2JVs%2BAEgkSmBw@mail.gmail.com>
In-Reply-To: <CAJFbk7FSXshHziwTMkiMWsNE-SG2YUmFpXvOxJ6pd7f_xvDOOw@mail.gmail.com>
References:  <CAJFbk7H4cgZn6Cy4m6uMZhZKe93mMtHb6afbVb8YDrQwJ2FBtA@mail.gmail.com> <CAGMYy3u3ocKJ713m=m2qHXBTQxynMt=LWQiN99yYDo6KQuDTGg@mail.gmail.com> <CAJFbk7FSXshHziwTMkiMWsNE-SG2YUmFpXvOxJ6pd7f_xvDOOw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--0000000000006234a705ee5c33c4
Content-Type: text/plain; charset="UTF-8"

On Wed, Nov 16, 2022 at 10:06 AM Archimedes Gaviola <
archimedes.gaviola@gmail.com> wrote:

>
>
> On Wed, Nov 16, 2022 at 1:48 AM Xin LI <delphij@gmail.com> wrote:
>
>>
>>
>> On Tue, Nov 15, 2022 at 5:16 AM Archimedes Gaviola <
>> archimedes.gaviola@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> There's an SQLite3 source located in the /usr/src/contrib/sqlite3. Is
>>> there a way to include this upon buildworld so that I can run the binary
>>> after compiling?
>>>
>>
> Hi Xin Li,
>
>
>> Yes and no.
>>
>> Yes -- you can always compile shell.c source and link against the
>> library; the code is there, just the BSD make build glues are missing.
>>
>
> Okay, nice! I'm so glad that it can be done. My goal is to make SQLite3 be
> part of the base system in a customized FreeBSD build to make it embedded.
> I am checking the version and it's updated 3.93.3 as I'm using the
> 14.0-CURRENT. I need to figure-out this BSD make and glues you've mentioned
> to make this happen.
>
> No -- the omission is intentional: the library is meant to be used by the
>> base system as a "private library", which gives us the flexibility to not
>> give a stable API/ABI promise and to only build with options that the base
>> system needed (to reduce attack surface), so that when we make an update,
>> it will be a "wholesale" update and user applications are not broken, even
>> if sqlite3 update have introduced one.  Users who want sqlite3 should
>> really install it from ports (databases/sqlite3) or package.
>>
>
> Oh I see, now I know its purpose. Currently, I have my system installed
> with SQLite3 via package install 'pkg install sqlite3' and it works very
> well but because this time I want something embeddable. It so happened that
> I was checking the source and surprisingly found sqlite3. Anyway, let me
> explore and try.
>
> Thanks and best regards,
> Archimedes
>

Hi Xin LI,

I added the new sqlite3 folder in the /usr/src/usr.bin/sqlite3 with the
Makefile file as content and then reference the /usr/src/contrib/sqlite3
directory as source.

root@generic:/usr/src/usr.bin/sqlite3 # ls -la
total 16
drwxr-xr-x    2 root  wheel   512 Nov 26 12:46 .
drwxr-xr-x  279 root  wheel  5120 Nov 26 12:46 ..
-rw-r--r--    1 root  wheel   295 Nov 26 16:50 Makefile

root@generic:/usr/src/usr.bin/sqlite3 # cat Makefile
# $FreeBSD$

.include <src.opts.mk>

SQLITE= ${SRCTOP}/contrib/sqlite3
.PATH:  ${SQLITE}

PROG= sqlite3
MK_MAN=no
SRCS= sqlite3.c
INCS= shell.c sqlite3.h

WARNS?= 3
CFLAGS+=        -I${SQLITE} \
                -DSQLITE_THREADSAFE=0 \
                -DSQLITE_OMIT_LOAD_EXTENSION

.include <bsd.prog.mk>

and perform the 'make' command. However, I encountered this error -> ld:
error: undefined symbol: main as referenced to the crt1_c.c:72
(/usr/src/lib/csu/aarch64/crt1_c.c:72) file.

root@generic:/usr/src/usr.bin/sqlite3 # make
cc  -O2 -pipe -fno-common -I/usr/src/contrib/sqlite3  -DSQLITE_THREADSAFE=1
 -DSQLITE_OMIT_LOAD_EXTENSION   -fPIE -g -gz=zlib -MD  -MF.depend.sqlite3.o
-MTsqlite3.o -std=gnu99 -Wno-format-zero-length -fstack-protector-strong
-Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
-Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
-Wno-unused-const-variable -Wno-error=unused-but-set-variable
-Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
-Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
-Wno-address-of-packed-member  -Qunused-arguments    -c
/usr/src/contrib/sqlite3/sqlite3.c -o sqlite3.o
cc -O2 -pipe -fno-common -I/usr/src/contrib/sqlite3 -DSQLITE_THREADSAFE=1
-DSQLITE_OMIT_LOAD_EXTENSION -fPIE -g -gz=zlib -std=gnu99
-Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign
-Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable
-Wno-error=unused-but-set-variable -Wno-tautological-compare
-Wno-unused-value -Wno-parentheses-equality -Wno-unused-function
-Wno-enum-conversion -Wno-unused-local-typedef
-Wno-address-of-packed-member -Qunused-arguments  -Wl,-zrelro -pie   -o
sqlite3.full sqlite3.o  -L/usr/obj/usr/src/arm64.aarch64/lib/libthr
-lpthread
ld: error: undefined symbol: main
>>> referenced by crt1_c.c:72 (/usr/src/lib/csu/aarch64/crt1_c.c:72)
>>>               /usr/lib/Scrt1.o:(__start)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make: stopped in /usr/src/usr.bin/sqlite3

Not sure if I missed something or if something goes wrong with my Makefile
content construction. I basically followed from here
https://www.sqlite.org/howtocompile.html and then proved the source to
compile successfully.

root@generic:/usr/src/contrib/sqlite3 # pwd
/usr/src/contrib/sqlite3
root@generic:/usr/src/contrib/sqlite3 # ls -lah
total 11364
drwxr-xr-x   3 root  wheel   1.0K Oct 27 08:06 .
drwxr-xr-x  89 root  wheel   2.0K Nov 26 13:01 ..
-rw-r--r--   1 root  wheel    15K Oct 27 08:06 INSTALL
-rw-r--r--   1 root  wheel   729B Oct 27 08:06 Makefile.am
-rw-r--r--   1 root  wheel   547B Oct 27 08:06 Makefile.fallback
-rw-r--r--   1 root  wheel    37K Oct 27 08:06 Makefile.in
-rw-r--r--   1 root  wheel    28K Oct 27 08:06 Makefile.msc
-rw-r--r--   1 root  wheel   3.5K Oct 27 08:06 README.txt
-rw-r--r--   1 root  wheel   7.1K Oct 27 08:06 Replace.cs
-rw-r--r--   1 root  wheel   365K Oct 27 08:06 aclocal.m4
-rwxr-xr-x   1 root  wheel   7.2K Oct 27 08:06 compile
-rwxr-xr-x   1 root  wheel    48K Oct 27 08:06 config.guess
-rwxr-xr-x   1 root  wheel    35K Oct 27 08:06 config.sub
-rwxr-xr-x   1 root  wheel   485K Oct 27 08:06 configure
-rw-r--r--   1 root  wheel   8.5K Oct 27 08:06 configure.ac
-rwxr-xr-x   1 root  wheel    23K Oct 27 08:06 depcomp
-rwxr-xr-x   1 root  wheel    15K Oct 27 08:06 install-sh
-rwxr-xr-x   1 root  wheel   320K Oct 27 08:06 ltmain.sh
-rwxr-xr-x   1 root  wheel   6.7K Oct 27 08:06 missing
-rw-r--r--   1 root  wheel   717K Oct 27 08:06 shell.c
-rw-r--r--   1 root  wheel   8.7K Oct 27 08:06 sqlite3.1
-rw-r--r--   1 root  wheel   8.2M Oct 27 08:06 sqlite3.c
-rw-r--r--   1 root  wheel   599K Oct 27 08:06 sqlite3.h
-rw-r--r--   1 root  wheel   267B Oct 27 08:06 sqlite3.pc.in
-rw-r--r--   1 root  wheel   1.9K Oct 27 08:06 sqlite3.rc
-rw-r--r--   1 root  wheel    36K Oct 27 08:06 sqlite3ext.h
-rw-r--r--   1 root  wheel    78B Oct 27 08:06 sqlite3rc.h
drwxr-xr-x   6 root  wheel   512B Oct 27 08:06 tea

root@generic:/usr/src/contrib/sqlite3 # cc -DSQLITE_THREADSAFE=0
-DSQLITE_OMIT_LOAD_EXTENSION shell.c sqlite3.c -o sqlite3

I've manually invoked the first compilation command inside the sqlite3
source directory and it works just fine as seen below.

root@generic:/usr/src/contrib/sqlite3 # cc  -O2 -pipe -fno-common
-I/usr/src/contrib/sqlite3  -DSQLITE_THREADSAFE=0
 -DSQLITE_OMIT_LOAD_EXTENSION -fPIE -g -gz=zlib -MD  -MF.depend.sqlite3.o
-MTsqlite3.o -std=gnu99 -Wno-format-zero-length -fstack-protector-strong
-Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
-Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
-Wno-unused-const-variable -Wno-error=unused-but-set-variable
-Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
-Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
-Wno-address-of-packed-member  -Qunused-arguments -c
/usr/src/contrib/sqlite3/sqlite3.c -o sqlite3.o

The second compilation command below seems to break even when compiled
manually.

cc -O2 -pipe -fno-common -I/usr/src/contrib/sqlite3 -DSQLITE_THREADSAFE=1
-DSQLITE_OMIT_LOAD_EXTENSION -fPIE -g -gz=zlib -std=gnu99
-Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror
-Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign
-Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable
-Wno-error=unused-but-set-variable -Wno-tautological-compare
-Wno-unused-value -Wno-parentheses-equality -Wno-unused-function
-Wno-enum-conversion -Wno-unused-local-typedef
-Wno-address-of-packed-member -Qunused-arguments  -Wl,-zrelro -pie   -o
sqlite3.full sqlite3.o  -L/usr/obj/usr/src/arm64.aarch64/lib/libthr
-lpthread
ld: error: undefined symbol: main
>>> referenced by crt1_c.c:72 (/usr/src/lib/csu/aarch64/crt1_c.c:72)
>>>               /usr/lib/Scrt1.o:(__start)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make: stopped in /usr/src/usr.bin/sqlite3

Just want to solicit if you have an idea of this particular problem or you
might have encountered this problem before?

Thanks and best regards,
Archimedes








>
>

--0000000000006234a705ee5c33c4
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 16, 2022 at 10:06 AM Arch=
imedes Gaviola &lt;<a href=3D"mailto:archimedes.gaviola@gmail.com">archimed=
es.gaviola@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div cl=
ass=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 16, 2=
022 at 1:48 AM Xin LI &lt;<a href=3D"mailto:delphij@gmail.com" target=3D"_b=
lank">delphij@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div style=3D"font=
-family:monospace,monospace"><br></div></div><br><div class=3D"gmail_quote"=
><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Nov 15, 2022 at 5:16 AM Arch=
imedes Gaviola &lt;<a href=3D"mailto:archimedes.gaviola@gmail.com" target=
=3D"_blank">archimedes.gaviola@gmail.com</a>&gt; wrote:<br></div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s=
olid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Hi,</div><div=
><br></div><div>There&#39;s an SQLite3 source located in the=20
/usr/src/contrib/sqlite3. Is there a way to include this upon buildworld so=
 that I can run the binary after compiling?</div></div></blockquote></div><=
/div></blockquote><div><br></div><div>Hi Xin Li,</div><div></div><div>=C2=
=A0<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px =
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"=
ltr"><div class=3D"gmail_quote"><div style=3D"font-family:monospace,monospa=
ce">Yes and no.</div><div style=3D"font-family:monospace,monospace"><br></d=
iv><div style=3D"font-family:monospace,monospace">Yes -- you can always com=
pile shell.c source and link against the library; the code is there, just t=
he BSD make build glues are missing.</div></div></div></blockquote><div><br=
></div><div>Okay, nice! I&#39;m so glad that it can be done. My goal is to =
make SQLite3 be part of the base system in a customized FreeBSD build to ma=
ke it embedded. I am checking the version and it&#39;s updated 3.93.3 as I&=
#39;m using the 14.0-CURRENT. I need to figure-out this BSD make and glues =
you&#39;ve mentioned to make this happen.<br></div><div><br></div><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gma=
il_quote"><div style=3D"font-family:monospace,monospace">No -- the omission=
 is intentional: the library is meant to be used by the base system as a &q=
uot;private library&quot;, which gives us the flexibility to not give a sta=
ble API/ABI promise and to only build with options that the base system nee=
ded (to reduce attack surface), so that when we make an update, it will be =
a &quot;wholesale&quot; update and user applications are not broken, even i=
f sqlite3 update have introduced one.=C2=A0 Users who want sqlite3 should r=
eally install it from ports (databases/sqlite3) or package.</div></div></di=
v></blockquote><div><br></div><div>Oh I see, now I know its purpose. Curren=
tly, I have my system installed with SQLite3 via package install &#39;pkg i=
nstall sqlite3&#39; and it works very well but because this time I want som=
ething embeddable. It so happened that I was checking the source and surpri=
singly found sqlite3. Anyway, let me explore and try.</div><div><br></div><=
div>Thanks and best regards,</div><div>Archimedes</div></div></div></blockq=
uote><div><br></div><div>Hi Xin LI,</div><div><br></div><div>I added the ne=
w sqlite3 folder in the /usr/src/usr.bin/sqlite3

 with the Makefile file as content and then reference the /usr/src/contrib/=
sqlite3 directory as source.<br></div><div><br></div><div>root@generic:/usr=
/src/usr.bin/sqlite3 # ls -la<br>total 16<br>drwxr-xr-x =C2=A0 =C2=A02 root=
 =C2=A0wheel =C2=A0 512 Nov 26 12:46 .<br>drwxr-xr-x =C2=A0279 root =C2=A0w=
heel =C2=A05120 Nov 26 12:46 ..<br>-rw-r--r-- =C2=A0 =C2=A01 root =C2=A0whe=
el =C2=A0 295 Nov 26 16:50 Makefile<br><br>root@generic:/usr/src/usr.bin/sq=
lite3 # cat Makefile<br># $FreeBSD$<br><br>.include &lt;<a href=3D"http://s=
rc.opts.mk">src.opts.mk</a>&gt;<br><br>SQLITE=3D ${SRCTOP}/contrib/sqlite3<=
br>.PATH: =C2=A0${SQLITE}<br><br>PROG=3D sqlite3<br>MK_MAN=3Dno<br>SRCS=3D =
sqlite3.c<br>INCS=3D shell.c sqlite3.h<br><br>WARNS?=3D 3<br>CFLAGS+=3D =C2=
=A0 =C2=A0 =C2=A0 =C2=A0-I${SQLITE} \<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 -DSQLITE_THREADSAFE=3D0 \<br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 -DSQLITE_OMIT_LOAD_EXTENSION<br><br>.includ=
e &lt;<a href=3D"http://bsd.prog.mk">bsd.prog.mk</a>&gt;<br></div><div><br>=
</div><div>and perform the &#39;make&#39; command. However, I encountered t=
his=20
error -&gt; ld: error: undefined symbol: main as referenced to the crt1_c.c=
:72 (/usr/src/lib/csu/aarch64/crt1_c.c:72) file. <br></div><div><br></div><=
div>root@generic:/usr/src/usr.bin/sqlite3 # make<br>cc =C2=A0-O2 -pipe -fno=
-common -I/usr/src/contrib/sqlite3 =C2=A0-DSQLITE_THREADSAFE=3D1 =C2=A0-DSQ=
LITE_OMIT_LOAD_EXTENSION =C2=A0 -fPIE -g -gz=3Dzlib -MD =C2=A0-MF.depend.sq=
lite3.o -MTsqlite3.o -std=3Dgnu99 -Wno-format-zero-length -fstack-protector=
-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-param=
eter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitia=
lized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-co=
nst-variable -Wno-error=3Dunused-but-set-variable -Wno-tautological-compare=
 -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum=
-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member =C2=A0-=
Qunused-arguments =C2=A0 =C2=A0-c /usr/src/contrib/sqlite3/sqlite3.c -o sql=
ite3.o<br>cc -O2 -pipe -fno-common -I/usr/src/contrib/sqlite3 -DSQLITE_THRE=
ADSAFE=3D1 -DSQLITE_OMIT_LOAD_EXTENSION -fPIE -g -gz=3Dzlib -std=3Dgnu99 -W=
no-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wa=
ll -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-p=
rototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -Wno-empty-b=
ody -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=3Dunused-but=
-set-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-=
equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typede=
f -Wno-address-of-packed-member -Qunused-arguments =C2=A0-Wl,-zrelro -pie =
=C2=A0 -o sqlite3.full sqlite3.o =C2=A0-L/usr/obj/usr/src/arm64.aarch64/lib=
/libthr -lpthread<br>ld: error: undefined symbol: main<br>&gt;&gt;&gt; refe=
renced by crt1_c.c:72 (/usr/src/lib/csu/aarch64/crt1_c.c:72)<br>&gt;&gt;&gt=
; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /usr/lib/Scrt1.o:(__star=
t)<br>cc: error: linker command failed with exit code 1 (use -v to see invo=
cation)<br>*** Error code 1<br><br>Stop.<br>make: stopped in /usr/src/usr.b=
in/sqlite3</div><div><br></div><div>Not sure if I missed something or if so=
mething goes wrong with my Makefile content construction. I basically follo=
wed from here <a href=3D"https://www.sqlite.org/howtocompile.html">https://=
www.sqlite.org/howtocompile.html</a> and then proved the source to compile =
successfully.</div><div><br></div><div>root@generic:/usr/src/contrib/sqlite=
3 # pwd<br>/usr/src/contrib/sqlite3<br>root@generic:/usr/src/contrib/sqlite=
3 # ls -lah<br>total 11364<br>drwxr-xr-x =C2=A0 3 root =C2=A0wheel =C2=A0 1=
.0K Oct 27 08:06 .<br>drwxr-xr-x =C2=A089 root =C2=A0wheel =C2=A0 2.0K Nov =
26 13:01 ..<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =C2=A0 =C2=A015K Oct 27=
 08:06 INSTALL<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =C2=A0 729B Oct 27 0=
8:06 Makefile.am<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =C2=A0 547B Oct 27=
 08:06 Makefile.fallback<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =C2=A0 =C2=
=A037K Oct 27 08:06 Makefile.in<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =C2=
=A0 =C2=A028K Oct 27 08:06 Makefile.msc<br>-rw-r--r-- =C2=A0 1 root =C2=A0w=
heel =C2=A0 3.5K Oct 27 08:06 README.txt<br>-rw-r--r-- =C2=A0 1 root =C2=A0=
wheel =C2=A0 7.1K Oct 27 08:06 Replace.cs<br>-rw-r--r-- =C2=A0 1 root =C2=
=A0wheel =C2=A0 365K Oct 27 08:06 aclocal.m4<br>-rwxr-xr-x =C2=A0 1 root =
=C2=A0wheel =C2=A0 7.2K Oct 27 08:06 compile<br>-rwxr-xr-x =C2=A0 1 root =
=C2=A0wheel =C2=A0 =C2=A048K Oct 27 08:06 config.guess<br>-rwxr-xr-x =C2=A0=
 1 root =C2=A0wheel =C2=A0 =C2=A035K Oct 27 08:06 config.sub<br>-rwxr-xr-x =
=C2=A0 1 root =C2=A0wheel =C2=A0 485K Oct 27 08:06 configure<br>-rw-r--r-- =
=C2=A0 1 root =C2=A0wheel =C2=A0 8.5K Oct 27 08:06 <a href=3D"http://config=
ure.ac">configure.ac</a><br>-rwxr-xr-x =C2=A0 1 root =C2=A0wheel =C2=A0 =C2=
=A023K Oct 27 08:06 depcomp<br>-rwxr-xr-x =C2=A0 1 root =C2=A0wheel =C2=A0 =
=C2=A015K Oct 27 08:06 install-sh<br>-rwxr-xr-x =C2=A0 1 root =C2=A0wheel =
=C2=A0 320K Oct 27 08:06 ltmain.sh<br>-rwxr-xr-x =C2=A0 1 root =C2=A0wheel =
=C2=A0 6.7K Oct 27 08:06 missing<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =
=C2=A0 717K Oct 27 08:06 shell.c<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =
=C2=A0 8.7K Oct 27 08:06 sqlite3.1<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =
=C2=A0 8.2M Oct 27 08:06 sqlite3.c<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =
=C2=A0 599K Oct 27 08:06 sqlite3.h<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =
=C2=A0 267B Oct 27 08:06 <a href=3D"http://sqlite3.pc.in">sqlite3.pc.in</a>=
<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =C2=A0 1.9K Oct 27 08:06 sqlite3.r=
c<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =C2=A0 =C2=A036K Oct 27 08:06 sql=
ite3ext.h<br>-rw-r--r-- =C2=A0 1 root =C2=A0wheel =C2=A0 =C2=A078B Oct 27 0=
8:06 sqlite3rc.h<br>drwxr-xr-x =C2=A0 6 root =C2=A0wheel =C2=A0 512B Oct 27=
 08:06 tea<br></div><div><br></div><div>root@generic:/usr/src/contrib/sqlit=
e3 # cc -DSQLITE_THREADSAFE=3D0 -DSQLITE_OMIT_LOAD_EXTENSION shell.c sqlite=
3.c -o sqlite3</div><div><br></div><div>I&#39;ve manually invoked the first=
 compilation command inside the sqlite3 source directory and it works just =
fine as seen below.<br></div><div><br></div><div>root@generic:/usr/src/cont=
rib/sqlite3 # cc =C2=A0-O2 -pipe -fno-common =C2=A0 -I/usr/src/contrib/sqli=
te3 =C2=A0-DSQLITE_THREADSAFE=3D0 =C2=A0-DSQLITE_OMIT_LOAD_EXTENSION -fPIE =
-g -gz=3Dzlib -MD =C2=A0-MF.depend.sqlite3.o -MTsqlite3.o -std=3Dgnu99 -Wno=
-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wall=
 -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-pro=
totypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -Wno-empty-bod=
y -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=3Dunused-but-s=
et-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-eq=
uality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef =
-Wno-address-of-packed-member =C2=A0-Qunused-arguments -c /usr/src/contrib/=
sqlite3/sqlite3.c -o sqlite3.o</div><div><br></div><div>The second compilat=
ion command below seems to break even when compiled manually.</div><div><br=
></div><div>
cc -O2 -pipe -fno-common -I/usr/src/contrib/sqlite3=20
-DSQLITE_THREADSAFE=3D1 -DSQLITE_OMIT_LOAD_EXTENSION -fPIE -g -gz=3Dzlib=20
-std=3Dgnu99 -Wno-format-zero-length -fstack-protector-strong=20
-Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter=20
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith=20
-Wno-uninitialized -Wno-pointer-sign -Wno-empty-body=20
-Wno-string-plus-int -Wno-unused-const-variable=20
-Wno-error=3Dunused-but-set-variable -Wno-tautological-compare=20
-Wno-unused-value -Wno-parentheses-equality -Wno-unused-function=20
-Wno-enum-conversion -Wno-unused-local-typedef=20
-Wno-address-of-packed-member -Qunused-arguments =C2=A0-Wl,-zrelro -pie =C2=
=A0 -o=20
sqlite3.full sqlite3.o =C2=A0-L/usr/obj/usr/src/arm64.aarch64/lib/libthr=20
-lpthread<br>ld: error: undefined symbol: main<br>&gt;&gt;&gt; referenced b=
y crt1_c.c:72 (/usr/src/lib/csu/aarch64/crt1_c.c:72)<br>&gt;&gt;&gt; =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /usr/lib/Scrt1.o:(__start)<br>cc=
: error: linker command failed with exit code 1 (use -v to see invocation)<=
br>*** Error code 1<br><br>Stop.<br>make: stopped in /usr/src/usr.bin/sqlit=
e3 <br></div><div><br></div><div>Just want to solicit if you have an idea o=
f this particular problem or you might have encountered this problem before=
?</div><div><br></div><div>Thanks and best regards,</div><div>Archimedes<br=
></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br=
></div><div><br></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><div>=C2=A0 <br><=
/div></div></div>
</blockquote></div></div>

--0000000000006234a705ee5c33c4--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJFbk7F_6JKerboLPQGXaemSQp7-cCJ-WSeyE2JVs%2BAEgkSmBw>